[all-commits] [llvm/llvm-project] f3029b: [NFC][LoopVectorize] Avoid passing ScalarEvolution...
Victor Campos via All-commits
all-commits at lists.llvm.org
Fri Sep 20 06:56:29 PDT 2024
Branch: refs/heads/users/vhscampos/smallset-simplify
Home: https://github.com/llvm/llvm-project
Commit: f3029b330ad0ddc8e82a9837cdcc8a7c81cd2602
https://github.com/llvm/llvm-project/commit/f3029b330ad0ddc8e82a9837cdcc8a7c81cd2602
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[NFC][LoopVectorize] Avoid passing ScalarEvolution to VPlanTransforms::optimize (#108380)
Whilst trying to write some VPlan unit tests I realised
that we don't need to pass a ScalarEvolution object into
VPlanTransforms::optimize because the only thing we
actually need is a LLVMContext.
Commit: eb11f576a4ffe9cc77d2010b5449bd7780472e2d
https://github.com/llvm/llvm-project/commit/eb11f576a4ffe9cc77d2010b5449bd7780472e2d
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/tools/dsymutil/MachODebugMapParser.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm][tools] Strip unneeded uses of raw_string_ostream::str() (NFC)
Remove excess layer of indirection.
Commit: 7574e1ddc4be63628cb7617857cc8938058a79d2
https://github.com/llvm/llvm-project/commit/7574e1ddc4be63628cb7617857cc8938058a79d2
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/test/tools/llvm-ml/rip_relative_addressing.asm
Log Message:
-----------
Reland [llvm-ml] Fix RIP-relative addressing for ptr operands (#108061)
Relands #107618 with fix for assertion triggered by OpenMP runtime MASM
assembly source.
Commit: 992a64aad388b4e809ac3123ea1d48fed4f35244
https://github.com/llvm/llvm-project/commit/992a64aad388b4e809ac3123ea1d48fed4f35244
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
Log Message:
-----------
[Clang][SVE] Change LLVM representation of ACLE tuple types to be struct based. (#108008)
This implements our original design now that LLVM is comfortable with
structs and arrays of scalable vector types. All SVE ACLE intrinsics
already use struct types so the effect of this change is purely the
types used for alloca and function parameters.
There should be no C/C++ user visible change with this patch.
Commit: 8e10a3f80e264aaa186ab3cc74fea840f453c66d
https://github.com/llvm/llvm-project/commit/8e10a3f80e264aaa186ab3cc74fea840f453c66d
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol09.f90
Log Message:
-----------
[flang][OpenMP] don't privatise loop index marked shared (#108176)
Mark the symbol with OmpShared, and then check that later in lowering to
avoid making a local loop index.
OpenMP 5.2 says: "Loop iteration variables of loops that are not associated
with any OpenMP directive maybe listed in data-sharing attribute clauses on
the surrounding teams, parallel or taskgenerating construct, and on enclosed
constructs, subject to other restrictions."
Tests updated to match the extra OmpShared attribute.
Add regression test for lowering to hlfir.
Closes #102961
---------
Co-authored-by: Tom Eccles <tom.eccles at arm.com>
Commit: 6568062ff1821f561c834f9f216fba0293e6f1c4
https://github.com/llvm/llvm-project/commit/6568062ff1821f561c834f9f216fba0293e6f1c4
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/mlir-tblgen/openmp-clause-ops.td
M mlir/test/mlir-tblgen/openmp-ops-verify.td
M mlir/test/mlir-tblgen/openmp-ops.td
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
Log Message:
-----------
[MLIR][OpenMP] Improve assemblyFormat handling for clause-based ops (#108023)
This patch modifies the representation of `OpenMP_Clause` to allow
definitions to incorporate both required and optional arguments while
still allowing operations including them and overriding the
`assemblyFormat` to take advantage of automatically-populated format
strings.
The proposed approach is to split the `assemblyFormat` clause property
into `reqAssemblyFormat` and `optAssemblyFormat`, and remove the
`isRequired` template and associated `required` property. The
`OpenMP_Op` class, in turn, populates the new `clausesReqAssemblyFormat`
and `clausesOptAssemblyFormat` properties in addition to
`clausesAssemblyFormat`. These properties can be used by clause-based
OpenMP operation definitions to reconstruct parts of the
clause-inherited format string in a more flexible way when overriding
it.
Clause definitions are updated to follow this new approach and some
operation definitions overriding the `assemblyFormat` are simplified by
taking advantage of the improved flexibility, reducing code duplication.
The `verify-openmp-ops` tablegen pass is updated for the new
`OpenMP_Clause` representation.
Some MLIR and Flang unit tests had to be updated due to changes to the
default printing order of clauses on updated operations.
Commit: 76fd69be74e3a52cec77d5401003469791ef9834
https://github.com/llvm/llvm-project/commit/76fd69be74e3a52cec77d5401003469791ef9834
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Simplify VPBuilder insert point when live outs for FORs.
Simplifies setting the insert point, addressing a TODO.
Commit: a41bb71f2216cef08ab04f1d730ae1701c145f3c
https://github.com/llvm/llvm-project/commit/a41bb71f2216cef08ab04f1d730ae1701c145f3c
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64-error.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
Log Message:
-----------
[X86][test] Avoid writing to a potentially write-protected dir
see https://github.com/llvm/llvm-project/pull/108525 (#108525)
for a409ebc1fc136be4004073a12cd7f847a5f3a588
Commit: 50d2b6ac9e2aabd25724768a822a0398f2ca5a06
https://github.com/llvm/llvm-project/commit/50d2b6ac9e2aabd25724768a822a0398f2ca5a06
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] Fix various typos and whitespace in HelpText. (#108527)
Commit: 90a2e0bb423629b7e70f4b91adb44851199dd5ea
https://github.com/llvm/llvm-project/commit/90a2e0bb423629b7e70f4b91adb44851199dd5ea
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang] Silence GCC warnings about control reaching end of non void function
This fixes GCC warnings since
e7f782e7481cea23ef452a75607d3d61f5bd0d22.
Commit: 471360b2241aaca8ffe457ac796e01d4f0988e6a
https://github.com/llvm/llvm-project/commit/471360b2241aaca8ffe457ac796e01d4f0988e6a
Author: Congcong Cai <congcong.cai at bmw.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] fix typo in release note
Commit: 9282c9d282e8062965f20d4ef89324cc96b92447
https://github.com/llvm/llvm-project/commit/9282c9d282e8062965f20d4ef89324cc96b92447
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
Log Message:
-----------
[libc++] Avoid name conflict with declaration in <unistd.h>
It appears that ::link is also declared as another kind of symbol
in <unistd.h>, which we seem to get transitively when we start using
a single top-level module. Instead of declaring these names as global
extern variables, use function parameters to achieve the same thing.
Commit: c34aca8ddc214b2ade997085e56689378ef1a8d0
https://github.com/llvm/llvm-project/commit/c34aca8ddc214b2ade997085e56689378ef1a8d0
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libcxx/include/experimental/__simd/vec_ext.h
Log Message:
-----------
[libc++][NFC] Remove unnecessary unsigned comparison with 0 (#108391)
This fixes a `-Wtype-limits` warning emitted when this file is compiled
with GCC when assertions are enabled.
Commit: 6be9be5e0b4ba9d561dc005bea4eace40b53510d
https://github.com/llvm/llvm-project/commit/6be9be5e0b4ba9d561dc005bea4eace40b53510d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MapFile.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/PDB.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF][NFC] Store live flag in ImportThunkChunk. (#108459)
Instead of ImportFile. This is a preparation for ARM64EC support, which
has both x86 and ARM64EC thunks and each of them needs a separate flag.
Commit: 387bee91f095c197270b4d0a9e19cc86b2edea73
https://github.com/llvm/llvm-project/commit/387bee91f095c197270b4d0a9e19cc86b2edea73
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/unittests/Bitcode/BitReaderTest.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
Log Message:
-----------
[llvm][unittests] Strip unneeded uses of raw_string_ostream::str() (NFC)
Avoid excess layer of indirection.
Commit: 69a21154caa5b53d302cd3bfd7ce0ec1a0c3d985
https://github.com/llvm/llvm-project/commit/69a21154caa5b53d302cd3bfd7ce0ec1a0c3d985
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/expand-select.ll
Log Message:
-----------
[DAG] Fold trunc(srl(extract_elt(vec,c1),c2)) -> extract_elt(bitcast(vec),c3) (#107987)
Extends existing trunc(extract_elt(vec,c1)) -> extract_elt(bitcast(vec),c3) fold.
Noticed while working on #107404
Commit: a3ea018d4900691e10ff6fd059cf07f33e949819
https://github.com/llvm/llvm-project/commit/a3ea018d4900691e10ff6fd059cf07f33e949819
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[X86] Use MCRegister in X86AsmParser. (#108509)
Commit: ee4582f9c8c395b1a9d901b522510af622206049
https://github.com/llvm/llvm-project/commit/ee4582f9c8c395b1a9d901b522510af622206049
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use CCValAssign::getCustomReg for fixed vector arguments/returns with RVV. (#108470)
We need to insert a insert_subvector or extract_subvector which feels
pretty custom.
This should make it easier to support fixed vector arguments for GISel.
Commit: 4a9b6b05c50a66f7dac6871f89a76daf77827c8d
https://github.com/llvm/llvm-project/commit/4a9b6b05c50a66f7dac6871f89a76daf77827c8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Cleanup lowerShuffleToEXPAND arg layout. NFC.
Reorder the arg layout to match (most) other lowerShuffle* calls.
Rename to lowerShuffleWithEXPAND to match other lowering cases where we lower to a single node.
Commit: 326287fd5b7b38987dbfbe80013225485d261790
https://github.com/llvm/llvm-project/commit/326287fd5b7b38987dbfbe80013225485d261790
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/Dialect/Linalg/winograd-conv2d.mlir
Log Message:
-----------
Add missing FillOp to winograd lowering (#108181)
Winograd lowering involves a number of matmul and batch_matmul which
are currently passed tensor.empty result as out parameter, thereby
are undefined behaviour. This commit adds the necessary linalg.fill.
---------
Co-authored-by: Max191 <44243577+Max191 at users.noreply.github.com>
Commit: 387ef59ab9520c0811bf555679dd8ff0a60417c6
https://github.com/llvm/llvm-project/commit/387ef59ab9520c0811bf555679dd8ff0a60417c6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangTypeNodesEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change TypeNodesEmitter to use const RecordKeeper (#108476)
Change TypeNodesEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: f637273d7708da0a01c3adb2bb85ae1c541f46a1
https://github.com/llvm/llvm-project/commit/f637273d7708da0a01c3adb2bb85ae1c541f46a1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangSACheckersEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change SACheckersEmitter to use const RecordKeeper (#108477)
Change SACheckersEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: d757bbf68f35dbcfd68580e3798cf301862dd314
https://github.com/llvm/llvm-project/commit/d757bbf68f35dbcfd68580e3798cf301862dd314
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change SyntaxEmitter to use const RecordKeeper (#108478)
Change SyntaxEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 75d87247871110efe83edcb0107176614f88a5d9
https://github.com/llvm/llvm-project/commit/75d87247871110efe83edcb0107176614f88a5d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change MVE Emitter to use const RecordKeeper (#108500)
Change MVE Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: a4b161736881634baac52163ceca62a595843054
https://github.com/llvm/llvm-project/commit/a4b161736881634baac52163ceca62a595843054
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change NeonEmitter to use const RecordKeeper (#108501)
Change NeonEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 974fa8522be37eb0a111fee004b0bc8a9debf9fc
https://github.com/llvm/llvm-project/commit/974fa8522be37eb0a111fee004b0bc8a9debf9fc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change RISCVVEmitter to use const RecordKeeper (#108502)
Change RISCVVEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: ab06a18b59eddfa0719faa1fe40e83829939c6db
https://github.com/llvm/llvm-project/commit/ab06a18b59eddfa0719faa1fe40e83829939c6db
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
Log Message:
-----------
[IRSim] Avoid repeated hash lookups (NFC) (#108483)
Commit: 711278e273826f3903cef448f433fe2135c569c6
https://github.com/llvm/llvm-project/commit/711278e273826f3903cef448f433fe2135c569c6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang][TableGen] Change SVE Emitter to use const RecordKeeper (#108503)
Change SVE Emitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 99fe5954d258511ec2e36e8c7f612568e9701ab7
https://github.com/llvm/llvm-project/commit/99fe5954d258511ec2e36e8c7f612568e9701ab7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_gettime.h
Log Message:
-----------
[libc] implement clock_gettime using vDSO (#108458)
supersedes https://github.com/llvm/llvm-project/pull/91805
Commit: ea5d37f4c1fd9c0850bee35958568a8b6596b3f9
https://github.com/llvm/llvm-project/commit/ea5d37f4c1fd9c0850bee35958568a8b6596b3f9
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lld/COFF/Chunks.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Add Support for ARM64EC Import Thunks (#108460)
ARM64EC import thunks function similarly to regular ARM64 thunks but use
a mangled name and perform the call through the auxiliary IAT.
Commit: a6438360d416f4529574eebf6aa65b80d48ef85e
https://github.com/llvm/llvm-project/commit/a6438360d416f4529574eebf6aa65b80d48ef85e
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libc/src/__support/OSUtil/linux/vdso_sym.h
Log Message:
-----------
[libc] fix build issue in overlay mode (#108583)
Commit: ff1de24a16c8f4dddc4381df00fe15e42891508b
https://github.com/llvm/llvm-project/commit/ff1de24a16c8f4dddc4381df00fe15e42891508b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/LlvmState.h
Log Message:
-----------
[llvm-exegesis] Remove getter for RegNameToRegNo mapping
This patch removes the getter for the mentioned mapping. This was only
kept around to keep things in sync for some downstream codebases (that
didn't even end up needing it), so removing it now that it is not needed
anymore.
Commit: ffeb793f3a90623ab3c7f33f922d48a1f5f97cdf
https://github.com/llvm/llvm-project/commit/ffeb793f3a90623ab3c7f33f922d48a1f5f97cdf
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[clang][analyzer][docs] Fix documentation of checker 'StackAddrAsyncEscape' (NFC) (#108586)
The checker was indicated as a 'C' language checker but is only applicable to 'ObjC' code.
Commit: 213c59ddd2a702ddd3d849cea250440b1ed718e0
https://github.com/llvm/llvm-project/commit/213c59ddd2a702ddd3d849cea250440b1ed718e0
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
Log Message:
-----------
[lldb] Add pc check for thread-step-by-bp algorithms (#108504)
lldb-server built with NativeProcessLinux.cpp and
NativeProcessFreeBSD.cpp can use breakpoints to implement instruction
stepping on cores where there is no native instruction-step primitive.
Currently these set a breakpoint, continue, and if we hit the breakpoint
with the original thread, set the stop reason to be "trace".
I am wrapping up a change to lldb's breakpoint algorithm where I change
its current behavior of
"if a thread stops at a breakpoint site, we set
the thread's stop reason to breakpoint-hit, even if the breakpoint
hasn't been executed" +
"when resuming any thread at a breakpoint site, instruction-step past
the breakpoint before resuming"
to a behavior of
"when a thread executes a breakpoint, set the stop reason to
breakpoint-hit" +
"when a thread has hit a breakpoint, when the thread resumes, we
silently step past the breakpoint and then resume the thread".
For these lldb-server targets doing breakpoint stepping, this means that
if we are sitting on a breakpoint that has not yet executed, and
instruction-step the thread, we will execute the breakpoint instruction
at $pc (instead of $next-pc where it meant to go), and stop again -- at
the same pc value. Then we will rewrite the stop reason to 'trace'. The
higher level logic will see that we haven't hit the breakpoint
instruction again, so it will try to instruction step again, hitting the
breakpoint again forever.
To fix this, I'm checking that the thread matches the one we are
instruction-stepping-by-breakpoint AND that we've stopped at the
breakpoint address we are stepping to. Only in that case will the stop
reason be rewritten to "trace" hiding the implementation detail that the
step was done by breakpoints.
Commit: 65a4d11b1e67429d53df1fcee0f93492aa95c448
https://github.com/llvm/llvm-project/commit/65a4d11b1e67429d53df1fcee0f93492aa95c448
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Set the stop reason when receiving swbreak/hwbreak (#108518)
xusheng added support for swbreak/hwbreak a month ago, and no special
support was needed in ProcessGDBRemote when they're received because
lldb already marks a thread as having hit a breakpoint when it stops at
a breakpoint site. However, with changes I am working on, we need to
know the real stop reason a thread stopped or the breakpoint hit will
not be recognized.
This is similar to how lldb processes the "watch/rwatch/awatch" keys in
a thread stop packet -- we set the `reason` to `watchpoint`, and these
set it to `breakpoint` so we set the stop reason correctly later in
these methods.
Commit: 51f552568901b069f04edd9eacac89be452bfadf
https://github.com/llvm/llvm-project/commit/51f552568901b069f04edd9eacac89be452bfadf
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
Log Message:
-----------
[libc++][NFC] Mark P1869R1 as implemented (#107746)
https://wg21.link/p1869r1: Rename `condition_variable_any` interruptible
wait methods
The paper was implemented as experimental feature in Clang 18 in:
https://github.com/llvm/llvm-project/commit/4fa812bb52a5b1eea22750a1b59f94221d0df622
Experimental status removed in:
https://github.com/llvm/llvm-project/pull/107900
Closes https://github.com/llvm/llvm-project/issues/100031
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 82987bd9da1fd22a9d05148e8f74142aaf7ec4d0
https://github.com/llvm/llvm-project/commit/82987bd9da1fd22a9d05148e8f74142aaf7ec4d0
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libc/src/__support/time/linux/CMakeLists.txt
Log Message:
-----------
[libc] fix dependency path for vDSO (#108591)
Commit: cd6844c45cbe9a5c4cf055142c4026dc408a8243
https://github.com/llvm/llvm-project/commit/cd6844c45cbe9a5c4cf055142c4026dc408a8243
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c
Log Message:
-----------
[PowerPC][NFC] autogen mma tc checks via update_cc_test_checks (#108584)
Update mma tests in prep for changes needed in a followup patch for
https://github.com/llvm/llvm-project/issues/107229.
Checks for ``clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c``
seem to have been manually upated to rename temp variables even though
it says checks was auto generated. Regenerate via script.
Add noopt checks for
``clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c``.
Commit: 661382f2c07ba464caa0ad0fb8c64c1c3b20e9a4
https://github.com/llvm/llvm-project/commit/661382f2c07ba464caa0ad0fb8c64c1c3b20e9a4
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[LLDB][Minidump] Minidump erase file on failure (#108259)
In #95312 Minidump file creation was moved from being created at the
end, to the file being emitted in chunks. This causes some undesirable
behavior where the file can still be present after an error has
occurred. To resolve this we will now delete the file upon an error.
Commit: f0f1b706e2333ecbe3027a3da5ae7b1ff5c1cfc4
https://github.com/llvm/llvm-project/commit/f0f1b706e2333ecbe3027a3da5ae7b1ff5c1cfc4
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR][PassRegistry] Parse pipeline string (#108103)
This patch implements a simple version of the pipeline parsing function.
It currently only handles a single FPM and adds function passes to it.
Commit: 8e2843b471c5efb5e5df6e0e285bfdc72dff6f17
https://github.com/llvm/llvm-project/commit/8e2843b471c5efb5e5df6e0e285bfdc72dff6f17
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Change Zvbb and Zvkb from 'Assembly Support' to Supported. NFC (#108572)
We have generic isel support for Zvkb and Zvbb.
Commit: f902339d7f24a278b9c77d0226053075bd232ee5
https://github.com/llvm/llvm-project/commit/f902339d7f24a278b9c77d0226053075bd232ee5
Author: James Y Knight <jyknight at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Headers/module.modulemap
Log Message:
-----------
Adjust modulemap to mark mm3dnow as textual header. (#107155)
This avoids issuing the deprecation diagnostic when building the module.
Not building it into a module shouldn't cause any negative impacts,
since it no longer has any declarations other than the header guard.
It's also very rarely included by anything.
Addresses
https://github.com/llvm/llvm-project/pull/96246#issuecomment-2322453809
Commit: fffc7fb7ad48d64d164565fdf54bec25267c9d22
https://github.com/llvm/llvm-project/commit/fffc7fb7ad48d64d164565fdf54bec25267c9d22
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement DSOLocalEquivalent (#108473)
This patch implements sandboxir::DSOLocalEquivalent mirroring
llvm::DSOLocalEquivalent.
Commit: 02e4186d0b3508e79d78b0ec844518b13a3fe9ea
https://github.com/llvm/llvm-project/commit/02e4186d0b3508e79d78b0ec844518b13a3fe9ea
Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/x86-march.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Preprocessor/predefined-arch-macros.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
M llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/cpus-amd.ll
M llvm/test/CodeGen/X86/rdpru.ll
M llvm/test/CodeGen/X86/shuffle-as-shifts.ll
M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
M llvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilps-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckps-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-fast-per-lane.ll
M llvm/test/CodeGen/X86/vpdpwssd.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
M llvm/test/MC/X86/x86_long_nop.s
M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr63668.ll
Log Message:
-----------
[X86] AMD Zen 5 Initial enablement (#107964)
This patch enables the basic skeleton enablement of AMD next gen zen5 CPUs.
Commit: b9d85b1263efa8c4953f8cf10999ee165f32922e
https://github.com/llvm/llvm-project/commit/b9d85b1263efa8c4953f8cf10999ee165f32922e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[CodeGen] Use DenseMap::operator[] (NFC) (#108489)
Once we modernize CopyInfo with default member initializations,
Copies.insert({Unit, ...})
becomes equivalent to:
Copies.try_emplace(Unit)
which we can simplify further down to Copies[Unit].
Commit: 4ef16e3160750717f447fd76e2383c10b68eb5ae
https://github.com/llvm/llvm-project/commit/4ef16e3160750717f447fd76e2383c10b68eb5ae
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
Log Message:
-----------
[NFC][clang-tidy] document fix to bugprone-return-const-ref-from-parameter (#107641)
Describe how the issue that is diagnosed by this check can be resolved.
Namely, by adding an overload for the xvalue case (`&&` parameter).
Fixes #107600
Commit: a953982cb7dee0678bb5f7c2febe4c3b8b718c7a
https://github.com/llvm/llvm-project/commit/a953982cb7dee0678bb5f7c2febe4c3b8b718c7a
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[mlir][GPU] Plumb range information through the NVVM lowerings (#107659)
Update the GPU to NVVM lowerings to correctly propagate range
information on IDs and dimension queries, etiher from
known_{block,grid}_size attributes or from `upperBound` annotations on
the operations themselves.
Commit: 02d8813820b1ebf3fae6993e677db269f0077272
https://github.com/llvm/llvm-project/commit/02d8813820b1ebf3fae6993e677db269f0077272
Author: jimingham <jingham at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/docs/resources/sbapi.rst
Log Message:
-----------
Add a comment in the SB API doc about keeping the SB API's lightweight. (#108462)
Commit: b6bf27ef3c179eefd805f39aa681705fc980ceed
https://github.com/llvm/llvm-project/commit/b6bf27ef3c179eefd805f39aa681705fc980ceed
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/include/lldb/API/SBValue.h
M lldb/source/API/SBValue.cpp
Log Message:
-----------
Avoid expression evaluation in libStdC++ std::vector<bool> synthetic children provider (#108414)
Our customers is reporting a serious performance issue (expanding a this
pointer takes 70 seconds in VSCode) in a specific execution context.
Profiling shows the hot path is triggered by an expression evaluation
from libStdC++ synthetic children provider for `std::vector<bool>` since
it uses `CreateValueFromExpression()`.
This PR added a new `SBValue::CreateBoolValue()` API and switch
`std::vector<bool>` synthetic children provider to use the new API
without performing expression evaluation.
Note: there might be other cases of `CreateValueFromExpression()` in our
summary/synthetic children providers which I will sweep through in later
PRs.
With this PR, the customer's scenario reduces from 70 seconds => 50
seconds. I will add other PRs to further optimize the remaining 50
seconds (mostly from type/namespace lookup).
Testing:
`test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py`
passes with the PR
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 0351dc522a25df0473a63b414a5bfde5814d3dc3
https://github.com/llvm/llvm-project/commit/0351dc522a25df0473a63b414a5bfde5814d3dc3
Author: Alex Langford <alangford at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created (#106791)
Summary:
This improves the performance of ObjectFileMacho::ParseSymtab by
removing eager and expensive work in favor of doing it later in a
less-expensive fashion.
Experiment:
My goal was to understand LLDB's startup time.
First, I produced a Debug build of LLDB (no dSYM) and a
Release+NoAsserts build of LLDB. The Release build debugged the Debug
build as it debugged a small C++ program. I found that
ObjectFileMachO::ParseSymtab accounted for somewhere between 1.2 and 1.3
seconds consistently. After applying this change, I consistently
measured a reduction of approximately 100ms, putting the time closer to
1.1s and 1.2s on average.
Background:
ObjectFileMachO::ParseSymtab will incrementally create symbols by
parsing nlist entries from the symtab section of a MachO binary. As it
does this, it eagerly tries to determine the size of symbols (e.g. how
long a function is) using LC_FUNCTION_STARTS data (or eh_frame if
LC_FUNCTION_STARTS is unavailable). Concretely, this is done by
performing a binary search on the function starts array and calculating
the distance to the next function or the end of the section (whichever
is smaller).
However, this work is unnecessary for 2 reasons:
1. If you have debug symbol entries (i.e. STABs), the size of a function
is usually stored right after the function's entry. Performing this work
right before parsing the next entry is unnecessary work.
2. Calculating symbol sizes for symbols of size 0 is already performed
in `Symtab::InitAddressIndexes` after all the symbols are added to the
Symtab. It also does this more efficiently by walking over a list of
symbols sorted by address, so the work to calculate the size per symbol
is constant instead of O(log n).
Commit: 3a274584ebbcad6500efc4083bb53c1af565e294
https://github.com/llvm/llvm-project/commit/3a274584ebbcad6500efc4083bb53c1af565e294
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[LiveDebugValues] Avoid repeated hash lookups (NFC) (#108484)
Commit: 758230827d59ab312515e7ad9e6d25b799dedd46
https://github.com/llvm/llvm-project/commit/758230827d59ab312515e7ad9e6d25b799dedd46
Author: David Green <david.green at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/shift.ll
Log Message:
-----------
[AArch64][GISel] Scalarize i128 vector shifts.
Like most other i128 operations, this adds scalarization for i128 vector
shifts. Which in turn allows a few other operations to legalize too.
Commit: 3a4b30e11eb8a2015aac185cd2368f4dc3ed1e53
https://github.com/llvm/llvm-project/commit/3a4b30e11eb8a2015aac185cd2368f4dc3ed1e53
Author: David Green <david.green at arm.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/icmp.ll
Log Message:
-----------
[AArch64][GISel] Scalarize i128 ICmp and Select.
Similar to other i128 bit operations, we scalarizer any icmps or selects larger
than 64bits.
Commit: d4f41befb7256f8e8378ae358b2b3d802454d6a4
https://github.com/llvm/llvm-project/commit/d4f41befb7256f8e8378ae358b2b3d802454d6a4
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
A clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c
A clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c.expected
A clang/test/utils/update-verify-tests/Inputs/infer-indentation.c
A clang/test/utils/update-verify-tests/Inputs/infer-indentation.c.expected
A clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c
A clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/multiple-errors.c
A clang/test/utils/update-verify-tests/Inputs/multiple-errors.c.expected
A clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c
A clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-checks.c
A clang/test/utils/update-verify-tests/Inputs/no-checks.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-diags.c
A clang/test/utils/update-verify-tests/Inputs/no-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c
A clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c
A clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c.expected
A clang/test/utils/update-verify-tests/Inputs/update-same-line.c
A clang/test/utils/update-verify-tests/Inputs/update-same-line.c.expected
A clang/test/utils/update-verify-tests/Inputs/update-single-check.c
A clang/test/utils/update-verify-tests/Inputs/update-single-check.c.expected
A clang/test/utils/update-verify-tests/duplicate-diag.test
A clang/test/utils/update-verify-tests/infer-indentation.test
A clang/test/utils/update-verify-tests/leave-existing-diags.test
A clang/test/utils/update-verify-tests/lit.local.cfg
A clang/test/utils/update-verify-tests/multiple-errors.test
A clang/test/utils/update-verify-tests/multiple-missing-errors-same-line.test
A clang/test/utils/update-verify-tests/no-checks.test
A clang/test/utils/update-verify-tests/no-diags.test
A clang/test/utils/update-verify-tests/no-expected-diags.test
A clang/test/utils/update-verify-tests/non-default-prefix.test
A clang/test/utils/update-verify-tests/update-same-line.test
A clang/test/utils/update-verify-tests/update-single-check.test
A clang/utils/UpdateVerifyTests/core.py
A clang/utils/update-verify-tests.py
Log Message:
-----------
[Utils] add update-verify-tests.py (#97369)
Adds a python script to automatically take output from a failed clang
-verify test and update the test case(s) to expect the new behaviour.
Commit: 4c040c027575f3a30dc94bfab4c975567195bdc7
https://github.com/llvm/llvm-project/commit/4c040c027575f3a30dc94bfab4c975567195bdc7
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
A llvm/lib/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Move Shape to its own header (#108242)
* To create custom ABIs plugin libraries need access to CoroShape.
* As a step in enabling plugin libraries, move Shape into its own header
* The header will eventually be moved into include/llvm/Transforms/Coroutines
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Commit: d0e7714de73b8b657dca1706e676027d42bbb775
https://github.com/llvm/llvm-project/commit/d0e7714de73b8b657dca1706e676027d42bbb775
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
A llvm/test/Verifier/AMDGPU/intrinsic-prefetch.ll
Log Message:
-----------
[AMDGPU] Error on non-global pointer with s_prefetch_data (#107624)
Commit: d588e49a324b3d6039c19f3108d722a8b9fcd96e
https://github.com/llvm/llvm-project/commit/d588e49a324b3d6039c19f3108d722a8b9fcd96e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Cache `UnresolvedMaterializationRewrite` (#108359)
The dialect conversion maintains a set of unresolved materializations
(`UnrealizedConversionCastOp`). Turn that set into a `DenseMap` that
maps from ops to `UnresolvedMaterializationRewrite *`. This improves
efficiency a bit, because an iteration over
`ConversionPatternRewriterImpl::rewrites` can be avoided.
Also delete some dead code.
Commit: 9f738c84f05ff965b81e0be5cc725af3fa13cbf0
https://github.com/llvm/llvm-project/commit/9f738c84f05ff965b81e0be5cc725af3fa13cbf0
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement GlobalObject (#108604)
This patch implements sandboxir::GlobalObject mirroring
llvm::GlobalObject.
Commit: 39f2d2f156ba8af31a15f6df223d3cb57c7a4906
https://github.com/llvm/llvm-project/commit/39f2d2f156ba8af31a15f6df223d3cb57c7a4906
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
A llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
Log Message:
-----------
[SandboxVec] Boilerplate for vectorization passes (#108603)
This patch implements a new empty pass for the Bottom-up vectorizer and
creates a pass pipeline that includes it.
The SandboxVectorizer LLVM pass runs the Sandbox IR pass pipeline.
Commit: c3ac3fe8259b4ae85736ca81fa30e4098123e0b4
https://github.com/llvm/llvm-project/commit/c3ac3fe8259b4ae85736ca81fa30e4098123e0b4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/include/DeviceTypes.h
M offload/include/Shared/Environment.h
R offload/include/Shared/Types.h
M offload/include/Shared/Utils.h
Log Message:
-----------
[OpenMP] Fix redefining `stdint.h` types (#108607)
Summary:
We can include `stdint.h` just fine as long as we don't allow it to find
system headers, passing `-nostdlibinc` and `-nogpuinc` suppresses these
extra paths so we will just use the clang resource headers for
`stdint.h` and `stddef.h`.
Commit: 98b1d01b42a4bb2e9a53bcab7589e66c5572c37f
https://github.com/llvm/llvm-project/commit/98b1d01b42a4bb2e9a53bcab7589e66c5572c37f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
Log Message:
-----------
[SLP][NFC]Test with incorrect value for phi node with reused scalars, NFC
Commit: c13bf6d4a89b8d62bc6eedf68d810a4584ccc4a8
https://github.com/llvm/llvm-project/commit/c13bf6d4a89b8d62bc6eedf68d810a4584ccc4a8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
Log Message:
-----------
[SLP]Return proper value for phi vectorized node
Should not return the original phi vector instruction, need to return
actual vectorized value as a result.
Commit: 0ba8b247dd63042528850af8cc572dc73225a04c
https://github.com/llvm/llvm-project/commit/0ba8b247dd63042528850af8cc572dc73225a04c
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
A llvm/test/CodeGen/Xtensa/frameaddr-returnaddr.ll
Log Message:
-----------
[Xtensa] Lowering FRAMEADDR/RETURNADDR operations. (#107363)
Commit: 1fc3ca1a121e4ae7d0cc35ee314d3aa4b8c98361
https://github.com/llvm/llvm-project/commit/1fc3ca1a121e4ae7d0cc35ee314d3aa4b8c98361
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV] Add Zvfhmin to RISCVUsage.rst. NFC (#108574)
Commit: 29e5fe78f168a2f67f36cf56ffeff810d7ffcee6
https://github.com/llvm/llvm-project/commit/29e5fe78f168a2f67f36cf56ffeff810d7ffcee6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 39f2d2f156ba
Commit: 21e3a212c570dc80055742ef8abbd0a306ff9135
https://github.com/llvm/llvm-project/commit/21e3a212c570dc80055742ef8abbd0a306ff9135
Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/phi-with-multiple-unsimplifiable-values.ll
Log Message:
-----------
[InstCombine] Replace an integer comparison of a `phi` node with multiple `ucmp`/`scmp` operands and a constant with `phi` of individual comparisons of original intrinsic's arguments (#107769)
When we have a `phi` instruction with more than one of its incoming
values being a call to `ucmp` or `scmp`, which is then compared with an
integer constant, we can move the comparison through the `phi` into the
incoming basic blocks because we know that a comparison of `ucmp`/`scmp`
with a constant will be simplified by the next iteration of InstCombine.
There's a high chance that other similar patterns can be identified, in
which case they can be easily handled by the same code by moving the
check for "simplifiable" instructions into a lambda.
Commit: b659abef48efba6e380c0cc1aeae13e656368011
https://github.com/llvm/llvm-project/commit/b659abef48efba6e380c0cc1aeae13e656368011
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M libc/src/__support/OSUtil/linux/vdso.cpp
Log Message:
-----------
[libc] Fix vdso VER_FLG_BASE redefinition in overlay mod. (#108628)
Commit: 75a57edadc9213bf404c67ff4949217da5b4d0ff
https://github.com/llvm/llvm-project/commit/75a57edadc9213bf404c67ff4949217da5b4d0ff
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
VPlan/Builder: inline VPBuilder::createICmp (NFC) (#105650)
Inline VPBuilder::createICmp in the header, in line with the other
VPBuilder functions.
Commit: b7e585b95e241d0506b6f71d53ff5b6e72a9c8f4
https://github.com/llvm/llvm-project/commit/b7e585b95e241d0506b6f71d53ff5b6e72a9c8f4
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c
R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c.expected
R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c
R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c.expected
R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c
R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c
R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c.expected
R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c
R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-checks.c
R clang/test/utils/update-verify-tests/Inputs/no-checks.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-diags.c
R clang/test/utils/update-verify-tests/Inputs/no-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c
R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c
R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c.expected
R clang/test/utils/update-verify-tests/Inputs/update-same-line.c
R clang/test/utils/update-verify-tests/Inputs/update-same-line.c.expected
R clang/test/utils/update-verify-tests/Inputs/update-single-check.c
R clang/test/utils/update-verify-tests/Inputs/update-single-check.c.expected
R clang/test/utils/update-verify-tests/duplicate-diag.test
R clang/test/utils/update-verify-tests/infer-indentation.test
R clang/test/utils/update-verify-tests/leave-existing-diags.test
R clang/test/utils/update-verify-tests/lit.local.cfg
R clang/test/utils/update-verify-tests/multiple-errors.test
R clang/test/utils/update-verify-tests/multiple-missing-errors-same-line.test
R clang/test/utils/update-verify-tests/no-checks.test
R clang/test/utils/update-verify-tests/no-diags.test
R clang/test/utils/update-verify-tests/no-expected-diags.test
R clang/test/utils/update-verify-tests/non-default-prefix.test
R clang/test/utils/update-verify-tests/update-same-line.test
R clang/test/utils/update-verify-tests/update-single-check.test
R clang/utils/UpdateVerifyTests/core.py
R clang/utils/update-verify-tests.py
Log Message:
-----------
Revert "[Utils] add update-verify-tests.py" (#108630)
Reverts llvm/llvm-project#97369
Commit: acf90fd03f8deb036847cbdf6bfd4ae47d88ba6a
https://github.com/llvm/llvm-project/commit/acf90fd03f8deb036847cbdf6bfd4ae47d88ba6a
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/test/MC/WebAssembly/basic-assembly.s
A llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Create separate file for EH assembly tests (#108472)
Create `eh-assembly.s` that contains EH tests and remove EH tests from
`basic-assembly.s`, given that it's easier to manage. (We can have many
different tests, including the legacy EH and the new exnref, and with
nesting for readability)
Commit: b74e7792194d9a8a9ef32c7dc1ffcd205b299336
https://github.com/llvm/llvm-project/commit/b74e7792194d9a8a9ef32c7dc1ffcd205b299336
Author: Lawrence Benson <github at lawben.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[x86] Add lowering for `@llvm.experimental.vector.compress` (#104904)
This is a follow-up to #92289 that adds lowering of the new
`@llvm.experimental.vector.compress` intrinsic on x86 with AVX512
instructions. This intrinsic maps directly to `vpcompress`.
Commit: aca226c0f89a049d9251eb0a097821b1acf9a316
https://github.com/llvm/llvm-project/commit/aca226c0f89a049d9251eb0a097821b1acf9a316
Author: Pranav Kant <prka at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fix build break for SandboxVectorizer (#108638)
Fixes
https://github.com/llvm/llvm-project/commit/39f2d2f156ba8af31a15f6df223d3cb57c7a4906
Commit: ae3e82585e61eca1ee6100e81cde68b608faf0a8
https://github.com/llvm/llvm-project/commit/ae3e82585e61eca1ee6100e81cde68b608faf0a8
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement GlobalIFunc (#108622)
This patch implements sandboxir::GlobalIFunc mirroring
llvm::GlobalIFunc.
Commit: 5130f3236f855436f4fa78a8ad7be0b39e638741
https://github.com/llvm/llvm-project/commit/5130f3236f855436f4fa78a8ad7be0b39e638741
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
A llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
Log Message:
-----------
[SandboxVec] User-defined pass pipeline (#108625)
This patch adds support for a user-defined pass-pipeline that overrides
the default pipeline of the vectorizer.
This will commonly be used by lit tests.
Commit: a26ec542371652e1d774696e90016fd5b0b1c191
https://github.com/llvm/llvm-project/commit/a26ec542371652e1d774696e90016fd5b0b1c191
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Tooling/CompilationDatabase.h
M clang/lib/Tooling/CMakeLists.txt
A clang/lib/Tooling/LocateToolCompilationDatabase.cpp
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
A clang/test/ClangScanDeps/resolve-executable-path.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Infer the tool locations from PATH (#108539)
This allows the clang driver to know which tool is meant to be executed,
which allows the clang driver to load the right clang config files, and
allows clang to find colocated sysroots.
This makes sure that doing `clang-scan-deps -- <tool> ...` looks up
things in the same way as if one just would execute `<tool> ...`, when
`<tool>` isn't an absolute or relative path.
Commit: 1b4aea601d3e891a2b04ff35b9749c7fbec6503e
https://github.com/llvm/llvm-project/commit/1b4aea601d3e891a2b04ff35b9749c7fbec6503e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port a26ec5423716
Commit: 90f077cba8f41a2ba0eb8ffebed8da48322ed0d7
https://github.com/llvm/llvm-project/commit/90f077cba8f41a2ba0eb8ffebed8da48322ed0d7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lldb/source/Core/Progress.cpp
Log Message:
-----------
[lldb] Emit signpost intervals for progress events (NFC) (#108498)
Emit signpost intervals for progress events so that when users report an
operation takes a long time, we can investigate the issue with
Instruments.app.
Commit: ebf25d9509d19a381d94a0383135ee37f5b7b6e2
https://github.com/llvm/llvm-project/commit/ebf25d9509d19a381d94a0383135ee37f5b7b6e2
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Reduce false positives with constant arrays in libc warnings (#108308)
For `snprintf(a, sizeof a, ...)`, the first two arguments form a safe
pattern if `a` is a constant array. In such a case, this commit will
suppress the warning.
(rdar://117182250)
Commit: 2222e27d9e1438b0c723d46c62b1364391b58311
https://github.com/llvm/llvm-project/commit/2222e27d9e1438b0c723d46c62b1364391b58311
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/SemaHLSL/group_shared.hlsl
M clang/test/SemaHLSL/group_shared_202x.hlsl
Log Message:
-----------
[HLSL] Add HLSL 202y language mode (#108437)
This change adds a new HLSL 202y language mode. Currently HLSL 202y is
planned to add `auto` and `constexpr`.
This change updates extension diagnostics to state that lambadas are a
"clang HLSL" extension (since we have no planned release yet to include
them), and that `auto` is a HLSL 202y extension when used in earlier
language modes.
Note: This PR does temporarily work around some differences between HLSL
2021 and 202x in Clang by changing test cases to explicitly specify
202x. A subsequent PR will update 2021's language flags to match 202x.
Commit: c3fda44147d096c0018ae8c09cd0a0446f212a4f
https://github.com/llvm/llvm-project/commit/c3fda44147d096c0018ae8c09cd0a0446f212a4f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPBuilder to create scalar IV steps and derived IV (NFCI).
Extend VPBuilder to allow creating VPDerivedIVRecipe, VPScalarCastRecipe
and VPScalarIVStepsRecipe.
Use them to simplify the code to create scalar IV steps slightly.
Commit: 6cbb2455ae60d9dd7b34642ae1d54e02fbc4d33f
https://github.com/llvm/llvm-project/commit/6cbb2455ae60d9dd7b34642ae1d54e02fbc4d33f
Author: vporpo <vporpodas at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement missng Instruction::comesBefore() (#108635)
Commit: a592e4b4b0e01d1861f5ef7da5cfe90f93e16ce8
https://github.com/llvm/llvm-project/commit/a592e4b4b0e01d1861f5ef7da5cfe90f93e16ce8
Author: Pranav Kant <prka at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] add vdso dependency to time_linux lib (#108647)
This is a quick fix to unbreak Bazel build. The right solution would
probably add vdso.cpp in the support library which includes circular
dependency and needs more restructuring.
Commit: ee3f5c2f91ca22932952ef12c3bad3440a22c19b
https://github.com/llvm/llvm-project/commit/ee3f5c2f91ca22932952ef12c3bad3440a22c19b
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a953982cb7dee0678bb5f7c2febe4c3b8b718c7a (#108651)
Commit: f885e02cf7cac1b08cab4cd526773420076029dd
https://github.com/llvm/llvm-project/commit/f885e02cf7cac1b08cab4cd526773420076029dd
Author: Florian Mayer <fmayer at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Revert "[clang] Silence GCC warnings about control reaching end of non void function"
This reverts commit 90a2e0bb423629b7e70f4b91adb44851199dd5ea.
Reverting parent CL
Pull Request: https://github.com/llvm/llvm-project/pull/108646
Commit: e1bd9740faa62c11cc785a7b70ec1ad17e286bd1
https://github.com/llvm/llvm-project/commit/e1bd9740faa62c11cc785a7b70ec1ad17e286bd1
Author: Florian Mayer <fmayer at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/test/Sema/diagnose_if.c
R clang/test/SemaCXX/diagnose_if-warning-group.cpp
M clang/tools/diagtool/ListWarnings.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CXStoredDiagnostic.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
Log Message:
-----------
Revert "Reapply "[clang] Extend diagnose_if to accept more detailed warning information (#70976)" (#108453)"
This reverts commit e7f782e7481cea23ef452a75607d3d61f5bd0d22.
This had UBSan failures:
[----------] 1 test from ConfigCompileTests
[ RUN ] ConfigCompileTests.DiagnosticSuppression
Config fragment: compiling <unknown>:0 -> 0x00007B8366E2F7D8 (trusted=false)
/usr/local/google/home/fmayer/large/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:203:33: runtime error: reference binding to null pointer of type 'clang::DiagnosticIDs'
UndefinedBehaviorSanitizer: undefined-behavior /usr/local/google/home/fmayer/large/llvm-project/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:203:33
Pull Request: https://github.com/llvm/llvm-project/pull/108645
Commit: d1ba432533aafc52fc59158350af937a8b6b9538
https://github.com/llvm/llvm-project/commit/d1ba432533aafc52fc59158350af937a8b6b9538
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/test/ELF/hexagon-eflag.s
Log Message:
-----------
[lld] select a default eflags for hexagon (#108431)
Empty archives are apparently routine in linux kernel builds, so instead
of asserting, we should handle this case with a sane default value.
Commit: d0638ed0fd54ed7331737b99c19086b70d8bf48b
https://github.com/llvm/llvm-project/commit/d0638ed0fd54ed7331737b99c19086b70d8bf48b
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel][NFC] Use globs to make `Vectorize` less brittle (#108644)
This avoids needing to update the rule every time there's a new
directory, e.g. SandboxVectorizer packages.
Commit: ddcc601353db0464eb15a3e0258ec6789dd1602c
https://github.com/llvm/llvm-project/commit/ddcc601353db0464eb15a3e0258ec6789dd1602c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
[CoroSplit][DebugInfo] Adjust heuristic for moving DIScope of funclets (#108611)
CoroSplit has a heuristic where the scope line for funclets is adjusted
to match the line of the suspend intrinsic that caused the split. This
is useful as it avoids a jump on the line table from the original
function declaration to the line where the split happens.
However, very often using the line of the split is not ideal: if we can
avoid it, we should not have a line entry for the split location, as
this would cause breakpoints by line to match against two functions: the
funclet before and the funclet after the split.
This patch adjusts the heuristics to look for the first instruction with
a non-zero line number after the split. In other words, this patch makes
breakpoints on `await foo()` lines behave much more like a regular
function call.
Commit: cfd0c4f8ed5c5a1ca62f8810acab7586b2248b35
https://github.com/llvm/llvm-project/commit/cfd0c4f8ed5c5a1ca62f8810acab7586b2248b35
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][MLIR] Fix code bug from #101707
Commit: 77bab2a6f37af918a9133d1bb15551bd351b291e
https://github.com/llvm/llvm-project/commit/77bab2a6f37af918a9133d1bb15551bd351b291e
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/unittests/IR/AsmWriterTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
M llvm/unittests/Support/CSKYAttributeParserTest.cpp
M llvm/unittests/Support/Chrono.cpp
M llvm/unittests/Support/ErrorTest.cpp
M llvm/unittests/Support/JSONTest.cpp
M llvm/unittests/Support/ScopedPrinterTest.cpp
M llvm/unittests/Support/WithColorTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
[llvm][unittests] Strip unneeded use of raw_string_ostream::str() (NFC)
Avoid unneeded layer of indirection.
Commit: 03618ceabd003be94190b068db11b607fd1108ef
https://github.com/llvm/llvm-project/commit/03618ceabd003be94190b068db11b607fd1108ef
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CodeGenHLSL/this-assignment.hlsl
Log Message:
-----------
[HLSL] Fix move assignment of `this` (#108445)
Under HLSL 202x+ move assignment can occur and when targeting `this`
move assignment was generating some really odd errors. This corrects the
errors by properly generating the `this` object reference for HLSL and
always treating it as a reference.
This mirrors the implementation added eariler for copy assignment, and
extends the test case to cover both move and copy assignment under HLSL
202x+.
Commit: 1e3536ef3141d6429f3616af624b81b6d6ab2959
https://github.com/llvm/llvm-project/commit/1e3536ef3141d6429f3616af624b81b6d6ab2959
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
Log Message:
-----------
[SLP]Fix PR108620: Need to check, if the reduced value was transformed
Before trying to include the scalar into the list of
ExternallyUsedValues, need to check, if it was transformed in previous
iteration and use the transformed value, not the original one, to avoid
compiler crash when building external uses.
Fixes https://github.com/llvm/llvm-project/issues/108620
Commit: 52b48a70d3752f9db36ddcfd26d0451c009b19fc
https://github.com/llvm/llvm-project/commit/52b48a70d3752f9db36ddcfd26d0451c009b19fc
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/unittests/ADT/Interleave.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/CFGTest.cpp
M llvm/unittests/Analysis/DXILResourceTest.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Analysis/VectorUtilsTest.cpp
M llvm/unittests/InterfaceStub/ELFYAMLTest.cpp
M llvm/unittests/Transforms/Coroutines/ExtraRematTest.cpp
M llvm/unittests/Transforms/Instrumentation/PGOInstrumentationTest.cpp
M llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
Log Message:
-----------
[llvm][unittests] Strip unneeded use of raw_string_ostream::str() (NFC)
Avoid excess layer of indirection.
Commit: 12d4769cb84b2b2e60f9776fa043c6ea16f08ebb
https://github.com/llvm/llvm-project/commit/12d4769cb84b2b2e60f9776fa043c6ea16f08ebb
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
Revert "[MemProf] Streamline and avoid unnecessary context id duplication (#107918)" (#108652)
This reverts commit 524a028f69cdf25503912c396ebda7ebf0065ed2, but
manually so that follow on PR108086 /
ae5f1a78d3a930466f927989faac8e0b9d820a7b
is retained (NFC patch to convert tuple to a struct).
Commit: c6c3803b7267d3e9e81e09fc23e56c58854e703e
https://github.com/llvm/llvm-project/commit/c6c3803b7267d3e9e81e09fc23e56c58854e703e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV] Add documentation that Zvbc and Zvk* are supported through intrinsics. NFC (#108577)
Commit: b7914dffd6eacfa20990a39aecd1e0d24cadc62b
https://github.com/llvm/llvm-project/commit/b7914dffd6eacfa20990a39aecd1e0d24cadc62b
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/avoid-endl.cpp
Log Message:
-----------
[clang-tidy] add default error message for performance-avoid-endl (#107867)
use std::endl as default message when matched expr does not have valid
source text
Fixes: #107859
Commit: ca4973972bf1306b49413a76f2d0c25c3df711aa
https://github.com/llvm/llvm-project/commit/ca4973972bf1306b49413a76f2d0c25c3df711aa
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
A mlir/test/Dialect/Mesh/inlining.mlir
Log Message:
-----------
[mlir][mesh] Introduce `DialectInlinerInterface` for Mesh dialect (#108297)
The inliner interface does not implement any restrictions for inlining.
Commit: 536bdc99e6ed2388426ce94d0bd75a61aecab396
https://github.com/llvm/llvm-project/commit/536bdc99e6ed2388426ce94d0bd75a61aecab396
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Log Message:
-----------
[Coverage] Skip empty profile name section (#108480)
llvm-cov reads __llvm_prf_names section in an object file to find the
profile names, and it instead reads __llvm_covnames section in binary
profile correlation mode when __llvm_prf_names section is omitted. This
patch ensures that it still reads __llvm_covnames section when there is
an empty __llvm_prf_names section.
Commit: c010b72e9b4e3b1ae7467eb86102fc43c338fe19
https://github.com/llvm/llvm-project/commit/c010b72e9b4e3b1ae7467eb86102fc43c338fe19
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
A llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
A llvm/test/CodeGen/Hexagon/autohvx/addi-opt-predicated-def-bug.ll
M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
A llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
Log Message:
-----------
[HEXAGON] AddrModeOpt support for HVX and optimize adds (#106368)
This patch does 3 things:
1. Add support for optimizing the address mode of HVX load/store
instructions
2. Reduce the value of Add instruction immediates by replacing with the
difference from other Addi instructions that share common base:
For Example, If we have the below sequence of instructions: r1 =
add(r2,# 1024) ... r3 = add(r2,# 1152) ... r4 = add(r2,# 1280)
Where the register r2 has the same reaching definition, They get
modified to the below sequence:
r1 = add(r2,# 1024)
...
r3 = add(r1,# 128)
...
r4 = add(r1,# 256)
3. Fixes a bug pass where the addi instructions were modified based on a
predicated register definition, leading to incorrect output.
Eg:
INST-1: if (p0) r2 = add(r13,# 128)
INST-2: r1 = add(r2,# 1024)
INST-3: r3 = add(r2,# 1152)
INST-4: r5 = add(r2,# 1280)
In the above case, since r2's definition is predicated, we do not want
to modify the uses of r2 in INST-3/INST-4 with add(r1,#128/256)
4.Fixes a corner case
It looks like we never check whether the offset register is actually
live (not clobbered) at optimization site. Add the check whether it is
live at MBB entrance. The rest should have already been verified.
5. Fixes a bad codegen
For whatever reason we do transformation without checking if the value
in register actually reaches the user. This is second identical fix for
this pass.
Co-authored-by: Anirudh Sundar <quic_sanirudh at quicinc.com>
Co-authored-by: Sergei Larin <slarin at quicinc.com>
Commit: 459a82e6890ff41e30d486f36c8c7ec22628bb7a
https://github.com/llvm/llvm-project/commit/459a82e6890ff41e30d486f36c8c7ec22628bb7a
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/unittests/ADT/RewriteBufferTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/ManglerTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/IR/ModuleSummaryIndexTest.cpp
M llvm/unittests/MC/MCInstPrinter.cpp
M llvm/unittests/MIR/MachineMetadata.cpp
M llvm/unittests/Object/SymbolicFileTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/CrashRecoveryTest.cpp
M llvm/unittests/Support/ErrorTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/LEB128Test.cpp
M llvm/unittests/Support/ModRefTest.cpp
M llvm/unittests/Support/NativeFormatTests.cpp
M llvm/unittests/Support/RISCVAttributeParserTest.cpp
M llvm/unittests/Support/SourceMgrTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
M llvm/unittests/XRay/FDRRecordPrinterTest.cpp
M llvm/unittests/XRay/FDRRecordsTest.cpp
M llvm/unittests/XRay/FDRTraceWriterTest.cpp
M llvm/unittests/tools/llvm-exegesis/ProgressMeterTest.cpp
Log Message:
-----------
[llvm][unittests] Don't call raw_string_ostream::flush() (NFC)
raw_string_ostream::flush() is essentially a no-op (also specified in docs).
Don't call it in tests that aren't meant to test 'raw_string_ostream' itself.
p.s. remove a few redundant calls to raw_string_ostream::str()
Commit: 0e34dbb4f452013eab89a0a8f04a436ff6c408d4
https://github.com/llvm/llvm-project/commit/0e34dbb4f452013eab89a0a8f04a436ff6c408d4
Author: Aart Bik <ajcbik at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
A mlir/test/Integration/Dialect/SparseTensor/python/test_all_dense.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
M mlir/test/Integration/Dialect/SparseTensor/python/tools/sparsifier.py
Log Message:
-----------
[mlir][sparse] fix bug with all-dense assembler (#108615)
When only all-dense "sparse" tensors occur in a function prototype, the
assembler would skip the method conversion purely based on input/output
counts. It should rewrite based on the presence of any annotation,
however.
Commit: d3cdf0f2220cb913092934d7bf08c89951d56f8d
https://github.com/llvm/llvm-project/commit/d3cdf0f2220cb913092934d7bf08c89951d56f8d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
A llvm/include/llvm/Support/OptionStrCmp.h
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/OptionStrCmp.cpp
M llvm/utils/TableGen/Common/OptEmitter.cpp
M llvm/utils/TableGen/Common/OptEmitter.h
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/OptRSTEmitter.cpp
Log Message:
-----------
[LLVM][Option] Refactor option name comparison (#108219)
Move common functions shared by TableGen Option Emitter
and Options library to Support:
- Move `StrCmpOptionName` and base it on the existing version
in OptTable.cpp, with an additional mode to control fall back to
case insensitive comparison.
- Add `StrCmpOptionPrefixes` to compare prefixes and use zip() to
iterate through lists of prefixes.
- Rename `CompareOptionRecords` to less ambiguous name
`IsOptionRecordLess`.
- Merge 2 back-to-back ifs with same condition in
`IsOptionRecordLess`.
Fixes https://github.com/llvm/llvm-project/issues/107723
Commit: 1b913cde2a4e3cf3b180edd0477a8e85f61886ce
https://github.com/llvm/llvm-project/commit/1b913cde2a4e3cf3b180edd0477a8e85f61886ce
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/MacroPPCallbacks.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/Targets/X86.cpp
Log Message:
-----------
[clang][CodeGen] Strip unneeded calls to raw_string_ostream::str() (NFC)
Try to avoid excess layer of indirection when possible.
p.s. Remove a call to raw_string_ostream::flush() which is a no-op.
Commit: d2009652ab902d228783b3db848447975441b902
https://github.com/llvm/llvm-project/commit/d2009652ab902d228783b3db848447975441b902
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port d3cdf0f2220c
Commit: cab1ae9fa2d63b8f0f4bc5e0aa85c53704cb0079
https://github.com/llvm/llvm-project/commit/cab1ae9fa2d63b8f0f4bc5e0aa85c53704cb0079
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/asuint.hlsl
A clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
Log Message:
-----------
Adding `asuint` implementation to hlsl (#107292)
Implements support for the `asuint` HLSL function casting behaviour.
Addressing the `splitdouble` scenario will be addressed in a future PR.
Fixes: #70097
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 52b3c360c1cf69c48ba182b833045237af5955c0
https://github.com/llvm/llvm-project/commit/52b3c360c1cf69c48ba182b833045237af5955c0
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
Log Message:
-----------
[NFC][DirectX] Remove rcp dx intrinsic (#108626)
The code that used the rcp intrinsic was replaced. This change removes
an unused intrinsic.
Commit: d6d4a48e0e12f2d5b671c60437e7f55e2c5a506f
https://github.com/llvm/llvm-project/commit/d6d4a48e0e12f2d5b671c60437e7f55e2c5a506f
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Add type checking for 'throw' (#108641)
This was previously missing.
Commit: 7836603062ea9bb519bb68187024a58bb7c2f31b
https://github.com/llvm/llvm-project/commit/7836603062ea9bb519bb68187024a58bb7c2f31b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port cab1ae9fa2d6
Commit: 9ceb9676678ad979a0b767450855d7852ce6a553
https://github.com/llvm/llvm-project/commit/9ceb9676678ad979a0b767450855d7852ce6a553
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
A clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c
A clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c.expected
A clang/test/utils/update-verify-tests/Inputs/infer-indentation.c
A clang/test/utils/update-verify-tests/Inputs/infer-indentation.c.expected
A clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c
A clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/multiple-errors.c
A clang/test/utils/update-verify-tests/Inputs/multiple-errors.c.expected
A clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c
A clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-checks.c
A clang/test/utils/update-verify-tests/Inputs/no-checks.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-diags.c
A clang/test/utils/update-verify-tests/Inputs/no-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c
A clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c.expected
A clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c
A clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c.expected
A clang/test/utils/update-verify-tests/Inputs/update-same-line.c
A clang/test/utils/update-verify-tests/Inputs/update-same-line.c.expected
A clang/test/utils/update-verify-tests/Inputs/update-single-check.c
A clang/test/utils/update-verify-tests/Inputs/update-single-check.c.expected
A clang/test/utils/update-verify-tests/duplicate-diag.test
A clang/test/utils/update-verify-tests/infer-indentation.test
A clang/test/utils/update-verify-tests/leave-existing-diags.test
A clang/test/utils/update-verify-tests/lit.local.cfg
A clang/test/utils/update-verify-tests/multiple-errors.test
A clang/test/utils/update-verify-tests/multiple-missing-errors-same-line.test
A clang/test/utils/update-verify-tests/no-checks.test
A clang/test/utils/update-verify-tests/no-diags.test
A clang/test/utils/update-verify-tests/no-expected-diags.test
A clang/test/utils/update-verify-tests/non-default-prefix.test
A clang/test/utils/update-verify-tests/update-same-line.test
A clang/test/utils/update-verify-tests/update-single-check.test
A clang/utils/UpdateVerifyTests/core.py
A clang/utils/update-verify-tests.py
Log Message:
-----------
Reland "[Utils] add update-verify-tests.py" (#108630)" (#108658)
This relands commit d4f41befb7256f8e8378ae358b2b3d802454d6a4 which was
reverted by b7e585b95e241d0506b6f71d53ff5b6e72a9c8f4.
This version ignores differences in line endings in the diff tests to
make sure the tests work as intended on Windows.
Original description below:
Adds a python script to automatically take output from a failed clang
-verify test and update the test case(s) to expect the new behaviour.
Commit: 00f239e48ab9761a963839e118ee6cc4ee42e531
https://github.com/llvm/llvm-project/commit/00f239e48ab9761a963839e118ee6cc4ee42e531
Author: Arteen Abrishami <114886331+arteen1000 at users.noreply.github.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
A mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[MLIR][TOSA] Add --tosa-reduce-transposes pass (#108260)
----------
Motivation:
----------
Some legalization pathways introduce redundant tosa.TRANSPOSE
operations that result in avoidable data movement. For example,
PyTorch -> TOSA contains a lot of unnecessary transposes due
to conversions between NCHW and NHWC.
We wish to remove all the ones that we can, since in general
it is possible to remove the overwhelming majority.
------------
Changes Made:
------------
- Add the --tosa-reduce-transposes pass
- Add TosaElementwiseOperator trait.
-------------------
High-Level Overview:
-------------------
The pass works through the transpose operators in the program. It begins
at some
transpose operator with an associated permutations tensor. It traverses
upwards
through the dependencies of this transpose and verifies that we
encounter only
operators with the TosaElementwiseOperator trait and terminate in either
constants, reshapes, or transposes.
We then evaluate whether there are any additional restrictions (the
transposes
it terminates in must invert the one we began at, and the reshapes must
be ones
in which we can fold the transpose into), and then we hoist the
transpose through
the intervening operators, folding it at the constants, reshapes, and
transposes.
Finally, we ensure that we do not need both the transposed form (the
form that
had the transpose hoisted through it) and the untransposed form (which
it was prior),
by analyzing the usages of those dependent operators of a given
transpose we are
attempting to hoist and replace.
If they are such that it would require both forms to be necessary, then
we do not
replace the hoisted transpose, causing the new chain to be dead.
Otherwise, we do
and the old chain (untransposed form) becomes dead. Only one chain will
ever then
be live, resulting in no duplication.
We then perform a simple one-pass DCE, so no canonicalization is
necessary.
--------------
Impact of Pass:
--------------
Patching the dense_resource artifacts (from PyTorch) with dense
attributes to
permit constant folding, we receive the following results.
Note that data movement represents total transpose data movement,
calculated
by noting which dimensions moved during the transpose.
///////////
MobilenetV3:
///////////
BEFORE total data movement: 11798776 B (11.25 MiB)
AFTER total data movement: 2998016 B (2.86 MiB)
74.6% of data movement removed.
BEFORE transposes: 82
AFTER transposes: 20
75.6% of transposes removed.
////////
ResNet18:
////////
BEFORE total data movement: 20596556 B (19.64 MiB)
AFTER total data movement: 1003520 B (0.96 MiB)
95.2% of data movement removed.
BEFORE transposes: 56
AFTER transposes: 5
91.1% of transposes removed.
////////
ResNet50:
////////
BEFORE total data movement: 83236172 B (79.3 MiB)
AFTER total data movement: 3010560 B (2.87 MiB)
96.4% of data movement removed
BEFORE transposes: 120
AFTER transposes: 7
94.2% of transposes removed.
/////////
ResNet101:
/////////
BEFORE total data movement: 124336460 B (118.58 MiB)
AFTER total data movement: 3010560 B (2.87 MiB)
97.6% of data movement removed
BEFORE transposes: 239
AFTER transposes: 7
97.1% of transposes removed.
/////////
ResNet152:
/////////
BEFORE total data movement: 175052108 B (166.94 MiB)
AFTER total data movement: 3010560 B (2.87 MiB)
98.3% of data movement removed
BEFORE transposes: 358
AFTER transposes: 7
98.0% of transposes removed.
////////
Overview:
////////
We see that we remove up to 98% of transposes and eliminate
up to 98.3% of redundant transpose data movement.
In the context of ResNet50, with 120 inferences per second,
we reduce dynamic transpose data bandwidth from 9.29 GiB/s
to 344.4 MiB/s.
-----------
Future Work:
-----------
(1) Evaluate tradeoffs with permitting ConstOp to be duplicated across
hoisted
transposes with different permutation tensors.
(2) Expand the class of foldable upstream ReshapeOp we permit beyond
N -> 1x1x...x1xNx1x...x1x1.
(3) Enchance the pass to permit folding arbitrary transpose pairs,
beyond
those that form the identity.
(4) Add support for more instructions besides TosaElementwiseOperator as
the intervening ones (for example, the reduce_* operators).
(5) Support hoisting transposes up to an input parameter.
Signed-off-by: Arteen Abrishami <arteen.abrishami at arm.com>
Commit: 1825cf28dc83113200b623ebcf063eea35ade79a
https://github.com/llvm/llvm-project/commit/1825cf28dc83113200b623ebcf063eea35ade79a
Author: hev <wangrui at loongson.cn>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[LoongArch][sanitizer] Fix SC_ADDRERR_{RD,WR} missing in the musl environment (#108557)
Fixes #108550
Commit: d32fe95d8286ffdcdc962534becabffdf1e56816
https://github.com/llvm/llvm-project/commit/d32fe95d8286ffdcdc962534becabffdf1e56816
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M bolt/lib/Passes/ADRRelaxationPass.cpp
Log Message:
-----------
[BOLT][AArch64] Do not relax ADR referencing the same fragment (#108673)
ADR can reference a secondary entry point in the same function. If
that's the case, we can skip relaxing the instruction when it is in the
same fragment as its target.
Fixes #108290
Commit: c0b7f1bb58633edbe12dcacee8e9d2c49163d87c
https://github.com/llvm/llvm-project/commit/c0b7f1bb58633edbe12dcacee8e9d2c49163d87c
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
Log Message:
-----------
[libc][math][c23] add darwin entrypoints for fmul (#108680)
Commit: 82266d3a2b33f49165c0f24d3db5ea9875cc706c
https://github.com/llvm/llvm-project/commit/82266d3a2b33f49165c0f24d3db5ea9875cc706c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
M llvm/unittests/Analysis/CtxProfAnalysisTest.cpp
Log Message:
-----------
[nfc][ctx_prof] Factor the callsite instrumentation exclusion criteria (#108471)
Reusing this in the logic fetching the instrumentation in `CtxProfAnalysis`.
Commit: 947374c3933b51f7f3acfe365d6ff9b10fb6cda0
https://github.com/llvm/llvm-project/commit/947374c3933b51f7f3acfe365d6ff9b10fb6cda0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Log Message:
-----------
[IRTranslator] Simplify fixed vector ConstantAggregateZero handling. NFC (#108667)
We don't need to loop through the elements, they're all the same zero.
We can get the first element and create a splat build_vector.
Commit: f78a48cfaf9d3e616d9bbedd81f68ff159342ffb
https://github.com/llvm/llvm-project/commit/f78a48cfaf9d3e616d9bbedd81f68ff159342ffb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
Log Message:
-----------
[MC] Use std::optional<MCRegisters> for values returned by MCRegisterInfo::getLLVMRegNum. NFC
I missed a few places when I changed the function return type in
f2b71491d11355c0df0c92ef7cce7d610c894660.
Commit: d8a8cb9a721a2d00d11df09a849356e981ef6b49
https://github.com/llvm/llvm-project/commit/d8a8cb9a721a2d00d11df09a849356e981ef6b49
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/lib/Driver/OffloadBundler.cpp
Log Message:
-----------
[Driver] Avoid repeated hash lookups (NFC) (#108676)
Commit: 8bce263820096d7c7921354b7646fbb6bb1b8cfb
https://github.com/llvm/llvm-project/commit/8bce263820096d7c7921354b7646fbb6bb1b8cfb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[NFC][sanitizer] Use nullptr instead of 0
Commit: 22aeec31b9833df4428f70cb11f789ad203178d8
https://github.com/llvm/llvm-project/commit/22aeec31b9833df4428f70cb11f789ad203178d8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#108674)
Commit: 20645572e435021c15838cc4ef1cb6b4a50d2e6f
https://github.com/llvm/llvm-project/commit/20645572e435021c15838cc4ef1cb6b4a50d2e6f
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Add more EH assembly test cases (#108654)
This adds assembly tests for a catch-less `try` and a `try` with a
multivalue return.
Commit: 390b82dd4c485ec64cf8a6c52fb73e391792262e
https://github.com/llvm/llvm-project/commit/390b82dd4c485ec64cf8a6c52fb73e391792262e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-13 (Fri, 13 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Remove DenseMap::{getOrInsertDefault,FindAndConstruct} (#108678)
These functions have been deprecated since:
commit 59a3b4156836c3ea8589d7a39e7b4712fc8698ec
Author: Kazu Hirata <kazu at google.com>
Date: Tue Sep 3 08:19:45 2024 -0700
commit 7732d8e51819416b9d28b1815bdf81d0e0642b04
Author: Kazu Hirata <kazu at google.com>
Date: Wed Sep 4 06:51:30 2024 -0700
Commit: 82034aca30ad8b08aadfe6b6b9048f5cdfa1d3ff
https://github.com/llvm/llvm-project/commit/82034aca30ad8b08aadfe6b6b9048f5cdfa1d3ff
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaModule.cpp
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/Modules/cxx20-10-3-ex1.cpp
Log Message:
-----------
[C++20] [Modules] Warn for importing implementation partition unit in interface units (#108493)
Recently, there are multiple false positive issue reports about the
reachability of implementation partition units:
- https://github.com/llvm/llvm-project/issues/105882
- https://github.com/llvm/llvm-project/issues/101348
- https://lists.isocpp.org/core/2024/08/16232.php
And according to our use experience for modules, we find it is a pretty
good practice to not import implementation partition units in the
interface units. It can help developers to have a pretty good mental
model for when to use an implementation partition unit: that any unit in
the module but not in the module interfaces can be in the implementation
partition unit.
So I think it is good to add the diagnostics.
Commit: 1d2f7277e695d046efaf2818dd1a4b251ce745fd
https://github.com/llvm/llvm-project/commit/1d2f7277e695d046efaf2818dd1a4b251ce745fd
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][Sema] Improve `collectViableConversionCandidates` (#97908)
* Use range-based for
* The value of `Conv` is not used when `ConvTemplate` is not null, so we
do not need to compute it on that path
Commit: 918972bded27de6a2bfacc15b4ad3edebd81f405
https://github.com/llvm/llvm-project/commit/918972bded27de6a2bfacc15b4ad3edebd81f405
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/tools/clang-refactor/ClangRefactor.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/AST/TemplateNameTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/StaticAnalyzer/RangeSetTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
M clang/unittests/Tooling/DiagnosticsYamlTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/TemplateArgumentLocTraverser.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/RewriterTestContext.h
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[clang] Strip unneeded calls to raw_string_ostream::str() (NFC)
Avoid extra layer of indirection.
p.s.
Also, remove calls to raw_string_ostream::flush(), which are no-ops.
Commit: 18f1c980bc924b5a4dd4caaf1c30add2f1f99961
https://github.com/llvm/llvm-project/commit/18f1c980bc924b5a4dd4caaf1c30add2f1f99961
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
A llvm/test/CodeGen/AMDGPU/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
Log Message:
-----------
[AMDGPU] Avoid unneeded waitcounts before spill stores (#108303)
Implicit defs and uses on spill stores were accounted as real defs and
uses, while only exist for liveness accounting. As a result unneded
waits were generated.
Fixes: SWDEV-484177
Commit: 223e2efa5e886502a9467b7ef700ebce9b7886e8
https://github.com/llvm/llvm-project/commit/223e2efa5e886502a9467b7ef700ebce9b7886e8
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/lib/AST/APValue.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/StmtViz.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/CFG.cpp
Log Message:
-----------
[clang] Nits on uses of raw_string_ostream (NFC)
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Strip unneeded calls to raw_string_ostream::str(), to avoid extra indirection.
Commit: c618a2351479462eae34e21f70127a1fad00f505
https://github.com/llvm/llvm-project/commit/c618a2351479462eae34e21f70127a1fad00f505
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for ca4973972bf1306b49413a76f2d0c25c3df711aa
Commit: c05ebd66e756c2e109addbdaa6197f8699d5b950
https://github.com/llvm/llvm-project/commit/c05ebd66e756c2e109addbdaa6197f8699d5b950
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
Log Message:
-----------
Fix bazel build past ca49739 (#108694)
Commit: 55ec015c4dc9bb7c39b313c4662daec3b3c6043b
https://github.com/llvm/llvm-project/commit/55ec015c4dc9bb7c39b313c4662daec3b3c6043b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Correct vector crypto note link spelling. NFC
Commit: a20a97382fa14b62e7b3c9884ffddcd500124cef
https://github.com/llvm/llvm-project/commit/a20a97382fa14b62e7b3c9884ffddcd500124cef
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
Log Message:
-----------
[X86] Use MCRegister in more places. NFC (#108682)
Commit: 12086996183c6c1f3e390848b67036a6c826b3fb
https://github.com/llvm/llvm-project/commit/12086996183c6c1f3e390848b67036a6c826b3fb
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][transforms] Skip `RemoveDeadValues` for function declaration (#108221)
This patch skips `RemoveDeadValues` if funcOp is declaration, which
fixes a crash.
Fixes #107546.
Commit: 11f9008daec2b5593dfcc781ee879f93de121da2
https://github.com/llvm/llvm-project/commit/11f9008daec2b5593dfcc781ee879f93de121da2
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[ast matcher][NFC] fix typo in release note
Commit: bae275f65ecd27a16743f7b4695940dcfa70b218
https://github.com/llvm/llvm-project/commit/bae275f65ecd27a16743f7b4695940dcfa70b218
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated map lookups (NFC) (#108675)
Commit: 1e4e1ceeebb82dd86d0dc95eb1074b7326b50db3
https://github.com/llvm/llvm-project/commit/1e4e1ceeebb82dd86d0dc95eb1074b7326b50db3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Avoid repeated hash lookups (NFC) (#108677)
Commit: fa478bd275f473861f6d4df4896244a730d4853f
https://github.com/llvm/llvm-project/commit/fa478bd275f473861f6d4df4896244a730d4853f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
Revert "[lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created" (#108715)
Reverts llvm/llvm-project#106791 because it breaks
`trap_frame_sym_ctx.test ` on x86_64.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/5745/
Commit: a578558251450dd5ea0efd40825a87c787e522b8
https://github.com/llvm/llvm-project/commit/a578558251450dd5ea0efd40825a87c787e522b8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
Log Message:
-----------
[ARM] Replace a hardcoded 14 used as an MCRegister index with ARM::LR.
LR is R14, but this data structure is indexed by MCRegister not
encoding. It's in a debug message so I guess no one ever noticed.
Found while auditing places that should use MCRegister.
Commit: f0c5caa8144307ec59fbafeed1ba37bb3603b00f
https://github.com/llvm/llvm-project/commit/f0c5caa8144307ec59fbafeed1ba37bb3603b00f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/pr36983.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Add VPIRInstruction, use for exit block live-outs. (#100735)
Add a new VPIRInstruction recipe to wrap existing IR instructions not to
be modified during execution, execept for PHIs. For PHIs, a single
VPValue
operand is allowed, and it is used to add a new incoming value for the
single predecessor VPBB. Expect PHIs, VPIRInstructions cannot have any
operands.
Depends on https://github.com/llvm/llvm-project/pull/100658.
PR: https://github.com/llvm/llvm-project/pull/100735
Commit: e39205654dc11c50bd117e8ccac243a641ebd71f
https://github.com/llvm/llvm-project/commit/e39205654dc11c50bd117e8ccac243a641ebd71f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/test/Sema/diagnose_if.c
A clang/test/SemaCXX/diagnose_if-warning-group.cpp
M clang/tools/diagtool/ListWarnings.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CXStoredDiagnostic.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
Log Message:
-----------
Reapply "Reapply "[clang] Extend diagnose_if to accept more detailed warning information (#70976)" (#108453)"
This reverts commit e1bd9740faa62c11cc785a7b70ec1ad17e286bd1.
Fixes incorrect use of the `DiagnosticsEngine` in the clangd tests.
Commit: cfe3f5fa6104433933e5313cb88dd766b7184ef9
https://github.com/llvm/llvm-project/commit/cfe3f5fa6104433933e5313cb88dd766b7184ef9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Remove unneeded ExitBB variable after f0c5caa814.
Fix buildbot failures due to an unused variable, e.g.
https://lab.llvm.org/buildbot/#/builders/186/builds/2329
Commit: f66509bf524aaa7008591f7b8a0a32e239d59c01
https://github.com/llvm/llvm-project/commit/f66509bf524aaa7008591f7b8a0a32e239d59c01
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Clarify comment for replaceVPBBWithIRVPBB and add assert (NFCI).
Follow-up to suggestion during
https://github.com/llvm/llvm-project/pull/100735.
More specifically
https://github.com/llvm/llvm-project/pull/100735/files/9a40ed0919bad7fb79123317267d3eb36ff2c582#diff-6d0b73adfa9f8465923d2225ab6674ddcdeab71666f7a73dfaec7fa1246b3a1f
Commit: 7d11f5249c8068851270e94ac02c180e7b83590d
https://github.com/llvm/llvm-project/commit/7d11f5249c8068851270e94ac02c180e7b83590d
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang] Silence GCC warnings about control reaching end of non void function
This fixes GCC warnings since
e39205654dc11c50bd117e8ccac243a641ebd71f.
Commit: a205a854e06d36c1d0def3e3bc3743defdb6abc1
https://github.com/llvm/llvm-project/commit/a205a854e06d36c1d0def3e3bc3743defdb6abc1
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/fmul.cpp
M libc/test/src/math/fmul_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/fmul_perf.cpp
M libc/test/src/math/smoke/fmul_test.cpp
Log Message:
-----------
[libc][math] Improve fmul performance by using double-double arithmetic. (#107517)
```
Performance tests with inputs in denormal range:
-- My function --
Total time : 2731072304 ns
Average runtime : 68.2767 ns/op
Ops per second : 14646276 op/s
-- Other function --
Total time : 3259744268 ns
Average runtime : 81.4935 ns/op
Ops per second : 12270913 op/s
-- Average runtime ratio --
Mine / Other's : 0.837818
Performance tests with inputs in normal range:
-- My function --
Total time : 93467258 ns
Average runtime : 2.33668 ns/op
Ops per second : 427957777 op/s
-- Other function --
Total time : 637295452 ns
Average runtime : 15.9324 ns/op
Ops per second : 62765299 op/s
-- Average runtime ratio --
Mine / Other's : 0.146662
Performance tests with inputs in normal range with exponents close to each other:
-- My function --
Total time : 95764894 ns
Average runtime : 2.39412 ns/op
Ops per second : 417690014 op/s
-- Other function --
Total time : 639866770 ns
Average runtime : 15.9967 ns/op
Ops per second : 62513075 op/s
-- Average runtime ratio --
Mine / Other's : 0.149664
```
---------
Co-authored-by: Tue Ly <lntue at google.com>
Commit: 367c145e5fcfa36becca183e6ab9e7688afadc26
https://github.com/llvm/llvm-project/commit/367c145e5fcfa36becca183e6ab9e7688afadc26
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/splat_vector.ll
Log Message:
-----------
[IRTranslator][RISCV] Support scalable vector zeroinitializer. (#108666)
Commit: f427028d62d27b440e1c2821b4781ddb399b61db
https://github.com/llvm/llvm-project/commit/f427028d62d27b440e1c2821b4781ddb399b61db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
Log Message:
-----------
[ARM] Use MCRegister in more places. NFC
Commit: a9e05a36dbbbfc549434427fdde346c107500def
https://github.com/llvm/llvm-project/commit/a9e05a36dbbbfc549434427fdde346c107500def
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
Log Message:
-----------
[ARM] Use MCRegister for ARMTargetStreamer::emitRegSave. NFC
Commit: b78d4c1fd9c7106a8c5b09e3553d14b513ecb075
https://github.com/llvm/llvm-project/commit/b78d4c1fd9c7106a8c5b09e3553d14b513ecb075
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
Log Message:
-----------
[NFC][sanitizer] Clang-format sanitizer_common_nolibc.cpp
Commit: 7005772e453423e424f49f04d1f5dd96acc08249
https://github.com/llvm/llvm-project/commit/7005772e453423e424f49f04d1f5dd96acc08249
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
Log Message:
-----------
[NFC][sanitizer] Clang format sanitizer_linux_test.cpp
Commit: c21909a530f438bcc942c11e6d7b875bb28a028a
https://github.com/llvm/llvm-project/commit/c21909a530f438bcc942c11e6d7b875bb28a028a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Simplify ifdef
Commit: cebc130737927d385aabde213e9f5da775e0d65f
https://github.com/llvm/llvm-project/commit/cebc130737927d385aabde213e9f5da775e0d65f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Remove unneeded check for NoRegister from RISCVInstPrinter::printRegReg. NFC
The operand should never be NoRegister.
Commit: 00c0b1ae20358a9e55ff8eda20c4e0546ee81b5b
https://github.com/llvm/llvm-project/commit/00c0b1ae20358a9e55ff8eda20c4e0546ee81b5b
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/Options.td
M lld/test/CMakeLists.txt
A lld/test/MachO/cgdata-generate.s
M lld/test/lit.cfg.py
Log Message:
-----------
[CGData] LLD for MachO (#90166)
It reads raw CG data encoded in the custom section (__llvm_outline) in
object files and merges them into the indexed codegen data file
specified by `-codegen-data-generate-path={path}`.
This depends on https://github.com/llvm/llvm-project/pull/90074.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
Commit: 9de260364b9902173ae8f8fa20157013c24b12d4
https://github.com/llvm/llvm-project/commit/9de260364b9902173ae8f8fa20157013c24b12d4
Author: Kyungwoo Lee <kyulee at fb.com>
Date: 2024-09-14 (Sat, 14 Sep 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/Options.td
M lld/test/CMakeLists.txt
R lld/test/MachO/cgdata-generate.s
M lld/test/lit.cfg.py
Log Message:
-----------
Revert "[CGData] LLD for MachO (#90166)"
This reverts commit 00c0b1ae20358a9e55ff8eda20c4e0546ee81b5b.
Commit: 9fc789d922ddf1c849f62bdfbe034f3cd9354967
https://github.com/llvm/llvm-project/commit/9fc789d922ddf1c849f62bdfbe034f3cd9354967
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-cuid-hash.hip
Log Message:
-----------
[HIP] Use original file path for CUID (#107734)
to avoid being nondeterministic due to random path in distributed build.
Commit: a75565a684feaed48cf92284c5901aaa08fd91ad
https://github.com/llvm/llvm-project/commit/a75565a684feaed48cf92284c5901aaa08fd91ad
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
M llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h
Log Message:
-----------
[llvm][ExecutionEngine] Strip unneeded calls to raw_string_ostream::str() (NFC)
Avoid excess layer of indirection.
Commit: b07730b982c37b852a434292260af6800883fec7
https://github.com/llvm/llvm-project/commit/b07730b982c37b852a434292260af6800883fec7
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M libcxx/include/__compare/ordering.h
Log Message:
-----------
[libc++] Check explicit values in the partial_ordering comparators for better code gen (#81366)
This allows the compiler to check for specific bit patterns instead of
value ranges.
Commit: cc96ce831cda8f70897926fdce6a83519fe5b31e
https://github.com/llvm/llvm-project/commit/cc96ce831cda8f70897926fdce6a83519fe5b31e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookup (NFC) (#108735)
Commit: 56f061f71b66a01a7f89069873f9c6dcda82b044
https://github.com/llvm/llvm-project/commit/56f061f71b66a01a7f89069873f9c6dcda82b044
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#108736)
Commit: ddca79aaee9b31b4e97f6cbf4361b75ef075c8fd
https://github.com/llvm/llvm-project/commit/ddca79aaee9b31b4e97f6cbf4361b75ef075c8fd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[DWARFLinker] Avoid repeated hash lookups (NFC) (#108737)
Commit: ba7a0b725c67e9c3a31f5ffedb6fbe4c5237ac56
https://github.com/llvm/llvm-project/commit/ba7a0b725c67e9c3a31f5ffedb6fbe4c5237ac56
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
Log Message:
-----------
[Frontend] Avoid repeated hash lookups (NFC) (#108738)
Commit: 4b27b5800f8c94ec010213e2a4ddf552cc282bce
https://github.com/llvm/llvm-project/commit/4b27b5800f8c94ec010213e2a4ddf552cc282bce
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/SymbolTable.cpp
M lld/ELF/Driver.cpp
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld] Nits on uses of raw_string_ostream (NFC)
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Strip calls to raw_string_ostream::str(), to avoid excess layer of indirection.
Commit: 012dbec604c99a8f144c4d19357e61b65d2a7b78
https://github.com/llvm/llvm-project/commit/012dbec604c99a8f144c4d19357e61b65d2a7b78
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Handle ForceTargetInstructionCost in during precomputeCosts.
Make sure ForceTargetInstruction is respected in precomputeCosts.
Commit: 86f0399c1fdec80c34e22821607696a485857421
https://github.com/llvm/llvm-project/commit/86f0399c1fdec80c34e22821607696a485857421
Author: c8ef <c8ef at outlook.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
Log Message:
-----------
[InstCombine] Fold expression using basic properties of floor and ceiling function (#107107)
alive2: ~~https://alive2.llvm.org/ce/z/Ag3Ki7~~
https://alive2.llvm.org/ce/z/ywP5t2
related: #76438
This patch adds the following foldings: `floor(x) <= x --> true` and `x
<= ceil(x) --> true`. We leverage the properties of these math functions
and ensure there is no floating point input of `nan`.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: ba8e4246e2f17030788e8a4954bf5c290332206f
https://github.com/llvm/llvm-project/commit/ba8e4246e2f17030788e8a4954bf5c290332206f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/utils/TableGen/X86ManualFoldTables.def
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)INSERTPS instruction names (#108568)
Matches (V)BLENDPS etc and makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
Commit: 87663fdab9d0e7bcc0b963ea078da9e2eb574908
https://github.com/llvm/llvm-project/commit/87663fdab9d0e7bcc0b963ea078da9e2eb574908
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shrink-types.ll
Log Message:
-----------
[VectorCombine] Don't shrink lshr if the shamt is not less than bitwidth (#108705)
Consider the following case:
```
define <2 x i32> @test(<2 x i64> %vec.ind16, <2 x i32> %broadcast.splat20) {
%19 = icmp eq <2 x i64> %vec.ind16, zeroinitializer
%20 = zext <2 x i1> %19 to <2 x i32>
%21 = lshr <2 x i32> %20, %broadcast.splat20
ret <2 x i32> %21
}
```
After https://github.com/llvm/llvm-project/pull/104606, we shrink the
lshr into:
```
define <2 x i32> @test(<2 x i64> %vec.ind16, <2 x i32> %broadcast.splat20) {
%1 = icmp eq <2 x i64> %vec.ind16, zeroinitializer
%2 = trunc <2 x i32> %broadcast.splat20 to <2 x i1>
%3 = lshr <2 x i1> %1, %2
%4 = zext <2 x i1> %3 to <2 x i32>
ret <2 x i32> %4
}
```
It is incorrect since `lshr i1 X, 1` returns `poison`.
This patch adds additional check on the shamt operand. The lshr will get
shrunk iff we ensure that the shamt is less than bitwidth of the smaller
type. As `computeKnownBits(&I, *DL).countMaxActiveBits() > BW` always
evaluates to true for `lshr(zext(X), Y)`, this check will only apply to
bitwise logical instructions.
Alive2: https://alive2.llvm.org/ce/z/j_RmTa
Fixes https://github.com/llvm/llvm-project/issues/108698.
Commit: 614a064cac4f8d0e9c53fafd7876a71be84b8610
https://github.com/llvm/llvm-project/commit/614a064cac4f8d0e9c53fafd7876a71be84b8610
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86ReplaceableInstrs.def
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedSandyBridge.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86SchedSkylakeClient.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
M llvm/lib/Target/X86/X86ScheduleBdVer2.td
M llvm/lib/Target/X86/X86ScheduleBtVer2.td
M llvm/lib/Target/X86/X86ScheduleZnver1.td
M llvm/lib/Target/X86/X86ScheduleZnver2.td
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec512.mir
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/opt_phis2.mir
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86ManualFoldTables.def
M llvm/utils/TableGen/X86ManualInstrMapping.def
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)INSERT/EXTRACT/PERM2 instruction names (#108593)
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
Commit: 5910e8d6075648d941c5723eab856c58857e345d
https://github.com/llvm/llvm-project/commit/5910e8d6075648d941c5723eab856c58857e345d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/pr108728.ll
Log Message:
-----------
[DAG] visitUDIV - call SimplifyDemandedBits to handle hidden constant foldable cases
Fixes #108728
Commit: 8837898b8dc34cfa21ba877832a5865af06f52c9
https://github.com/llvm/llvm-project/commit/8837898b8dc34cfa21ba877832a5865af06f52c9
Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/ctlo.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAGCombine] Count leading ones: refine post DAG/Type Legalisation if promotion (#102877)
This PR is related to #99591. In this PR, instead of modifying how the
legalisation occurs depending on surrounding instructions, we refine
after legalisation.
This PR has two parts:
* `SDPatternMatch/MatchContext`: Modify a little bit the code to match
Operands (used by `m_Node(...)`) and Unary/Binary/Ternary Patterns to
make it compatible with `VPMatchContext`, instead of only `m_Opc`
supported. Some tests were added to ensure no regressions.
* `DAGCombiner`: Add a `foldSubCtlzNot` which detect and rewrite the
patterns using matching context.
Remaining Tasks:
- [ ] GlobalISel
- [ ] Currently the pattern matching will occur even before
legalisation. Should I restrict it to specific stages instead ?
- [ ] Style: Add a visitVP_SUB ?? Move `foldSubCtlzNot` in another
location for style consistency purpose ?
@topperc
---------
Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Commit: 3ae71d154e5dfb5e5a5d27b3699b27ce2b55f44d
https://github.com/llvm/llvm-project/commit/3ae71d154e5dfb5e5a5d27b3699b27ce2b55f44d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/Utils.cpp
M llvm/utils/TableGen/Common/Utils.h
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change CodeGenSchedule to use const RecordKeeper (#108617)
Change CodeGenSchedule to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: c49a1ae6d6ab274e573746c2ad29790ab98a7c62
https://github.com/llvm/llvm-project/commit/c49a1ae6d6ab274e573746c2ad29790ab98a7c62
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
DAG: Reorder isFMAFasterThanFMulAndFAdd checks (NFC)
Basic legality checks should be first.
Commit: a56ca1a0fb248c6f38b5841323a74673748f43ea
https://github.com/llvm/llvm-project/commit/a56ca1a0fb248c6f38b5841323a74673748f43ea
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[clang][codegen] Fix possible crash when setting TBAA metadata on FP math libcalls (#108575)
There's currently no code path that can reach this crash, but:
```
Instruction *Inst = cast<llvm::Instruction>(Call.getScalarVal());
```
fails if the call returns `void`. This could happen if a builtin for
something like `void sincos(double, double*, double*)` is added to
clang.
Instead, use the `llvm::CallBase` returned from `EmitCall()` to set the
TBAA metadata, which should exist no matter the return type.
Commit: 7048857f52005810a2d8f43e52e659bfd6342521
https://github.com/llvm/llvm-project/commit/7048857f52005810a2d8f43e52e659bfd6342521
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86ReplaceableInstrs.def
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86SchedSandyBridge.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver1.td
M llvm/lib/Target/X86/X86ScheduleZnver2.td
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/vmaskmov-offset.ll
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)EXTRACTPS instruction names
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
Commit: 1e33bd2031a6d0f61d4b0ba82bf416e7ace3b9ce
https://github.com/llvm/llvm-project/commit/1e33bd2031a6d0f61d4b0ba82bf416e7ace3b9ce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrMMX.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86ReplaceableInstrs.def
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/opt_phis2.mir
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)PINSR/PEXTR instruction names
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
Commit: f4763b3d24546808720ff457761159b4e1605876
https://github.com/llvm/llvm-project/commit/f4763b3d24546808720ff457761159b4e1605876
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/MachO/CMakeLists.txt
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/Options.td
M lld/test/CMakeLists.txt
A lld/test/MachO/cgdata-generate.s
M lld/test/lit.cfg.py
Log Message:
-----------
Reland [CGData] LLD for MachO #90166 (#108733)
It reads raw CG data encoded in the custom section (__llvm_outline) in
object files and merges them into the indexed codegen data file
specified by -codegen-data-generate-path={path}.
This depends on https://github.com/llvm/llvm-project/pull/90074.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
Commit: 8783bd5faa87a52e322d822b7a26d58ae2d19f60
https://github.com/llvm/llvm-project/commit/8783bd5faa87a52e322d822b7a26d58ae2d19f60
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.h
Log Message:
-----------
[LLVM][TableGen] Change CodeGenInstAlias to use const Record pointers (#108753)
Change CodeGenInstAlias to use const Record pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 43f044ba7ea2cd668805c01055eb2dff70532ba3
https://github.com/llvm/llvm-project/commit/43f044ba7ea2cd668805c01055eb2dff70532ba3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change CodeGenTarget to use const RecordKeeper (#108752)
Change CodeGenTarget to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 4e09d7bc2ce492c4fc281cfbaf8caa81a76a6a10
https://github.com/llvm/llvm-project/commit/4e09d7bc2ce492c4fc281cfbaf8caa81a76a6a10
Author: dyung <douglas.yung at sony.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-cuid-hash.hip
Log Message:
-----------
Revert "[HIP] Use original file path for CUID" (#108771)
Reverts llvm/llvm-project#107734
The test modified in this commit, hip-cuid-hash.hip is failing on MacOS:
- https://lab.llvm.org/buildbot/#/builders/190/builds/5764
- https://lab.llvm.org/buildbot/#/builders/23/builds/3020
Commit: 508e734e33a278ecab2306a5fc7e37920cc51dac
https://github.com/llvm/llvm-project/commit/508e734e33a278ecab2306a5fc7e37920cc51dac
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
Log Message:
-----------
[CodeGen] Use DenseMapInfo<Register> to implement DenseMapInfo<TargetInstrInfo::RegSubRegPair>. NFC
Instead of casting Register to unsigned to use DenseMapInfo<unsigned>.
Commit: 2f48178825686283adc6903aae3626cff8d9797c
https://github.com/llvm/llvm-project/commit/2f48178825686283adc6903aae3626cff8d9797c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
Log Message:
-----------
[VirtRegMap] Use Register for Virt2ShapeMap key. NFC
Commit: 23953798f3cf5d292947ca4e6e46db25921acd5e
https://github.com/llvm/llvm-project/commit/23953798f3cf5d292947ca4e6e46db25921acd5e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[VirtRegMap] Remove unnecessary calls to Register::id() accessing IndexMaps.
VirtReg2IndexFunctor already takes a Register.
Commit: 87e8b53009f11033e6e6af0ccb3a97fae615526a
https://github.com/llvm/llvm-project/commit/87e8b53009f11033e6e6af0ccb3a97fae615526a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[LLVM][TableGen] Change CodeGenDAGPatterns to use const RecordKeeper (#108762)
Change CodeGenDAGPatterns to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 8e00afcfdd7245236fba40e7158034228b7035e9
https://github.com/llvm/llvm-project/commit/8e00afcfdd7245236fba40e7158034228b7035e9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change SubtargetEmitter to use const RecordKeeper (#108763)
Change SubtargetEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: e523f4e2c3e20a843aeb79c412c1e8b3e90b96a3
https://github.com/llvm/llvm-project/commit/e523f4e2c3e20a843aeb79c412c1e8b3e90b96a3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
Log Message:
-----------
[VirtRegMap] Store Register in Virt2SplitMap. NFC
Commit: 00e4575c67ac26102b98cf14c83a1ace4f816d43
https://github.com/llvm/llvm-project/commit/00e4575c67ac26102b98cf14c83a1ace4f816d43
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
Log Message:
-----------
[Instrumentation] Remove extraneous std::move (NFC) (#108764)
Commit: 8965795ed8bdea31e25463eceb9eb20c081dd50d
https://github.com/llvm/llvm-project/commit/8965795ed8bdea31e25463eceb9eb20c081dd50d
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][CI] Upgrade LLVM HEAD version in Docker image (#108774)
Before changing the compiler version in
https://github.com/llvm/llvm-project/pull/108761, we first of all need
to upgrade the HEAD version to `Clang-20` in the Docker files and push
new builder images to the CI.
Commit: 76b54df87a860c20ac68e4ed1d766b545d412c1e
https://github.com/llvm/llvm-project/commit/76b54df87a860c20ac68e4ed1d766b545d412c1e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/StackSlotColoring.cpp
Log Message:
-----------
[StackSlotColoring] Use Register for isLoadFromStackSlot/isStoreToStackSlot result. NFC
Commit: 6749f2bbfed4cc4877aced3947c191f979d9434d
https://github.com/llvm/llvm-project/commit/6749f2bbfed4cc4877aced3947c191f979d9434d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
Log Message:
-----------
[LV] Add pointer induction test variant with inbounds, remove TODO.
The function doesn't crash any more with inbounds, add a variant with
inbounds.
Commit: a5b63b5cb70cae2ad7c35f70bd8ecb57ce20b797
https://github.com/llvm/llvm-project/commit/a5b63b5cb70cae2ad7c35f70bd8ecb57ce20b797
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
Log Message:
-----------
[VirtRegMap] Store MCRegister in Virt2PhysMap. (#108775)
Remove NO_PHYS_REG in favor of MCRegister() and converting MCRegister to
bool.
Commit: d044732a25f3e67a466a2584fa546bb3cfd8f03e
https://github.com/llvm/llvm-project/commit/d044732a25f3e67a466a2584fa546bb3cfd8f03e
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port a205a854e06d36c1d0def3e3bc3743defdb6abc1
Commit: 0098cee45c3c08e2f732bfa088e16d0fe566adcc
https://github.com/llvm/llvm-project/commit/0098cee45c3c08e2f732bfa088e16d0fe566adcc
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel] Port f4763b3d24546808720ff457761159b4e1605876
Commit: 40e8e4ddcb7d48f404223e863e5db38fff75cad2
https://github.com/llvm/llvm-project/commit/40e8e4ddcb7d48f404223e863e5db38fff75cad2
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Move partitions into ctx. NFC
Ctx was introduced in March 2022 as a more suitable place for such
singletons.
Commit: 713a2029578eb36a29793105948d8e4fe965da18
https://github.com/llvm/llvm-project/commit/713a2029578eb36a29793105948d8e4fe965da18
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/codegen-data.c
Log Message:
-----------
[CGData] Clang Options (#90304)
This adds new Clang flags to support codegen (CG) data:
- `-fcodegen-data-generate{=path}`: This flag passes
`-codegen-data-generate` as a boolean to the LLVM backend, causing the
raw CG data to be emitted into a custom section. Currently, for LLD
MachO only, it also passes `--codegen-data-generate-path=<path>` so that
the indexed CG data file can be automatically produced at link time. For
linkers that do not yet support this feature, `llvm-cgdata` can be used
manually to merge this CG data in object files.
- `-fcodegen-data-use{=path}`: This flag passes
`-codegen-data-use-path=<path>` to the LLVM backend, enabling the use of
specified CG data to optimistically outline functions.
- The default `<path>` is set to `default.cgdata` when not specified.
This depends on https://github.com/llvm/llvm-project/pull/108733.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
Commit: 1c378d2b145578948942512f9d6985e37659d013
https://github.com/llvm/llvm-project/commit/1c378d2b145578948942512f9d6985e37659d013
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
Log Message:
-----------
[X86] Add test for issue 108722; NFC
Commit: 81279bf97f187eee0446af00d8ae9ec32a22e878
https://github.com/llvm/llvm-project/commit/81279bf97f187eee0446af00d8ae9ec32a22e878
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
Log Message:
-----------
[X86] Fix missing check of rotate <-> shift equivilence (Issue 108722)
Previous code was checking that rotate and shift where equivilent when
transforming shift -> rotate but not the other way around.
Closes #108767
Commit: 1cd07526b4becdcaa8dc7db0757e85d39a8a4705
https://github.com/llvm/llvm-project/commit/1cd07526b4becdcaa8dc7db0757e85d39a8a4705
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/include/lld/Common/CommonLinkerContext.h
Log Message:
-----------
[ELF] Rename unique_saver to uniqueSaver. NFC
and remove an unneeded FIXME.
Commit: 2531b46264cd066d51f2571d134a63998d13710f
https://github.com/llvm/llvm-project/commit/2531b46264cd066d51f2571d134a63998d13710f
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[ELF] Move InStruct into Ctx. NFC
Ctx was introduced in March 2022 as a more suitable place for such
singletons.
`#define in ctx.sec` is used for now to avoid migrating `in.xxx`.
Commit: bafe3a4b0ca0e9294a18a9ec4fea8567cb98dabe
https://github.com/llvm/llvm-project/commit/bafe3a4b0ca0e9294a18a9ec4fea8567cb98dabe
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
Log Message:
-----------
[NFC][tsan] Fix `reallocarray`, `calloc` parameters order
Implementation is commutative, so it should make
no difference. It's done just for consistency with
documentation.
Commit: 0b041f1da5e2f01e6d7160f22250b19ac7d6bd8c
https://github.com/llvm/llvm-project/commit/0b041f1da5e2f01e6d7160f22250b19ac7d6bd8c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
Log Message:
-----------
[NFC][sanitizer] Extend `DlSymAllocator`
Preparation for using in`tsan`.
Commit: 7deca859e55faf9662c54a00b6e333826d717e19
https://github.com/llvm/llvm-project/commit/7deca859e55faf9662c54a00b6e333826d717e19
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
Log Message:
-----------
[clang-tidy] fix false positive when member initialization depends on structured binging variable in cppcoreguidelines-prefer-member-initializer (#108743)
Fixes: #82970
Detecting dependiences with `varDecl` is too strict. It will ignore the
`bingingDecl`.
This patch wants to use `valueDecl` to match more cases including
`bingingDecl`.
Commit: ffc80de8643969ffa0dbbd377c5b33e3a7488f5e
https://github.com/llvm/llvm-project/commit/ffc80de8643969ffa0dbbd377c5b33e3a7488f5e
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
M mlir/tools/mlir-pdll/mlir-pdll.cpp
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/IR/AttributeTest.cpp
M mlir/unittests/IR/OpPropertiesTest.cpp
M mlir/unittests/Support/IndentedOstreamTest.cpp
Log Message:
-----------
[mlir] Nits on uses of llvm::raw_string_ostream (NFC)
* Don't call raw_string_ostream::flush(), which is essentially a no-op
* Strip unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: a248ec3178293d3df0ceb5c6501c2532a20339fd
https://github.com/llvm/llvm-project/commit/a248ec3178293d3df0ceb5c6501c2532a20339fd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
Revert "[ELF] Move InStruct into Ctx. NFC"
The define breaks `std::in`.
https://lab.llvm.org/buildbot/#/builders/169/builds/3253
This reverts commit 2531b46264cd066d51f2571d134a63998d13710f.
Commit: 5a6e52d6ef96d2bcab6dc50bdb369662ff17d2a0
https://github.com/llvm/llvm-project/commit/5a6e52d6ef96d2bcab6dc50bdb369662ff17d2a0
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
[mlir] Nits on uses of llvm::raw_string_ostream (NFC)
* Strip calls to raw_string_ostream::flush(), which is essentially a no-op
* Strip unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 46f7cb3e84c2089db3e698cfd894167006433090
https://github.com/llvm/llvm-project/commit/46f7cb3e84c2089db3e698cfd894167006433090
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
Log Message:
-----------
[CodeGen] Use Register::id() instead of implicit cast to unsigned in Register.h. NFC
Commit: 61ff1cb452e49d41e63061bac4aebafe2e9e2209
https://github.com/llvm/llvm-project/commit/61ff1cb452e49d41e63061bac4aebafe2e9e2209
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
Revert "[mlir] Nits on uses of llvm::raw_string_ostream (NFC)"
This reverts commit 5a6e52d6ef96d2bcab6dc50bdb369662ff17d2a0.
"FAIL: MLIR::completion.test" on multiple buildbots.
Commit: 0c55ad11ab3857056bb3917fdf087c4aa811b790
https://github.com/llvm/llvm-project/commit/0c55ad11ab3857056bb3917fdf087c4aa811b790
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cert/flp30-c.c
Log Message:
-----------
[clang-tidy] fix false positive that floating point variable only used in increment expr in cert-flp30-c (#108706)
Fixes: #108049
cert-flp30-c only provides non-compliant example with normal loop.
Essentially it wants to avoid that floating point variables are used as
loop counters which are checked in condition expr and modified in
increment expr.
This patch wants to give more precise matcheres to identify this cases.
Commit: 095b41c6eedb3acc908dc63ee91ff77944c07d75
https://github.com/llvm/llvm-project/commit/095b41c6eedb3acc908dc63ee91ff77944c07d75
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
[mlir] Reland 5a6e52d6ef96d2bcab6dc50bdb369662ff17d2a0 with update (NFC)
Excluded updates to mlir/lib/AsmParser/Parser.cpp ,
which caused LIT failure "FAIL: MLIR::completion.test" on multiple buildbots.
Commit: 2ae968a0d9fb61606b020e898d884c82dd0ed8b5
https://github.com/llvm/llvm-project/commit/2ae968a0d9fb61606b020e898d884c82dd0ed8b5
Author: Antonio Frighetto <10052132+antoniofrighetto at users.noreply.github.com>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Passes/PassBuilder.h
R llvm/include/llvm/Transforms/Instrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/GCOVProfiler.h
M llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
A llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
R llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/Instrumentation.cpp
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[Instrumentation] Move out to Utils (NFC) (#108532)
Utility functions have been moved out to Utils. Minor opportunity to
drop the header where not needed.
Commit: 4fdccd346bb5969707845762d3c27f4806d46de8
https://github.com/llvm/llvm-project/commit/4fdccd346bb5969707845762d3c27f4806d46de8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 2ae968a0d9fb
Commit: d7796855b87911b8ae6c726ab5df4949f173dbd2
https://github.com/llvm/llvm-project/commit/d7796855b87911b8ae6c726ab5df4949f173dbd2
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Instrumentation.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Commands/CommandObjectRegexCommand.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/Log.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-instr/Instrument.cpp
M lldb/tools/lldb-server/LLDBServerUtilities.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
Log Message:
-----------
[lldb] Nits on uses of llvm::raw_string_ostream (NFC) (#108745)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess
indirection.
Commit: 339282d49f5310a2837da45c0ccc19da15675554
https://github.com/llvm/llvm-project/commit/339282d49f5310a2837da45c0ccc19da15675554
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicExtent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Core/DynamicExtent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/malloc-interprocedural.c
Log Message:
-----------
[analyzer] Refactor MallocChecker to use `BindExpr` in `evalCall` (#106081)
PR refactors `MallocChecker` to not violate invariant of `BindExpr`,
which should be called only during `evalCall` to avoid conflicts.
To achieve this, most of `postCall` logic was moved to `evalCall` with
addition return value binding in case of processing of allocation
functions. Check functions prototypes was changed to use `State` with
bound return value.
`checkDelim` logic was left in `postCall` to avoid conflicts with
`StreamChecker` which also evaluates `getline` and friends.
PR also introduces breaking change in the unlikely case when the
definition of an allocation function (e.g. `malloc()`) is visible: now
checker does not try to inline allocation functions and assumes their
initial semantics.
Closes #73830
Commit: e88b7ff01699a94b6458be942ff1b258f70efc2e
https://github.com/llvm/llvm-project/commit/e88b7ff01699a94b6458be942ff1b258f70efc2e
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-15 (Sun, 15 Sep 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SPARCV9.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Move InStruct into Ctx. NFC
Ctx was introduced in March 2022 as a more suitable place for such
singletons.
llvm/Support/thread.h includes <thread>, which transitively includes
sstream in libc++ and uses ios_base::in, so we cannot use `#define in ctx.sec`.
`symtab, config, ctx` are now the only variables using
LLVM_LIBRARY_VISIBILITY.
Commit: cf2122cd0ad44ff578ebae54fe2f417895264587
https://github.com/llvm/llvm-project/commit/cf2122cd0ad44ff578ebae54fe2f417895264587
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/CodeGen/arm_acle.c
Log Message:
-----------
[Clang][ARM] Make CRC and DSP intrinsics always available. (#107417)
Both feature has target feature so can be checked if the usage is valid.
Commit: 9b237b4013e86741cf7d4fcd95a7bc70772d2286
https://github.com/llvm/llvm-project/commit/9b237b4013e86741cf7d4fcd95a7bc70772d2286
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_posix.cpp
Log Message:
-----------
[ASan] Disable InstallAtForkHandler on Linux/sparc64 (#108542)
When SPARC Asan testing is enabled by PR #107405, many Linux/sparc64
tests just hang like
```
#0 0xf7ae8e90 in syscall () from /usr/lib32/libc.so.6
#1 0x701065e8 in __sanitizer::FutexWait(__sanitizer::atomic_uint32_t*, unsigned int) ()
at compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:766
#2 0x70107c90 in Wait ()
at compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp:35
#3 0x700f7cac in Lock ()
at compiler-rt/lib/asan/../sanitizer_common/sanitizer_mutex.h:196
#4 Lock ()
at compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:98
#5 LockThreads ()
at compiler-rt/lib/asan/asan_thread.cpp:489
#6 0x700e9c8c in __asan::BeforeFork() ()
at compiler-rt/lib/asan/asan_posix.cpp:157
#7 0xf7ac83f4 in ?? () from /usr/lib32/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
```
It turns out that this happens in tests using `internal_fork` (e.g.
invoking `llvm-symbolizer`): unlike most other Linux targets, which use
`clone`, Linux/sparc64 has to use `__fork` instead. While `clone`
doesn't trigger `pthread_atfork` handlers, `__fork` obviously does,
causing the hang.
To avoid this, this patch disables `InstallAtForkHandler` and lets the
ASan tests run to completion.
Tested on `sparc64-unknown-linux-gnu`.
Commit: d76966e317b3b6e61070518718077218842cea65
https://github.com/llvm/llvm-project/commit/d76966e317b3b6e61070518718077218842cea65
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
Log Message:
-----------
[sanitizer_common][test] Disable sanitizer_coverage_trace_pc_guard.cp… (#108206)
…p etc. on SPARC
When enabling ASan testing on SPARC as per PR #107405, two tests `FAIL`:
```
SanitizerCommon-asan-sparc-SunOS :: sanitizer_coverage_trace_pc_guard-dso.cpp
SanitizerCommon-asan-sparc-SunOS :: sanitizer_coverage_trace_pc_guard.cpp
```
The issue is the same in both cases:
```
WARNING: No coverage file for projects/compiler-rt/test/sanitizer_common/asan-sparc-SunOS/Output/sanitizer_coverage_trace_pc_guard.cpp.tmp
WARNING: No coverage file for sanitizer_coverage_trace_pc_guard.cpp.tmp.22766.sancov
ERROR: No valid coverage files given.
```
Checking the file with `sancov -print` reveals `Wrong magic:
4294967090`. There seems to be an endianess bug somewhere, since the
tests are already disabled on other big-endian targets.
This patch matches this.
Tested on `sparcv9-sun-solaris2.11`.
Commit: 961bc37d449819e0c959f385f7927cd8b8dc9037
https://github.com/llvm/llvm-project/commit/961bc37d449819e0c959f385f7927cd8b8dc9037
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/global-overflow.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
Log Message:
-----------
[ASan][test] XFAIL global-overflow.cpp etc. on SPARC (#108200)
When enabling ASan testing on SPARC as per PR #107405, two tests `FAIL`
in similar ways as detailed in Issue #108194: at `-O1` and above, one
line of the stacktrace lacks the line number info, causing the tests to
`FAIL`. I could trace this to `clang` generating incomplete line number
info; `g++` gets this right.
To avoid this, this patch `XFAIL`s the affected tests on SPARC.
Tested on `sparcv9-sun-solaris2.11`.
Commit: dfa54298ff6d6e420a1a5b74c070912409713589
https://github.com/llvm/llvm-project/commit/dfa54298ff6d6e420a1a5b74c070912409713589
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
A llvm/test/CodeGen/AArch64/init-undef.mir
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
Log Message:
-----------
[InitUndef] Enable the InitUndef pass on non-AMDGPU targets (#108353)
The InitUndef pass works around a register allocation issue, where undef
operands can be allocated to the same register as early-clobber result
operands. This may lead to ISA constraint violations, where certain
input and output registers are not allowed to overlap.
Originally this pass was implemented for RISCV, and then extended to ARM
in #77770. I've since removed the target-specific parts of the pass in
#106744 and #107885. This PR reduces the pass to use a single
requiresDisjointEarlyClobberAndUndef() target hook and enables it by
default. The hook is disabled for AMDGPU, because overlapping
early-clobber and undef operands are known to be safe for that target,
and we get significant codegen diffs otherwise.
The motivating case is the one in arm64-ldxr-stxr.ll, where we were
previously incorrectly allocating a stxp input and output to the same
register.
Commit: 6d3f6c2170dd60e86743c205e33ead2f455656b4
https://github.com/llvm/llvm-project/commit/6d3f6c2170dd60e86743c205e33ead2f455656b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
Log Message:
-----------
[RecursiveASTVisitor] Do not inline TraverseStmt (NFC) (#107601)
As things are now, this reduces size of clang bootstrapped with ThinLTO
by 0.3% and reduces thin link time by 0.3%. More importantly, it avoids
a large regression once https://github.com/llvm/llvm-project/pull/107114
is merged. Without this change, there would be a 0.4% regression in code
size and 4% (!) regression in thin link time. There is no impact on
run-time performance.
Commit: b29c5b66fd1b241b6d8a9cd810cd4e9bad318225
https://github.com/llvm/llvm-project/commit/b29c5b66fd1b241b6d8a9cd810cd4e9bad318225
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[NFC][LoopVectorize] Dont pass LLVMContext to VPTypeAnalysis constructor (#108540)
We already pass a Type object into the VPTypeAnalysis constructor, which
can be used to obtain the context. While in the same area it also made
sense to avoid passing the context into the VPTransformState and
VPCostContext constructors.
Commit: b7e51b4f139ec18c498c818c6bcaa5a842cea83c
https://github.com/llvm/llvm-project/commit/b7e51b4f139ec18c498c818c6bcaa5a842cea83c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/lib/IR/Function.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
M llvm/test/Transforms/SCCP/ip-constant-ranges.ll
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
M llvm/test/Transforms/SCCP/ip-ranges-phis.ll
M llvm/test/Transforms/SCCP/ip-ranges-select.ll
M llvm/test/Transforms/SCCP/musttail-call.ll
M llvm/test/Transforms/SCCP/pointer-nonnull.ll
M llvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll
M llvm/test/Transforms/SCCP/switch.ll
Log Message:
-----------
[IPSCCP] Infer attributes on arguments (#107114)
During inter-procedural SCCP, also infer attributes on arguments, not
just return values. This allows other non-interprocedural passes to make
use of the information later.
Commit: 6784202b6bb0930d2e4bf231e915c61e446b0585
https://github.com/llvm/llvm-project/commit/6784202b6bb0930d2e4bf231e915c61e446b0585
Author: Andrea Di Biagio <35701327+adibiagio at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
A llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
Log Message:
-----------
[MCA][ResourceManager] Fix a bug in the instruction issue logic. (#108386)
Before this patch, the pipeline selection logic in
ResourceManager::issueInstruction() didn't know how to correctly handle
instructions which consume multiple partially overlapping resource
groups. In some cases (like the test case from #108157), the inability
to correctly allocate resources on instruction issue was leading to
crashes.
The presence of multiple partially overlapping groups complicates the
selection process by introducing extra constraints. For those cases, the
issue logic now prioritizes groups which are more constrained than
others.
Fixes #108157
Commit: cab4c10eedfa4f2537877e96afc376fe47189b10
https://github.com/llvm/llvm-project/commit/cab4c10eedfa4f2537877e96afc376fe47189b10
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
Log Message:
-----------
[mlir][AsmParser] Avoid use of moved value (#108789)
'std::string detailData' is moved in the innermost loop of a 2-layer
loop, but is written to throughout the whole duration of the 2-layer
loop.
After move, std::string is in an unspecified state
(implementation-dependent).
Avoid using a moved value, as it incurs undefined behavior.
Commit: 57b50a973935c444fd333fc574e0cf331ce218ee
https://github.com/llvm/llvm-project/commit/57b50a973935c444fd333fc574e0cf331ce218ee
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] port 2ae968a0d9fb61606b020e898d884c82dd0ed8b5
Commit: e16ec9b45e4a8fd3fdc67338ea9c77457460a25a
https://github.com/llvm/llvm-project/commit/e16ec9b45e4a8fd3fdc67338ea9c77457460a25a
Author: ErikHogeman <erik.hogeman at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Do not build illegal nodes with users (#108573)
When we build a node with illegal type which has a user, it's possible
that it can end up being processed by the DAG combiner later before it's
removed, which can trigger an assert expecting the types to be legalized
already.
Commit: 27c83382d83dce0f33ae67abb3bc94977cb3031f
https://github.com/llvm/llvm-project/commit/27c83382d83dce0f33ae67abb3bc94977cb3031f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__functional/function.h
M libcxx/include/__hash_table
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__split_buffer
M libcxx/include/__tree
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/list
M libcxx/include/string
M libcxx/include/vector
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
R libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Replace `__compressed_pair` with `[[no_unique_address]]` (#76756)
This significantly simplifies the code, improves compile times and
improves the object layout of types using `__compressed_pair` in the
unstable ABI. The only downside is that this is extremely ABI sensitive
and pedantically breaks the ABI for empty final types, since the address
of the subobject may change. The ABI of the whole object should not be
affected.
Fixes #91266
Fixes #93069
Commit: 8d89f83db0937db318947a546e690fc8b0d22beb
https://github.com/llvm/llvm-project/commit/8d89f83db0937db318947a546e690fc8b0d22beb
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
Log Message:
-----------
[RISCV] Add some missing VP zvfhmin test coverage. NFC
We're also missing coverage for the vp_reduce_* nodes, but they
currently crash with zvfhmin. It looks like they're getting expanded
instead of promoted.
Commit: 9e9b1178ca435f690381ffe8241e4bf1bb7e60fb
https://github.com/llvm/llvm-project/commit/9e9b1178ca435f690381ffe8241e4bf1bb7e60fb
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lldb/examples/synthetic/libcxx.py
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
Log Message:
-----------
[lldb] Support new libc++ __compressed_pair layout (#96538)
This patch is in preparation for the `__compressed_pair` refactor in
https://github.com/llvm/llvm-project/pull/76756.
This is mostly reviewable now. With the new layout we no longer need to
unwrap the `__compressed_pair`. Instead, we just need to look for child
members. E.g., to get to the underlying pointer of `std::unique_ptr` we
no longer do,
```
GetFirstValueOfCXXCompressedPair(GetChildMemberWithName("__ptr_"))
```
but instead do
```
GetChildMemberWithName("__ptr_")
```
We need to be slightly careful because previously the
`__compressed_pair` had a member called `__value_`, whereas now
`__value_` might be a member of the class that used to hold the
`__compressed_pair`. So before unwrapping the pair, we added checks for
`isOldCompressedLayout` (not sure yet whether folding this check into
`GetFirstValueOfCXXCompressedPair` is better).
Commit: 7e5fe3ec5aed001c3b8f0bf59167b6472b91b9cc
https://github.com/llvm/llvm-project/commit/7e5fe3ec5aed001c3b8f0bf59167b6472b91b9cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
R lldb/packages/Python/lldbsuite/test/bench.py
M lldb/packages/Python/lldbsuite/test/decorators.py
R lldb/test/API/benchmarks/continue/Makefile
R lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
R lldb/test/API/benchmarks/continue/main.cpp
R lldb/test/API/benchmarks/expression/Makefile
R lldb/test/API/benchmarks/expression/TestExpressionCmd.py
R lldb/test/API/benchmarks/expression/TestRepeatedExprs.py
R lldb/test/API/benchmarks/expression/main.cpp
R lldb/test/API/benchmarks/frame_variable/TestFrameVariableResponse.py
R lldb/test/API/benchmarks/libcxxlist/Makefile
R lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
R lldb/test/API/benchmarks/libcxxlist/main.cpp
R lldb/test/API/benchmarks/libcxxmap/Makefile
R lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
R lldb/test/API/benchmarks/libcxxmap/main.cpp
R lldb/test/API/benchmarks/startup/TestStartupDelays.py
R lldb/test/API/benchmarks/stepping/TestSteppingSpeed.py
R lldb/test/API/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
Log Message:
-----------
[lldb][test] Remove benchmark API tests (#108629)
These benchmarks don't get run as part of the regular API test-suite.
And I'm not aware of any CI running this. Also, I haven't quite managed
to actually run them locally using the `bench.py` script. It looks like
these are obsolete, so I'm proposing to remove the infrastructure around
it entirely.
If anyone does know of a use for these do let me know.
Commit: feac761f3797c4232224fa891df12a5fef74ded9
https://github.com/llvm/llvm-project/commit/feac761f3797c4232224fa891df12a5fef74ded9
Author: David Green <david.green at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
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/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalISel][AArch64] Add G_FPTOSI_SAT/G_FPTOUI_SAT (#96297)
This is an implementation of the saturating fp to int conversions for
GlobalISel. On AArch64 the converstion instrctions work this way,
producing saturating results. LegalizerHelper::lowerFPTOINT_SAT is
ported from SDAG.
AArch64 has a lot of existing tests for fptosi_sat, covering a wide
range of types. I have tried to make most of them work all at once, but
a few fall back due to other missing features such as f128 handling for
min/max.
Commit: dbdf84388a825645850a47b035a1f7ab27b789b5
https://github.com/llvm/llvm-project/commit/dbdf84388a825645850a47b035a1f7ab27b789b5
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add Syntacore SCR7 processor definition (#108406)
Syntacore SCR7 is a high-performance Linux-capable RISC-V processor
core.
The core has rv64imafdcv_zba_zbb_zbc_zbs_zkn march.
Overview: https://syntacore.com/products/scr7
Scheduling model will be added in a subsequent PR.
---------
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Anton Afanasyev <anton.afanasyev at syntacore.com>
Co-authored-by: Elena Lepilkina <elena.lepilkina at syntacore.com>
Commit: 0f86cb315429b3fe084a7205d40599a0d07e4882
https://github.com/llvm/llvm-project/commit/0f86cb315429b3fe084a7205d40599a0d07e4882
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
A mlir/docs/Dialects/OpenMPDialect/ODS.md
A mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Reorganize 'omp' dialect documentation (NFC) (#107232)
This patch creates a handwritten main documentation page for the OpenMP
dialect linking to the ODS-generated one as a sub-section.
This new page can be extended to better describe overall design
decisions of the dialect rather than relying exclusively on
documentation generated automatically from ODS descriptions. After some
investigation, there seem to be a few main ways we could structure
dialect documentation to allow the introduction of possibly extensive
handwritten text.
- Create a top-level OpenMPDialect.td file that includes the
auto-generated one. This is what the `acc` dialect currently does, but
it results in the addition of two equal TOCs. It would be possible to
move the `include` before all handwritten sections so that the page
would have a single TOC, but I believe moving general descriptions to
the end of the document would hurt readability. Also keeping the section
order without introducing a second TOC would mean the TOC would be
inserted somewhere halfway through the page, which isn't useful.
- Create an OpenMPDialect directory with an _index.md including the
auto-generated documentation. This is a different way of reproducing the
same issues described above, which is what is currently done for the
`linalg` dialect. The multiple TOC issue there is avoided by only
including automatically-generated documentation for operations (i.e.
`mlir-tblgen -gen-op-doc`) rather than for dialects (i.e. `mlir-tblgen
-gen-dialect-doc`). That approach would make it impossible to generate
all of the documentation without adding new tablegen backends for
`DialectAttr`, `DialectType` and `EnumAttrInfo` definitions or making
the TOC optional through a command line option.
- Create an OpenMPDialect directory with an _index.md that does not
include the auto-generated documentation. Instead, link to another
document in that directory that includes it. This is the approach taken
here, and it circumvents all these issues without having to make any
changes to tablegen backends.
Commit: 8b82fc68a9d1b93b47eb0c3f7743ff7040fcbfd7
https://github.com/llvm/llvm-project/commit/8b82fc68a9d1b93b47eb0c3f7743ff7040fcbfd7
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Document op naming conventions (NFC) (#107233)
This patch documents op naming conventions discussed in [this
RFC](https://discourse.llvm.org/t/rfc-uniformize-openmp-dialect-operation-names/77715).
Commit: 551134c043c016dddabc24d31ebadddedf6ea060
https://github.com/llvm/llvm-project/commit/551134c043c016dddabc24d31ebadddedf6ea060
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Document clause-based op representation (NFC) (#107234)
This patch documents the clause-based op represetation discussed in
[this
RFC](https://discourse.llvm.org/t/rfc-clause-based-representation-of-openmp-dialect-operations/79053).
Commit: 06e8c6aa0d0e80d24ba0035223890ebb9f1e4ddc
https://github.com/llvm/llvm-project/commit/06e8c6aa0d0e80d24ba0035223890ebb9f1e4ddc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Document loop representation (NFC) (#107235)
This patch describes the loop wrapper approach to represent
loop-associated constructs in the OpenMP MLIR dialect and documents
current limitations and ongoing efforts.
Commit: 79ec1e7d7298b21f76b35a1a733c5245a8c850b9
https://github.com/llvm/llvm-project/commit/79ec1e7d7298b21f76b35a1a733c5245a8c850b9
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Document compound constructs representation (NFC) (#107236)
This patch documents the MLIR representation of OpenMP compound
constructs discussed in
[this](https://discourse.llvm.org/t/rfc-representing-combined-composite-constructs-in-the-openmp-dialect/76986)
and
[this](https://discourse.llvm.org/t/rfc-disambiguation-between-loop-and-block-associated-omp-parallelop/79972)
RFC.
Commit: f71061258484390cb74752e9d7e486264aa4db0a
https://github.com/llvm/llvm-project/commit/f71061258484390cb74752e9d7e486264aa4db0a
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
Revert "[clang][codegen] Fix possible crash when setting TBAA metadata on FP math libcalls (#108575)"
This reverts commit a56ca1a0fb248c6f38b5841323a74673748f43ea.
This commit broke code generation for x86 mingw targets, with regards
to long double math functions - see
https://github.com/llvm/llvm-project/pull/108575#issuecomment-2352574978
for details.
Commit: b54be00a29f8dabf9b0d9ec69373e859bc75ded4
https://github.com/llvm/llvm-project/commit/b54be00a29f8dabf9b0d9ec69373e859bc75ded4
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Process motion clauses in a single call (NFC) (#108046)
This patch removes the template parameter of the
`ClauseProcessor::processMotionClauses()` method and instead processes
both `TO` and `FROM` as part of a single call. This also enables moving
the implementation out of the header and makes it simpler for a
follow-up patch to potentially refactor `processMap()`,
`processMotionClauses()`, `processUseDeviceAddr()` and
`processUseDevicePtr()`, and minimize code duplication among these.
Commit: 9548dbedbc1b2bfb130c91df54e8007acb81e1b0
https://github.com/llvm/llvm-project/commit/9548dbedbc1b2bfb130c91df54e8007acb81e1b0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
A lldb/test/API/lang/cpp/no_unique_address/Makefile
A lldb/test/API/lang/cpp/no_unique_address/TestNoUniqueAddress.py
A lldb/test/API/lang/cpp/no_unique_address/main.cpp
Log Message:
-----------
[lldb][test] Add TestNoUniqueAddress.py
Tests that run expressions on record types with
`[[no_unique_address]]` fields.
Commit: 5aaf384b1614fcef5504d0b16d3e5063f72943c1
https://github.com/llvm/llvm-project/commit/5aaf384b1614fcef5504d0b16d3e5063f72943c1
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Support/DataLayout.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Optimizer/Transforms/StackReclaim.cpp
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/block.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/io-write.f90
M flang/test/Transforms/stack-arrays.fir
Log Message:
-----------
[flang][NFC] use llvm.intr.stacksave/restore instead of opaque calls (#108562)
The new LLVM stack save/restore intrinsic operations are more convenient
than function calls because they do not add function declarations to the
module and therefore do not block the parallelisation of passes.
Furthermore they could be much more easily marked with memory effects
than function calls if that ever proved useful.
This builds on top of #107879.
Resolves #108016
Commit: 1881f648e28aa58aa0a4dca1422572f65dafa9a4
https://github.com/llvm/llvm-project/commit/1881f648e28aa58aa0a4dca1422572f65dafa9a4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/pseudo/lib/cxx/cxx.bnf
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Basic/OperatorPrecedence.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/SemaOpenCL/unsupported.cl
Log Message:
-----------
Remove ^^ as a token in OpenCL (#108224)
OpenCL has a reserved operator (^^), the use of which was diagnosed as
an error (735c6cdebdcd4292928079cb18a90f0dd5cd65fb). However, OpenCL
also encourages working with the blocks language extension. This token
has a parsing ambiguity as a result. Consider:
unsigned x=0;
unsigned y=x^^{return 0;}();
This should result in y holding the value zero (0^0) through an
immediately invoked block call as the right-hand side of the xor
operator. However, it causes errors instead because of this reserved
token: https://godbolt.org/z/navf7jTv1
This token is still reserved in OpenCL 3.0, so we still wish to issue a
diagnostic for its use. However, we do not need to create a token for an
extension point that's been unused for about a decade. So this patch
moves the diagnostic from a parsing diagnostic to a lexing diagnostic
and no longer forms a single token. The diagnostic behavior is slightly
worse as a result, but still seems acceptable.
Part of the reason this is coming up is because WG21 is considering
using ^^ as a token for reflection, so this token may come back in the
future.
Commit: 87d56c59f52d033cd7c46d769338b9c47fea4929
https://github.com/llvm/llvm-project/commit/87d56c59f52d033cd7c46d769338b9c47fea4929
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/fstream
M libcxx/include/iomanip
M libcxx/include/istream
M libcxx/include/ostream
M libcxx/include/sstream
M libcxx/include/streambuf
M libcxx/include/syncstream
Log Message:
-----------
[libc++][modules] Guard carved-out headers more consistently (#108637)
Several headers that should not be provided when localization or threads
are disabled were not guarded. That works until one tries to build with
modules and these headers get pulled in.
Note that this could be cleaned up further into something more
systematic, but this patch solves the immediate problems I ran into with
the monolithic modulemap and doesn't create any new inconsistency that
wasn't already there.
Commit: af5a45b34bcc84e175d54226d5898ae20fc3859c
https://github.com/llvm/llvm-project/commit/af5a45b34bcc84e175d54226d5898ae20fc3859c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
Log Message:
-----------
[X86,SimplifyCFG] Use passthru to reduce select (#108754)
Commit: 765e106fb1b0e0aeb1bba18dfd93bd28233bba2f
https://github.com/llvm/llvm-project/commit/765e106fb1b0e0aeb1bba18dfd93bd28233bba2f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp
Log Message:
-----------
[lldb][test] Add a new __compressed_pair layout to libcxx simulator tests (#99012)
This is a follow-up to https://github.com/llvm/llvm-project/pull/98330
for the upcoming `__compressed_pair` refactor in
https://github.com/llvm/llvm-project/issues/93069
This patch just adds the 2 new copies of `_LIBCPP_COMPRESSED_PAIR`
layouts to the simulator tests.
Commit: 63b6c384468784d247401098c6200deb9ab70ba0
https://github.com/llvm/llvm-project/commit/63b6c384468784d247401098c6200deb9ab70ba0
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] Fix incorrect partial ordering context setting (#108491)
Commit: ed4a2a108ec867188c65f4c3743008db8dd1c0bb
https://github.com/llvm/llvm-project/commit/ed4a2a108ec867188c65f4c3743008db8dd1c0bb
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/static_assert.cpp
Log Message:
-----------
[Clang] handle invalid close location in static assert declaration (#108701)
Fixes #108687
Commit: abe964aa47a293523613df1ab5bd1c16cf50e0e7
https://github.com/llvm/llvm-project/commit/abe964aa47a293523613df1ab5bd1c16cf50e0e7
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Don't emit bogus dangling diagnostics when `[[gsl::Owner]]` and `[[clang::lifetimebound]]` are used together. (#108280)
In the GSL analysis, we don't track the `this` object if the conversion
is not from gsl::owner to gsl pointer, we want to be conservative here
to avoid triggering false positives.
Fixes #108272
Commit: 823eab2bd5fcdade92790d0f53fc5978ae068e46
https://github.com/llvm/llvm-project/commit/823eab2bd5fcdade92790d0f53fc5978ae068e46
Author: David Green <david.green at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/scmp.ll
A llvm/test/CodeGen/AArch64/sve-scmp.ll
A llvm/test/CodeGen/AArch64/sve-ucmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
Log Message:
-----------
[AArch64] Add a selection for vector scmp/ucmp tests. NFC
Commit: a06d84abd3f90a71f077ed45a54fa5439740267d
https://github.com/llvm/llvm-project/commit/a06d84abd3f90a71f077ed45a54fa5439740267d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangASTNodesEmitter.cpp
Log Message:
-----------
[NFC][Clang][TableGen] Refactor ClangASTNodesEmitter (#108580)
Change macroName() to accept a StringRef to avoid extra string copy.
Simplify ASTNode comparison function.
Use equal_range() instead of calling lower_bound() and upper_bound()
separately for std::multimap.
No need to use std::make_pair.
Commit: 0e948bfd31df6a1d4f62934c9ef453a38da6ca2b
https://github.com/llvm/llvm-project/commit/0e948bfd31df6a1d4f62934c9ef453a38da6ca2b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/utils/TableGen/ASTTableGen.cpp
M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/ClangSACheckersEmitter.cpp
M clang/utils/TableGen/ClangSyntaxEmitter.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
Log Message:
-----------
[NFC][clang][TableGen] Remove redundant llvm:: namespace qualifier (#108627)
Remove llvm:: from .cpp files, and add "using namespace llvm" if needed.
Commit: e509e8777a26d586514d0129baa153f734ec14f7
https://github.com/llvm/llvm-project/commit/e509e8777a26d586514d0129baa153f734ec14f7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
Log Message:
-----------
[SCF] Avoid repeated hash lookups (NFC) (#108793)
Commit: 91591794514fa6f17d87285acb41e3dba1eee5e5
https://github.com/llvm/llvm-project/commit/91591794514fa6f17d87285acb41e3dba1eee5e5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Format/MacroExpander.cpp
Log Message:
-----------
[Format] Avoid repeated hash lookups (NFC) (#108794)
Commit: 6f52c1e6b131f79abd47d692b1f597046efb2b6b
https://github.com/llvm/llvm-project/commit/6f52c1e6b131f79abd47d692b1f597046efb2b6b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC] Avoid repeated hash lookups (NFC) (#108795)
Commit: f4a3309c9aa2dc7194cfb45b8bc673414e899d0f
https://github.com/llvm/llvm-project/commit/f4a3309c9aa2dc7194cfb45b8bc673414e899d0f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#108796)
Commit: adb70045144ac2cab085a2a377b33388aed23114
https://github.com/llvm/llvm-project/commit/adb70045144ac2cab085a2a377b33388aed23114
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
Log Message:
-----------
[LLVM][CLange] Rename NodeType::Record to NodeType::Rec (#108826)
Fixes build failure by avoiding conflicting with `Record` class name.
Commit: e0e93c3f76fb5ea388ff8dac7a56cffaa75931b5
https://github.com/llvm/llvm-project/commit/e0e93c3f76fb5ea388ff8dac7a56cffaa75931b5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/test/Lower/OpenMP/distribute-parallel-do.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/ordered03.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Frontend][OpenMP] Follow compound construct clause restrictions (#107853)
This patch removes from the list of allowed clauses for a handful of
compound constructs those that are specifically disallowed by the OpenMP
spec. In particular, the following restrictions are followed:
- (regarding combined constructs) If _directive-name-A_ is `target`, the
`copyin` clause must not be specified.
- (regarding composite constructs) If _directive-name-A_ is
`distribute`, the `ordered` clause must not be specified.
These restrictions are listed in the OpenMP Specification version 5.2,
sections 17.4 and 17.5. Since it's a similar case as PR #90754, I'm
adding people involved in that decision as reviewers here.
Commit: b3470c3d7ab078b201bd65afc3b902d1ed41bc21
https://github.com/llvm/llvm-project/commit/b3470c3d7ab078b201bd65afc3b902d1ed41bc21
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Log Message:
-----------
[clang][NFC] declare internal linkage function static (#108759)
Detected by `misc-use-internal-linkage`
Commit: 79c4ece75f5fcc8a9e6bcd560f3184cfab04378a
https://github.com/llvm/llvm-project/commit/79c4ece75f5fcc8a9e6bcd560f3184cfab04378a
Author: goussepi <pierre.gousseau at sony.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.h
M compiler-rt/test/tsan/ignore_lib3.cpp
Log Message:
-----------
[tsan] Allow unloading of ignored libraries (#105660)
Allows unloading and reloading of ignored libraries. We don't attempt to
reuse or free memory of unloaded library. So TSan will assert if an
ignored library is reloaded 128 times.
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 165f0e80f6b811ab0c82b52e39cb5fb4010850b7
https://github.com/llvm/llvm-project/commit/165f0e80f6b811ab0c82b52e39cb5fb4010850b7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/include/__std_clang_module
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/test/std/depr/depr.c.headers/wchar_h.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
M libcxx/test/std/strings/c.strings/cwchar.pass.cpp
M libcxx/test/std/strings/c.strings/cwchar_include_order1.compile.verify.cpp
M libcxx/test/std/strings/c.strings/cwchar_include_order2.compile.verify.cpp
M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++][modules] Don't error when including <wchar.h> or <wctype.h> without wide character support (#108639)
Instead, make the headers empty like we do for all the other carve-outs.
Commit: e6618aae43012d3759f326ac6527744885825331
https://github.com/llvm/llvm-project/commit/e6618aae43012d3759f326ac6527744885825331
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
A flang/test/Lower/HLFIR/ignore-type-f77-character.f90
M flang/test/Lower/call-suspect.f90
M flang/test/Lower/implicit-call-mismatch.f90
Log Message:
-----------
[flang] fix ignore_tkr(tk) with character dummy (#108168)
The test code with ignore_tkr(tk) on character dummy passed by
fir.boxchar<> was crashing the compiler in [an
assert](https://github.com/llvm/llvm-project/blob/2afe678f0a246387977a8ca694d4489e2c868991/flang/lib/Optimizer/Dialect/FIRType.cpp#L632)
in `changeElementType`.
It makes little sense to call changeElementType on a fir.boxchar since
this type is lossy (the shape is not part of it). Just skip it in the
code dealing with ignore(tk) when hitting this case
Commit: e5d255607d200f59c5f7474b8dde6fe72d53e348
https://github.com/llvm/llvm-project/commit/e5d255607d200f59c5f7474b8dde6fe72d53e348
Author: Vakhurin Sergei <igelbox at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/PartialDiagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/PCH/race-condition.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
Log Message:
-----------
Fix OOM in FormatDiagnostic (#108187)
Resolves: #70930 (and probably latest comments from
https://github.com/clangd/clangd/issues/251)
by fixing racing for the shared `DiagStorage` value which caused messing
with args inside the storage and then formatting the following message
with `getArgSInt(1)` == 2:
```
def err_module_odr_violation_function : Error<
"%q0 has different definitions in different modules; "
"%select{definition in module '%2'|defined here}1 "
"first difference is "
```
which causes `HandleSelectModifier` to go beyond the `ArgumentLen` so
the recursive call to `FormatDiagnostic` was made with `DiagStr` >
`DiagEnd` that leads to infinite `while (DiagStr != DiagEnd)`.
**The Main Idea:**
Reuse the existing `DiagStorageAllocator` logic to make all
`DiagnosticBuilder`s having independent states.
Also, encapsulating the rest of state (e.g. ID and Loc) into
`DiagnosticBuilder`.
**TODO (if it will be requested by reviewer):**
- [x] add a test (I have no idea how to turn a whole bunch of my
proprietary code which leads `clangd` to OOM into a small public
example.. probably I must try using
[this](https://github.com/llvm/llvm-project/issues/70930#issuecomment-2209872975)
instead)
- [x] [`Diag.CurDiagID !=
diag::fatal_too_many_errors`](https://github.com/llvm/llvm-project/pull/108187#pullrequestreview-2296395489)
- [ ] ? get rid of `DiagStorageAllocator` at all and make
`DiagnosticBuilder` having they own `DiagnosticStorage` coz it seems
pretty small so should fit the stack for short-living
`DiagnosticBuilder` instances
Commit: 76a85b0e2f3e59a5fd96c4b6dbd1a2835329d1e0
https://github.com/llvm/llvm-project/commit/76a85b0e2f3e59a5fd96c4b6dbd1a2835329d1e0
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][docs] GP Relaxation and Small Data Limit (#108592)
As discussed in this week's RISC-V sync-up, we said we would add
documentation about these options, and how they work.
Commit: 5cead0cb0bdeebd47e648114541b2998ed83df6f
https://github.com/llvm/llvm-project/commit/5cead0cb0bdeebd47e648114541b2998ed83df6f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/PartialDiagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Serialization/ASTReader.cpp
R clang/test/PCH/race-condition.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
Log Message:
-----------
Revert "Fix OOM in FormatDiagnostic" (#108838)
Reverting due to build failures found in #108187
Commit: 53d60398efb06df683f1189a554f547873331c81
https://github.com/llvm/llvm-project/commit/53d60398efb06df683f1189a554f547873331c81
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
Log Message:
-----------
[CMake] Use old DynamicLibrary symbol behavior on AIX for now (#108692)
New behavior broke the AIX bot, so fall back to the old behavior on AIX
for now to give time to investigate
Commit: 0f723eb67197421caf6504a7e4594751040b1924
https://github.com/llvm/llvm-project/commit/0f723eb67197421caf6504a7e4594751040b1924
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/ctype.h
Log Message:
-----------
[Clang] Add locale variants to libc offload wrappers
Summary:
These need to be present now that the GPU "supports" them (only for the
default POSIX locale).
Commit: b9198a17315757dc0c2e831c9df0498dcab55285
https://github.com/llvm/llvm-project/commit/b9198a17315757dc0c2e831c9df0498dcab55285
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/Float128Math/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Fixed include directories for Float128Math files. (#108466)
When building FortranRuntime out of tree on aarch64, the list of include
directories for the files comming from FortranFloat128MathILib
has to contain flang/runtime. I did this via
INTERFACE_INCLUDE_DIRECTORIES property.
Commit: 0bc8168070677ef08d58864477d95ebdef917d0c
https://github.com/llvm/llvm-project/commit/0bc8168070677ef08d58864477d95ebdef917d0c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Fix reinterpret_casts from pointer to non-pointers (#108811)
We need to be a little more careful here with whether or nor we are able
to do the cast at all or not.
Commit: 94e7c0b051c79fd56205f115771980f2e7812306
https://github.com/llvm/llvm-project/commit/94e7c0b051c79fd56205f115771980f2e7812306
Author: A. Jiang <de34 at live.cn>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/UserDocumentation.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__memory/temporary_buffer.h
A libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/syncstream
M libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
M libcxx/utils/libcxx/test/modules.py
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[libc++] Remove get_temporary_buffer and return_temporary_buffer (#100914)
Works towards P0619R4 / #99985.
The use of `std::get_temporary_buffer` and `std::return_temporary_buffer`
are replaced with `unique_ptr`-based RAII buffer holder.
Escape hatches:
- `_LIBCPP_ENABLE_CXX20_REMOVED_TEMPORARY_BUFFER` restores
`std::get_temporary_buffer` and `std::return_temporary_buffer`.
Drive-by changes:
- In `<syncstream>`, states that `get_temporary_buffer` is now removed,
because `<syncstream>` is added in C++20.
Commit: 50985d23e517b4238effcd3e41b0329fdc6a6999
https://github.com/llvm/llvm-project/commit/50985d23e517b4238effcd3e41b0329fdc6a6999
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
Log Message:
-----------
[libc][nfc] Fix typo in header generation message. (#108813)
Fix a typo in the header generation message.
Before:
Generating header from
/home/vscode/llvm-project/llvm/../libc/newhdrgen/yaml/ctype.yaml and
/home/vscode/llvm-project/libc/include/ctype.h.def
After:
Generating header ctype.h from
/home/vscode/llvm-project/llvm/../libc/newhdrgen/yaml/ctype.yaml and
/home/vscode/llvm-project/libc/include/ctype.h.def
Commit: 01df775dc42b62141ad07ad30aaa361ab162b8f5
https://github.com/llvm/llvm-project/commit/01df775dc42b62141ad07ad30aaa361ab162b8f5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__hash_table
M libcxx/include/__tree
M libcxx/include/forward_list
M libcxx/include/list
Log Message:
-----------
[libc++] Take the ABI break for `std::list`'s pointer UB unconditionally (#100585)
This ABI break only affects fancy pointer which have a different value
representation when pointing to a base of T instead of T itself. This
seems like a rather small set of fancy pointers, which themselves
already represent a very small niche. This patch swaps a pointer to T
with a pointer to base of T in a few library-internal types.
Commit: b592917eec407a01ef07334af5aafe6c8922c80a
https://github.com/llvm/llvm-project/commit/b592917eec407a01ef07334af5aafe6c8922c80a
Author: Kolya Panchenko <87679760+nikolaypanchenko at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[LV] Added verification of EVL recipes (#107630)
Commit: 4c6f313cb340c435f47ac032857030768c81c341
https://github.com/llvm/llvm-project/commit/4c6f313cb340c435f47ac032857030768c81c341
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/NewDelete-atomics.cpp
A clang/test/Analysis/malloc-refcounted.c
Log Message:
-----------
[analyzer] [MallocChecker] suspect all release functions as candidate for suppression (#104599)
Current MalloChecker logic suppresses FP caused by refcounting only for
C++ destructors. The same pattern occurs a lot in C in objects with
intrusive refcounting. See #104229 for code example.
To extend current logic to C, suspect all release functions as candidate
for suppression.
Closes: #104229
Commit: f564a48f0ea4d2100c0cadfa6e6f20f97244025e
https://github.com/llvm/llvm-project/commit/f564a48f0ea4d2100c0cadfa6e6f20f97244025e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
A llvm/test/Transforms/SLPVectorizer/X86/trunc-node-reused.ll
Log Message:
-----------
[SLP]Fix PR108700: correctly identify id of the operand node
If the operand node for truncs is not created during construction, but
one of the previous ones is reused instead, need to correctly identify
its index, to correctly emit the code.
Fixes https://github.com/llvm/llvm-project/issues/108700
Commit: bc54e5636f2080e6a35ec201d5963a2c455fe5f5
https://github.com/llvm/llvm-project/commit/bc54e5636f2080e6a35ec201d5963a2c455fe5f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
A flang/include/flang/Runtime/CUDA/memory.h
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/memory.cpp
Log Message:
-----------
[flang][cuda] Add new entry points function for data transfer (#108244)
Add new entry points for more complex data transfer involving
descriptors. These functions will be called when converting
`cuf.data_transfer` operations.
Commit: 69f3244da76586be393d1e97b01660c6f03d666c
https://github.com/llvm/llvm-project/commit/69f3244da76586be393d1e97b01660c6f03d666c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Switch to `gnu_get_libc_version` (#108724)
`gnu_get_libc_version` unlike `confstr` is not
intercepted. We should be able to use this
function earier.
Looks like we use `confstr` staring from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60038
but there is no specific reason to refer it over
`gnu_get_libc_version`.
Commit: 18ef467d73d7dfc471c98d76021f040fef0037bf
https://github.com/llvm/llvm-project/commit/18ef467d73d7dfc471c98d76021f040fef0037bf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
Log Message:
-----------
[SLP]Fix PR108709: postpone buildvector clustered nodes, if required
The "clustered" nodes for buildvector nodes must be postponed in
accordance with the global flag, otherwise it may cause crash because of
the dependency between phi nodes.
Commit: c0719d8c08f440feab09418f02e5937426756b40
https://github.com/llvm/llvm-project/commit/c0719d8c08f440feab09418f02e5937426756b40
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/RELEASE_TESTERS.TXT
M llvm/docs/CodeReview.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/HowToReleaseLLVM.rst
Log Message:
-----------
[Policy] Replace "code owners" with "maintainers" (#107384)
This replaces the previous Code Owners section of our developer policy
with a new section for Maintainers. It also updates most of the places
we mention "code owner" in the documentation (it does not update the
files named `Code Owners.rst` or similar because those should be updated
when the subprojects add their `Maintainers.rst` file).
The wording was taken from what was proposed in the RFC (including all
suggested amendments from folks on the thread).
Please see the RFC for more details:
https://discourse.llvm.org/t/rfc-proposing-changes-to-the-community-code-ownership-policy/80714/
Commit: 08efa23083606dc0248c4a7dee7087fa96b29c04
https://github.com/llvm/llvm-project/commit/08efa23083606dc0248c4a7dee7087fa96b29c04
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
Log Message:
-----------
[mlir] Allow multi-result ops in reshape fusion (#108576)
Fusion of reshapes by collapsing patterns were restricted to single
result operations, but the implementation supports multi result ops.
This PR removes the restriction, since it is not necessary.
Commit: 5c348f692a8dff98a3780d0b859fb0949eccbaca
https://github.com/llvm/llvm-project/commit/5c348f692a8dff98a3780d0b859fb0949eccbaca
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
A llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-icmp.mir
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
Log Message:
-----------
[GlobalIsel] Canonicalize G_ICMP (#108755)
As a side-effect, we start constant folding icmps.
Split out from https://github.com/llvm/llvm-project/pull/105991.
Commit: f5ba3e1fa6b5f862789786fbb4b342dfc2c27c33
https://github.com/llvm/llvm-project/commit/f5ba3e1fa6b5f862789786fbb4b342dfc2c27c33
Author: nebulark <nebulark at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/debug-info-codeview-buildinfo.c
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/test/DebugInfo/COFF/build-info.ll
M llvm/test/DebugInfo/COFF/global-type-hashes.ll
M llvm/test/DebugInfo/COFF/types-basic.ll
M llvm/test/DebugInfo/COFF/types-data-members.ll
Log Message:
-----------
[CodeView] Flatten cmd args in frontend for LF_BUILDINFO (#106369)
Commit: 960c975acd86b0135aac9396ffd311cb94e479b9
https://github.com/llvm/llvm-project/commit/960c975acd86b0135aac9396ffd311cb94e479b9
Author: David Green <david.green at arm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
Log Message:
-----------
[AArch64] Expand scmp/ucmp vector operations with sub (#108830)
Unlike scalar, where AArch64 prefers expanding scmp/ucmp with select,
under Neon we can use the arithmetic expansion to generate fewer
instructions. Notably it also prevents the scalarization of vselect
during vector-legalization.
Commit: f0787edc5e38e5ce7d180802e2c4d920e9253c56
https://github.com/llvm/llvm-project/commit/f0787edc5e38e5ce7d180802e2c4d920e9253c56
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][docs] Explain Relaxation Default
As requested in follow-up comments on #108592.
Commit: d3014e1f3b8289dad35475942f9bcf39403576eb
https://github.com/llvm/llvm-project/commit/d3014e1f3b8289dad35475942f9bcf39403576eb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Use RTLD_DEFAULT for _dl_get_tls_static_info (#108723)
We don't intercept this one, no reason to use RTLD_NEXT.
Co-authored-by: Sam Elliott <quic_aelliott at quicinc.com>
Commit: a40b36f28e184adec975b682bc8d0fbeeb91113e
https://github.com/llvm/llvm-project/commit/a40b36f28e184adec975b682bc8d0fbeeb91113e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port 5c348f692a8d
Commit: aaa0f4d38226b90695b11b4fa915a620d0c16567
https://github.com/llvm/llvm-project/commit/aaa0f4d38226b90695b11b4fa915a620d0c16567
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][Docs] Remove Zvbb, Zvbc and Zvk* from experimental C intrinsics section of RISCVUsage.rst. NFC (#108718)
These are no longer experimental after
051054e6f74303bc880221e88671745f363964cc. I left the section because we
will be adding intrinsics for Zvkgs and Zvbc32e.
Commit: 83bb7318cad150608d5579aa9fbfd7e8d600e5c5
https://github.com/llvm/llvm-project/commit/83bb7318cad150608d5579aa9fbfd7e8d600e5c5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][NFC] Add missing space in -Wunsafe-buffer-usage documentation (#107905)
That missing space was causing the whole sentence to be rendered
incorrectly in the resulting HTML.
Commit: 9ec1f658144afb8b4117a62a593561a46a64d469
https://github.com/llvm/llvm-project/commit/9ec1f658144afb8b4117a62a593561a46a64d469
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
Revert "[NFC][sanitizer] Simplify ifdef"
Breaks the [Solaris/sparcv9](https://lab.llvm.org/buildbot/#/builders/13/builds/2219) and [Solaris/amd64](https://lab.llvm.org/staging/#/builders/120/builds/1770) builds.
This reverts commit c21909a530f438bcc942c11e6d7b875bb28a028a.
Commit: 04d71ea11ba84d989faed4572ee54265386851f6
https://github.com/llvm/llvm-project/commit/04d71ea11ba84d989faed4572ee54265386851f6
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[Format] Dont treat LBrace after extends/implements as initializer list (#108524)
This extends the fix in https://github.com/llvm/llvm-project/pull/106242
for other derived class types.
Commit: 8ee685e601617031f50daa3df5e0f1aa38e15108
https://github.com/llvm/llvm-project/commit/8ee685e601617031f50daa3df5e0f1aa38e15108
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/test/CodeGen/DirectX/reversebits.ll
Log Message:
-----------
[NFC][DirectX] fix intrinsics that need IntrNoMem and test typo (#108852)
In the process of adding scalarization support for DirectX target
intrinsics I found that intrinsics that weren't marked with `IntrNoMem`
did not get removed by
`RecursivelyDeleteTriviallyDeadInstructionsPermissive`. So this change
is to make it more clear that our intrinsics don't have side effects.
I only added `IntrNoMem` to the intrinics in `IntrinsicsDirectX.td` I
was involved with. There a potentially a few other cases that might
warrant this attribute, but will need input on the others.
Commit: 0ea0e3a1b6dcf06674f0b64ecdad1f8e457f1aac
https://github.com/llvm/llvm-project/commit/0ea0e3a1b6dcf06674f0b64ecdad1f8e457f1aac
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
Log Message:
-----------
[sanitizer] Add CHECK that static TLS info is ready (#108684)
There is possibility of
static_tls_begin is set and static_tls_end is not yet
The test reproduces the case.
Stack trace looks like this:
* `MsanThread::Init`
* `SetThreadStackAndTls`
* `GetThreadStackAndTls`
* `GetThreadStackTopAndBottom`
* `pthread_getattr_np`
* `realloc`
* `__sanitizer_malloc_hook`
* TLS access
* `___interceptor___tls_get_addr`
* `DTLS_on_tls_get_addr`
The issue is that `SetThreadStackAndTls` implementation
stores `tls_begin` before `GetThreadStackTopAndBottom`,
and `tls_end` after. So we have partially initialized
state in `DTLS_on_tls_get_addr`.
Commit: 000a3f0a54876f1519393e40085500e16ea12cf4
https://github.com/llvm/llvm-project/commit/000a3f0a54876f1519393e40085500e16ea12cf4
Author: Зишан Мирза <149377404+zimirza at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/newhdrgen/yaml/time.yaml
M libc/spec/stdc.td
M libc/src/time/CMakeLists.txt
A libc/src/time/ctime.cpp
A libc/src/time/ctime.h
A libc/src/time/ctime_r.cpp
A libc/src/time/ctime_r.h
M libc/src/time/time_utils.h
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/ctime_r_test.cpp
A libc/test/src/time/ctime_test.cpp
Log Message:
-----------
[libc][c11] implement ctime (#107285)
This is an implementation of `ctime` and includes `ctime_r`.
According to documentation, `ctime` and `ctime_r` are defined as the
following:
```c
char *ctime(const time_t *timep);
char *ctime_r(const time_t *restrict timep, char buf[restrict 26]);
```
closes #86567
Commit: d8ee96c50029c294c29dad4aad57def9eefc6ff3
https://github.com/llvm/llvm-project/commit/d8ee96c50029c294c29dad4aad57def9eefc6ff3
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/MC/WebAssembly/annotations.s
Log Message:
-----------
[WebAssembly] Add indentations to annotations.s (#108790)
Given that the instructions here are all control flow instructions,
adding indentations seem to make it easier to read.
Commit: 4b4dbaaede7c6fd215f48dba83e2215a69a8811a
https://github.com/llvm/llvm-project/commit/4b4dbaaede7c6fd215f48dba83e2215a69a8811a
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
A llvm/test/MC/WebAssembly/eh-assembly-legacy.s
R llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Rename eh-assembly.s to -legacy.s (#108747)
The plan was to make `eh-assembly.s` contain both the legacy and the new
tests, but the new tests require `--no-type-check` because the type
checker for the new EH is in progress. In case this drags on further
than expected, this renames the current file to `-legacy.s` in order to
follow the current naming scheme in `test/CodeGen/WebAssembly`.
After landing this first, `eh-assembly-new.s` in #108668 will be renamed
to `eh-assembly.s`.
Commit: e5271fef8fd8931370f04702ba2f9e8b2ab0e523
https://github.com/llvm/llvm-project/commit/e5271fef8fd8931370f04702ba2f9e8b2ab0e523
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Update secondary cache time-based release logic (#107507)
Secondary cache entries are now released to the OS from least recent to
most recent entries. This helps to avoid unnecessary scans of the cache
since entries ready to be released (specifically, entries that are
considered old relative to the configurable release interval) will
always be at the tail of the list of committed entries by the LRU
ordering. For this same reason, the `OldestTime` variable is no longer
needed to indicate when releases are necessary so it has been removed.
Commit: 1bfc3d0de591b6b4e18ee720bd24f58e45d597ef
https://github.com/llvm/llvm-project/commit/1bfc3d0de591b6b4e18ee720bd24f58e45d597ef
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/asfloat.hlsl
A clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
Log Message:
-----------
Implementing `asfloat` using `bit_cast` (#108686)
This PR is implementing `asfloat` for HLSL.
Fixes: #70098
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: 09e3a360581dc36d0820d3fb6da9bd7cfed87b5d
https://github.com/llvm/llvm-project/commit/09e3a360581dc36d0820d3fb6da9bd7cfed87b5d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax_element.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_find_last.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__chrono/day.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/month.h
M libcxx/include/__chrono/monthday.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__chrono/year.h
M libcxx/include/__chrono/year_month.h
M libcxx/include/__chrono/year_month_day.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__concepts/predicate.h
M libcxx/include/__expected/expected.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/invoke.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/perfect_forward.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__random/uniform_random_bit_generator.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/range_adaptor.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/algorithm
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/experimental/iterator
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/map
M libcxx/include/optional
M libcxx/include/set
M libcxx/include/sstream
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/vector
M libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
M libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/alignof.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/sizeof.compile.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.arguments/format.arg/arg_t.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.verify.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v1.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
M libcxx/test/std/atomics/stdatomic.h.syn/types.compile.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.hash/error_code.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.hash/error_condition.pass.cpp
M libcxx/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_arith_operators.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_bitwise_operators.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible_propagate_const.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.move_ctor.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/move_ctor.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/equal_to.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater_equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less_equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/not_equal_to.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/not_equal.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/sfinae.compile.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp
M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/assign.pass.cpp
M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/construct.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
M libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/types.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mdlast/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mdlast/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/weekday_indexed.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/weekday_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/index.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.year_month_day_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month_day_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/index.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday_indexed.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/types.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.zonedtraits/const_time_zone_default_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/const_time_zone_locate_zone.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.msvc/test.hpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp
M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp
M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp
M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/is_placeholder.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.types/difference_type.compile.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_unbounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/default_type.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater_equal/cmp_greater_equal.pass.cpp
M libcxx/test/support/format.functions.common.h
M libcxx/test/support/hexfloat.h
M libcxx/test/support/operator_hijacker.h
M libcxx/test/support/test.workarounds/c1xx_broken_za_ctor_check.pass.cpp
M libcxx/test/support/test_convertible.h
Log Message:
-----------
[libc++][modules] Fix missing and incorrect includes (#108850)
This patch adds a large number of missing includes in the libc++ headers
and the test suite. Those were found as part of the effort to move
towards a mostly monolithic top-level std module.
Commit: 73d83f20c9734a3fe004f2607606b64ab20998f0
https://github.com/llvm/llvm-project/commit/73d83f20c9734a3fe004f2607606b64ab20998f0
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Types.h
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Types.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/extras/types.py
M mlir/test/IR/attribute.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/python/ir/builtin_types.py
M mlir/utils/lldb-scripts/mlirDataFormatters.py
M mlir/utils/tree-sitter-mlir/grammar.js
Log Message:
-----------
[MLIR] Add f6E2M3FN type (#107999)
This PR adds `f6E2M3FN` type to mlir.
`f6E2M3FN` type is proposed in [OpenCompute MX
Specification](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf).
It defines a 6-bit floating point number with bit layout S1E2M3. Unlike
IEEE-754 types, there are no infinity or NaN values.
```c
f6E2M3FN
- Exponent bias: 1
- Maximum stored exponent value: 3 (binary 11)
- Maximum unbiased exponent value: 3 - 1 = 2
- Minimum stored exponent value: 1 (binary 01)
- Minimum unbiased exponent value: 1 − 1 = 0
- Has Positive and Negative zero
- Doesn't have infinity
- Doesn't have NaNs
Additional details:
- Zeros (+/-): S.00.000
- Max normal number: S.11.111 = ±2^(2) x (1 + 0.875) = ±7.5
- Min normal number: S.01.000 = ±2^(0) = ±1.0
- Max subnormal number: S.00.111 = ±2^(0) x 0.875 = ±0.875
- Min subnormal number: S.00.001 = ±2^(0) x 0.125 = ±0.125
```
Related PRs:
- [PR-94735](https://github.com/llvm/llvm-project/pull/94735) [APFloat]
Add APFloat support for FP6 data types
- [PR-105573](https://github.com/llvm/llvm-project/pull/105573) [MLIR]
Add f6E3M2FN type - was used as a template for this PR
Commit: 68e4518598d63efa02230f400e50263baccbb8e4
https://github.com/llvm/llvm-project/commit/68e4518598d63efa02230f400e50263baccbb8e4
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
Revert "[NFC][sanitizer] Switch to `gnu_get_libc_version` (#108724)"
This reverts commit 69f3244da76586be393d1e97b01660c6f03d666c.
Reason: buildbot breakage because Android doesn't have <gnu/libc-version.h>
https://lab.llvm.org/buildbot/#/builders/186/builds/2381
(It's probably easy to fix but I don't readily have an Android device to test.)
Commit: 397e4dcdc94d3abb853ead7318df5920be697180
https://github.com/llvm/llvm-project/commit/397e4dcdc94d3abb853ead7318df5920be697180
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Add link to `VendorDocumentation.rst` from `TestingLibcxx.rst` (#108714)
This makes it easier for readers to locate how to build the library.
Commit: 2d13302d3851747a023ffecc6388585e888cd0e9
https://github.com/llvm/llvm-project/commit/2d13302d3851747a023ffecc6388585e888cd0e9
Author: A. Jiang <de34 at live.cn>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/unord/unord.set/insert_node_type.pass.cpp
Log Message:
-----------
[libc++][test] Confirm that P0508R0 has been implemented (#108172)
The paper was implemented by commit b0386a515b60c
(https://reviews.llvm.org/D46845) in LLVM 7.0. But it would be nice to
have test coverage for desired properties of `insert_return_type`.
Closes #99944
Commit: 8f023ec81df2f7d26db3c90e7a197d9f75472304
https://github.com/llvm/llvm-project/commit/8f023ec81df2f7d26db3c90e7a197d9f75472304
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV] Add coverage for select C, C1, C2 where (C1-C2)*[0,1] is cheap
Commit: b7c9ebe4ece556aa10cb592b59fe3793f4d9e6c2
https://github.com/llvm/llvm-project/commit/b7c9ebe4ece556aa10cb592b59fe3793f4d9e6c2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/lsan/lsan_posix.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/nsan_thread.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
Log Message:
-----------
[sanitizer] Fix partially initialized static TLS range (#108685)
Fixes asan, msan crash on check added in #108684.
The #108684 includes reproducer of the issue.
Change interface of `GetThreadStackAndTls` to
set `tls_begin` and `tls_end` at the same time.
Commit: 4eb978026152772bcdd139899e8d0192f7ddbc11
https://github.com/llvm/llvm-project/commit/4eb978026152772bcdd139899e8d0192f7ddbc11
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
Log Message:
-----------
[RISCV] Fix IR for store_large_offset_no_opt_i16 in make-compressible-zbc.mir. NFC
The IR used loads instead of stores.
Commit: 62cdc2a347584f32dd9c351b2384c873da0f32ad
https://github.com/llvm/llvm-project/commit/62cdc2a347584f32dd9c351b2384c873da0f32ad
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
A llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
Log Message:
-----------
[NVPTX] Convert calls to indirect when call signature mismatches function signature (#107644)
When there is a function signature mismatch between a call
instruction and the callee, lower the call to an indirect call. The
current behavior is to produce direct calls that may or may not be
valid PTX. Consider the following example with mismatching return
types:
```
%struct.1 = type <{i64}>
%struct.2 = type <{i64}>
declare %struct.1 @callee()
...
%call1 = call %struct.2 @callee()
%call2 = call i64 @callee()
```
The return type of `callee` in PTX is `.b8 _[8]`. The return type of
`%call1` will be the same and so the PTX has no problems. The return
type of `%call2` will be `.b64`, so the types will not match and PTX
will be unacceptable to ptxas. This despite all the types having the
same size. The same is true for mismatching parameter types.
If we instead convert these calls to indirect calls, we will generate
functional PTX when the types have the same size. If they do not have
the same size then the PTX will likely be incorrect, though this will not
necessarily be caught by ptxas. Also, even if the sizes are the same, if
the types differ then it is technically undefined behavior. This change
allows for more flexibility in the bitcode that can be lowered to
functioning PTX, at the cost of sometimes producing PTX that is less
clearly wrong than it would have been previously (i.e. incorrect indirect
calls are not as obviously wrong as incorrect direct calls). We consider
it okay to generate PTX with undefined behavior as the behavior of
calls with mismatching types is not explicitly defined.
Commit: cf70a1ee815d11ae52c4a5d034e65a7a713bd06c
https://github.com/llvm/llvm-project/commit/cf70a1ee815d11ae52c4a5d034e65a7a713bd06c
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF] .llvm.sympart: support CREL
When both CREL and the experimental lld partitions feature are enabled,
the relocation section may look like .crel.llvm_sympart.f1, and
`rels.relas` is empty. While here, support relocation sections with zero
entry.
Commit: e99755d41c8d5ee8594fa161ac05fbef02d902aa
https://github.com/llvm/llvm-project/commit/e99755d41c8d5ee8594fa161ac05fbef02d902aa
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
Log Message:
-----------
[libc++][test] Adjust expected hexfloat format (#95011)
The test expects a hex float format of `0x0p+0`, but AIX prints
`0x0.0p+0`. This change adjusts the test to accept both.
Commit: 49c5cebb2966d5e8f0784370d818023a1054e189
https://github.com/llvm/llvm-project/commit/49c5cebb2966d5e8f0784370d818023a1054e189
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
Log Message:
-----------
[X86] Improve support for vXi8 arithmetic shifts, logical left shifts
Use SWAR techniques for arithmetic shifts: we use the same technique as
logical right shift but with an additional step of sign extending the
result.
Also, use the logical shift left technique even on AVX512 as vpmovzxbw
and vpmovwb are actually quite expensive.
Commit: f14fd32602a3e898b151ea0302d1d0f8cb2f5afc
https://github.com/llvm/llvm-project/commit/f14fd32602a3e898b151ea0302d1d0f8cb2f5afc
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M .github/workflows/commit-access-review.py
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements.txt.in
Log Message:
-----------
workflows/commit-access-review: Use get_collaborators() function (#108313)
This gets us the full list of users with commit access to
llvm/llvm-project rather than the list of people in the llvm-committers
team. This will ensure we are able everyone to track everyone with
commit access in case they receive access some other way.
Commit: 0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
https://github.com/llvm/llvm-project/commit/0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
A clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Add `[[hlsl::contained_type()]]` attribute (#108456)
Introducing a new HLSL resource type attribute `[[contained_type(T)]]`
which describes the "contained type" of a buffer or resource type.
Specifically, the attribute will be used on the resource handle in
templated buffer types like so:
template <typename T> struct RWBuffer {
__hlsl_resource_t [[hlsl::contained_type(T)]] [[hlsl::resource_class(UAV)]] h;
};
Fixes #104855
Commit: d95597dc06c510ad7fbf00a43583c54d38f79aa7
https://github.com/llvm/llvm-project/commit/d95597dc06c510ad7fbf00a43583c54d38f79aa7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][string] Remove potential non-trailing 0-length array (#108867)
It is a violation of the standard to use 0 length arrays, especially
when not at the end of a structure (not a FAM GNU extension). Compiler
generally accept it, but it's probably better to have a conforming
implementation.
This is a re-application of #105865 which was reverted in 72cfc74
because it broke the data formatters. A LLDB patch has since been landed
that should make this a non-issue.
Co-authored-by: serge-sans-paille <sguelton at mozilla.com>
Commit: ddd1a0204872b859485eff941569f0f0af5dda42
https://github.com/llvm/llvm-project/commit/ddd1a0204872b859485eff941569f0f0af5dda42
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
Revert "[scudo] Update secondary cache time-based release logic (#107507)"
This reverts commit e5271fef8fd8931370f04702ba2f9e8b2ab0e523.
Reason: buildbot breakage: https://lab.llvm.org/buildbot/#/builders/139/builds/3806
Commit: 34a4eefcbd8d394616cdb16dcadc70b934a577ce
https://github.com/llvm/llvm-project/commit/34a4eefcbd8d394616cdb16dcadc70b934a577ce
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/test/Semantics/OpenMP/workshare02.f90
M flang/test/Semantics/call11.f90
Log Message:
-----------
[flang] Warn about impure calls in concurrent headers (#108436)
Emit a warning when an impure function is referenced from a DO
CONCURRENT or FORALL concurrent-header that is not nested within another
such construct. (That nested case is already an error.)
Commit: eebe9a3fca39e0d0e464993f41e63aa41c308da7
https://github.com/llvm/llvm-project/commit/eebe9a3fca39e0d0e464993f41e63aa41c308da7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang][CUDA] Fix crash in name resolution for CUDA function (#108616)
When a function result type appears on a FUNCTION statement after some
CUDA attributes, there wasn't always valid program source location
information attached to the function result variable information stack.
Ensure that some relevant source information is always available.
Commit: 50d15e688f4a88662f28d5d712f2ba2533466974
https://github.com/llvm/llvm-project/commit/50d15e688f4a88662f28d5d712f2ba2533466974
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M flang/lib/Evaluate/real.cpp
M flang/runtime/numeric-templates.h
M flang/test/Evaluate/fold-spacing.f90
Log Message:
-----------
[flang] Subnormal arguments to and results from SPACING (#108861)
The standards aren't clear about how IEEE-754 subnormal values interact
with the intrinsic function SPACING. Four compilers interpret the
standard such that SPACING(x) will return a value never less than
TINY(x); one compiler returns TINY(x) for ABS(x) <= TINY(x) but can
return SPACING(x) < TINY(x) for some ABS(x) > TINY(x); one other
compiler works similarly, but also oddly returns SPACING(x) < TINY(x)
for ABS(x) >= TINY(x)/2.
Follow the most common precedent.
Commit: 9a1d0744ed851ee927f32f6b06777d93e9e32561
https://github.com/llvm/llvm-project/commit/9a1d0744ed851ee927f32f6b06777d93e9e32561
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/lsan/lsan_posix.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/nsan_thread.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
Log Message:
-----------
Revert "[sanitizer] Fix partially initialized static TLS range" (#108881)
Reverts llvm/llvm-project#108685
Breaks Darwin and Windows
https://lab.llvm.org/buildbot/#/builders/107/builds/2930
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/11684/
Commit: 3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e
https://github.com/llvm/llvm-project/commit/3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/memory/Makefile
A lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
A lldb/test/API/tools/lldb-dap/memory/main.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Support inspecting memory (#104317)
Add support for the `readMemory` request which allows VS-Code to
inspect memory. Also, add `memoryReference` to variables and `evaluate`
responses, such that the binary view can be opened from the variables
view and from the "watch" pane.
Commit: f13b7d0b020d0d409322ed7544c16b224324083d
https://github.com/llvm/llvm-project/commit/f13b7d0b020d0d409322ed7544c16b224324083d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/lsan/lsan_posix.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/nsan_thread.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
Log Message:
-----------
Reland "[sanitizer] Fix partially initialized static TLS range" (#108883)
Reland llvm/llvm-project#108685
Arguments order was wrong on Windows and Darwin.
Commit: 7e56a092781b094307155457f129df7deda411ae
https://github.com/llvm/llvm-project/commit/7e56a092781b094307155457f129df7deda411ae
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[RISCV] Add a testcase for an unprofitable machine-sink issue
This corresponds to an upcoming change which will fully explain
why this is a machine-sink issue.
Commit: ad06e9562a3d2b532240390275c2b35f58004c04
https://github.com/llvm/llvm-project/commit/ad06e9562a3d2b532240390275c2b35f58004c04
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
Reapply "[NFC][sanitizer] Switch to `gnu_get_libc_version` (#108724)" (#108885)
In #108724 `#ifdef` was used instead of `#if`.
This reverts commit 68e4518598d63efa02230f400e50263baccbb8e4.
Commit: 6ca5c397a99aca2b9faa9b2d96238c5bda33010e
https://github.com/llvm/llvm-project/commit/6ca5c397a99aca2b9faa9b2d96238c5bda33010e
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Redirect __imp_ Symbols to __imp_aux_ on ARM64EC for x64 object files (#108608)
On ARM64EC, __imp_ symbols reference the auxiliary IAT, while __imp_aux_
symbols reference the regular IAT. However, x86_64 code expects both to
reference the regular IAT. This change adjusts the symbols accordingly,
matching the behavior observed in the MSVC linker.
Commit: 0975e2ac58b6d62429d51df54911fb4d03dcda05
https://github.com/llvm/llvm-project/commit/0975e2ac58b6d62429d51df54911fb4d03dcda05
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
Log Message:
-----------
[LLDB][Minidump] Add a progress bar to minidump (#108309)
Added a progress tracker to Minidump file builders memory saving
Commit: dbc590073d2cc2a0bd3260b9a3156a966935c6a1
https://github.com/llvm/llvm-project/commit/dbc590073d2cc2a0bd3260b9a3156a966935c6a1
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/test/MC/WebAssembly/eh-assembly-legacy.s
M llvm/test/MC/WebAssembly/func-end-errors.s
M llvm/test/MC/WebAssembly/funcref-from-table.s
M llvm/test/MC/WebAssembly/type-checker-br.s
Log Message:
-----------
[WebAssembly] Fix .functype directives in tests (#108748)
For defined functions, it appears `.functype` directive should be after
the function label. Otherwise binary generation does not seem to work
correctly. Also this fixes a case that the `.functype` directive's name
is incorrect.
Commit: 488640389faedee8c65566275441779faa620fd2
https://github.com/llvm/llvm-project/commit/488640389faedee8c65566275441779faa620fd2
Author: Chris B <chris.bieneman at me.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/Basic/LangStandards.def
M clang/lib/Basic/LangStandards.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
M clang/test/SemaHLSL/group_shared.hlsl
M clang/test/SemaHLSL/prohibit_reference.hlsl
Log Message:
-----------
[HLSL] Align language modes on 202x as default (#108662)
As captured in issue #108044, HLSL 202x is the target language mode for
conformance for Clang. Earlier language modes will be a best effort and
prioritized after 2020x. To make this easier and reduce our testing
complexity we want to make 202x the default language mode now, and align
all earlier modes to match 202x (except where we explicitly deviate).
This change has the following concrete changes:
* All older language modes gain `CPlusPlus11` as a base
* The default language mode for HLSL sources is changed to 202x
* A few test cases are updated to resolve differences in generated
diagnostics.
Second to last change for #108044
Commit: bffb26f1531ecfe209b84f77b170ddb0df991351
https://github.com/llvm/llvm-project/commit/bffb26f1531ecfe209b84f77b170ddb0df991351
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Add LinkerDriver::ctx. NFC
Commit: a366323c8db13616d6eaa603c0ab3895acaea669
https://github.com/llvm/llvm-project/commit/a366323c8db13616d6eaa603c0ab3895acaea669
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
Log Message:
-----------
[RISCV][GISel] Restore s32 support for G_ABS on RV64.
This reverts commit 5e6a1987a5d4574d3c3811f878ddbbbf7c35fa01.
I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.
Commit: f022111e640f10f5f5e879c1dd585ddd0a40acf3
https://github.com/llvm/llvm-project/commit/f022111e640f10f5f5e879c1dd585ddd0a40acf3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
Log Message:
-----------
[RISCV][GISel] Restore s32 support on RV64 for DIV, and REM.
This reverts commit 2599d695128381e6932b43f0e95649c533308d6d.
I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.
Commit: d9045420ae8c1b986232a44b9e3073793eec7f8a
https://github.com/llvm/llvm-project/commit/d9045420ae8c1b986232a44b9e3073793eec7f8a
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Add Config &Ctx::arg. NFC
And migrate LinkerDriver member functions to use `ctx.arg.x` instead of
`config->x`.
Commit: 0cc2cd781594aec741f7262df7a48d73a7d09a18
https://github.com/llvm/llvm-project/commit/0cc2cd781594aec741f7262df7a48d73a7d09a18
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/locations/Makefile
A lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
A lldb/test/API/tools/lldb-dap/locations/main.c
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Provide `declarationLocation` for variables (#102928)
This commit implements support for the "declaration location" recently
added by microsoft/debug-adapter-protocol#494 to the debug adapter
protocol.
For the `declarationLocationReference` we need a variable ID similar to
the `variablesReference`. I decided to simply reuse the
`variablesReference` here and renamed `Variables::expandable_variables`
and friends accordingly. Given that almost all variables have a
declaration location, we now assign those variable ids to all variables.
While `declarationLocationReference` effectively supersedes
`$__lldb_extensions.declaration`, I did not remove this extension, yet,
since I assume that there are some closed-source extensions which rely
on it.
I tested this against VS-Code Insiders. However, VS-Code Insiders
currently only supports `valueLoctionReference` and not
`declarationLocationReference`, yet. Locally, I hence published the
declaration locations as value locations, and VS Code Insiders navigated
to the expected places. Looking forward to proper VS Code support for
`declarationLocationReference`.
Commit: 48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
https://github.com/llvm/llvm-project/commit/48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
Author: ziqingluo-90 <ziqing_luo at apple.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix a bug in "Re-land [-Wunsafe-buffer-usage] Warning Libc functions (#101583)"
StringLiteral::getString() is not applicable to strings of wide
characters. Added handling for that.
(rdar://117182250)
Commit: f99bb02d7d28bb127af86483d9c2710088f76756
https://github.com/llvm/llvm-project/commit/f99bb02d7d28bb127af86483d9c2710088f76756
Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
R llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
Log Message:
-----------
[SPIR-V] Emit DebugTypeBasic for NonSemantic DI (#106980)
The commit introduces support for fundamental DI instruction. Metadata
handlers required for this instruction is stored inside debug records
(https://llvm.org/docs/SourceLevelDebugging.html) parts of the module
which rises the necessity of it's traversal.
Commit: c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
https://github.com/llvm/llvm-project/commit/c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/test/utils/update-verify-tests/lit.local.cfg
Log Message:
-----------
fix update-verify-tests test suite for AIX (#108871)
The diff command on AIX doesn't support the --strip-trailing-cr flag.
The internal python implementation does, so execute the tests in the
update-verify-tests test suite using the internal shell for
compatibility.
Commit: 7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
https://github.com/llvm/llvm-project/commit/7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[NFC][ASan] Replace calls to Report() and Die() with ReportIncompatibleRT() in AsanCheckIncompatibleRT() (#107991)
Commit: a20794b574803677e6407bdccef136d2e1622535
https://github.com/llvm/llvm-project/commit/a20794b574803677e6407bdccef136d2e1622535
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
Log Message:
-----------
[Sanitizer] Call Die() instead of Abort() when failed to reserve shadow memory range (#107833)
I grep the code and find that `Abort()` is only called in `Die()` when
the flag `abort_on_error` is set.
Thus, if reserving shadow memory range fails, `Die()` rather than
`Abort()` should be called. In this case, the flag `abort_on_error` will
be respected and the die callbacks will be called.
Commit: fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
https://github.com/llvm/llvm-project/commit/fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Simplify ThreadDescriptorSizeFallback using early return (#108908)
Commit: 8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
https://github.com/llvm/llvm-project/commit/8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Remove `else if` from ThreadDescriptorSizeFallback (#108909)
Commit: 5df1b79372a89648cdb4ab798f1c74985e00ac6e
https://github.com/llvm/llvm-project/commit/5df1b79372a89648cdb4ab798f1c74985e00ac6e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
Log Message:
-----------
[HLSL] Add `[[hlsl::raw_buffer]]` attribute (#107954)
This PR introduces new HLSL resource type attribute
`[[hlsl::raw_buffer]]`. Presence of this attribute on a resource handle
means that the resource does not require typed element access. The
attribute will be used on resource handles that represent buffers like
`StructuredBuffer` or `ByteAddressBuffer` and in DXIL it will be
translated to target extension type `dx.RawBuffer`.
Fixes #107907
Commit: 97ae505753c5ade30229d223733775766ae51e47
https://github.com/llvm/llvm-project/commit/97ae505753c5ade30229d223733775766ae51e47
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
Log Message:
-----------
[WebAssembly] Support disassembler for try_table (#108800)
This adds support for disassembler for the new `try_table` instruction.
This adds tests for `throw` and `throw_ref` as well.
Currently tag expressions are not supported for `throw` or `try_table`
instruction when instructions are parsed from the disassembler. Not sure
whether there is a way to support it. (This is not a new thing for the
new EH proposal; it has not been supported for the legacy EH as well.)
Commit: 64aaf0559d9333dc00c04bb581739ddc5da358b2
https://github.com/llvm/llvm-project/commit/64aaf0559d9333dc00c04bb581739ddc5da358b2
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[Clang] [Driver] Ensure `-fms-volatile` is set for x86 for `*-windows-msvc` triple on non cl driver modes (#107509)
Similar reasoning as this PR:
https://github.com/llvm/llvm-project/pull/107177
`-fms-volatile` should be set by default for x86 targets as long as the
triple is `*-windows-msvc`.
The driver mode shouldn't dictate the triple when targeting msvc
compatibility.
Commit: 884221eddb9d395830704fac79fd04008e02e368
https://github.com/llvm/llvm-project/commit/884221eddb9d395830704fac79fd04008e02e368
Author: JOE1994 <joseph942010 at gmail.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M mlir/lib/Debug/Observers/ActionProfiler.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/QueryParser.cpp
Log Message:
-----------
[mlir] Tidy uses of llvm::raw_stream_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 95a0b4f729310d95d89f01f4d92ab7d2bf09941c
https://github.com/llvm/llvm-project/commit/95a0b4f729310d95d89f01f4d92ab7d2bf09941c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
Revert "[clang][ExprConst] Allow comparisons with string literals (#106733)"
This reverts commit 5d1d2f08c4a92580e7f6b3b6b77b2b6f6184e126.
See the discussion in https://github.com/llvm/llvm-project/pull/106733
and https://github.com/llvm/llvm-project/issues/58754
Commit: 2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
https://github.com/llvm/llvm-project/commit/2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/Support/FormatVariadic.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
Log Message:
-----------
[Support] Fix bugs in formatv automatic index assignment (#108384)
Fix bugs found when actually trying to use formatv() automatic index
assignment in IntrinsicEmitter.cpp:
- Assign automatic index only for `ReplacementType::Format`.
- Make the check for all replacement indices being either automatic orexplicit more accurate.
The existing check fails for formatv("{}{0}{}", 0, 1) (added as a unit test). Explicitly track if we
have seen any explicit and any automatic index instead.
Commit: 884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
https://github.com/llvm/llvm-project/commit/884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-16 (Mon, 16 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll
Log Message:
-----------
[LegalizeVectorOps] Make the AArch64 hack in ExpandFNEG more specific.
Only scalarize single element vectors when vector FSUB is not
supported and scalar FNEG is supported.
Commit: 6af2f225a0f820d331f251af69c2dad0c845964e
https://github.com/llvm/llvm-project/commit/6af2f225a0f820d331f251af69c2dad0c845964e
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
Log Message:
-----------
[RISCV] Restrict combineOp_VLToVWOp_VL w/ bf16 to vfwmadd_vl with zvfbfwma (#108798)
We currently make sure to check that if folding an op to an f16 widening
op that we have zvfh. We need to do the same for bf16 vectors, but with
the further restriction that we can only combine vfmadd_vl to vfwmadd_vl
(to get vfwmaccbf16.v{v,f}).
The added test case currently crashes because we try to fold an add to a
bf16 widening add, which doesn't exist in zvfbfmin or zvfbfwma
This moves the checks into the extension support checks to keep it one
place.
Commit: 41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
https://github.com/llvm/llvm-project/commit/41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
Log Message:
-----------
[RISCV] Account for zvfhmin and zvfbfmin promotion in register usage (#108370)
A half with only zvfhmin or bfloat will end up getting promoted to a f32
for most instructions.
Unless the loop consists only of memory ops and permutation instructions
which don't need promoted (is this common?), we'll end up using double
the LMUL than what's currently being returned by getRegUsageForType.
Since this is used by the loop vectorizer, it seems better to be
conservative and assume that any usage of a zvfhmin half/bfloat will end
up being widened to a f32
Commit: 30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
https://github.com/llvm/llvm-project/commit/30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
Log Message:
-----------
[RISCV] Add asserts requirement to loop vectorizer tests
Hopefully this fixes a buildbot failure on fuchsia where opt doesn't
have -debug-only
Commit: 827dd1ef2f104a98b9912694e5938d6d12808200
https://github.com/llvm/llvm-project/commit/827dd1ef2f104a98b9912694e5938d6d12808200
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M bolt/test/lit.local.cfg
Log Message:
-----------
[Bolt] Explicitly request PIE in tests (#108818)
When clang is built with `-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, a number of
bolt tests fail:
BOLT :: AArch64/build_id.c
BOLT :: AArch64/plt-call.test
BOLT :: X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
BOLT :: X86/dwarf5-locexpr-referrence.test
BOLT :: X86/internal-call-instrument.s
BOLT :: X86/linux-static-keys.s
BOLT :: X86/plt-call.test
Avoid this by explicitly adding `-fPIE` and `-pie` to the default flags
in tests, so we don't depend on the clang-side default.
Commit: 539f9161a28e1c90743586a2d7664160ce3815c8
https://github.com/llvm/llvm-project/commit/539f9161a28e1c90743586a2d7664160ce3815c8
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/test/Instrumentation/sanitizers-naked.ll
Log Message:
-----------
[Instrumentation] Precommit tests for PR108552 (NFC)
Commit: 8d8bedef0d0a6a65927d5684ff332453fb6507ee
https://github.com/llvm/llvm-project/commit/8d8bedef0d0a6a65927d5684ff332453fb6507ee
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[Bufferization] Avoid repeated hash lookups (NFC) (#108925)
Commit: 65a5b18aa04087ffba11760bd4654aaae211aa38
https://github.com/llvm/llvm-project/commit/65a5b18aa04087ffba11760bd4654aaae211aa38
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
Log Message:
-----------
[Shape] Avoid repeated hash lookups (NFC) (#108926)
Commit: 9825d1ffcdee409864dc499394b1c2d2247822f0
https://github.com/llvm/llvm-project/commit/9825d1ffcdee409864dc499394b1c2d2247822f0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Dialect/PDL/IR/PDL.cpp
Log Message:
-----------
[PDL] Avoid repeated hash lookups (NFC) (#108927)
Commit: 71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
https://github.com/llvm/llvm-project/commit/71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
Log Message:
-----------
[MLProgram] Avoid repeated hash lookups (NFC) (#108928)
Commit: 942e872d5b1a06bcb2388593dc14234f02961618
https://github.com/llvm/llvm-project/commit/942e872d5b1a06bcb2388593dc14234f02961618
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/sanitizers-naked.ll
Log Message:
-----------
[Instrumentation] Do not request sanitizers for naked functions
Sanitizers instrumentation may be incompatible with naked functions,
which lack of standard prologue/epilogue.
Commit: acfa294b5e2b10dfe9b9fc075259d849a3897493
https://github.com/llvm/llvm-project/commit/acfa294b5e2b10dfe9b9fc075259d849a3897493
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-cannonicalize-fcmp.mir
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
Log Message:
-----------
[GlobalIsel] Canonicalize G_FCMP (#108891)
As a side-effect, we start constant folding fcmps.
Commit: c970e96eaedf76f349fcb95309a85fec29844c0e
https://github.com/llvm/llvm-project/commit/c970e96eaedf76f349fcb95309a85fec29844c0e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[libc][bazel] Enable software prefetching for memset (#108860)
This will affect only Bazel configuration for now.
Commit: c91f2a259f378a9a4817c675b9a01557fcf7cae8
https://github.com/llvm/llvm-project/commit/c91f2a259f378a9a4817c675b9a01557fcf7cae8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrVecCompiler.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
M llvm/test/CodeGen/X86/domain-reassignment.mir
M llvm/test/CodeGen/X86/masked_compressstore_isel.ll
M llvm/test/CodeGen/X86/masked_expandload_isel.ll
Log Message:
-----------
[X86] Consistently use 'k' for predicate mask registers in instruction names (#108780)
We use 'k' for move instructions and to indicate masked variants of evex instructions, but otherwise we're very inconsistent when we use 'k' vs 'r'.
Commit: c48a1ebec150e09ccb1fa13b26d284b8324d365d
https://github.com/llvm/llvm-project/commit/c48a1ebec150e09ccb1fa13b26d284b8324d365d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
Log Message:
-----------
[LV] Remove force-vector-width/force-vector-interleave from X86 test.
Update target-specific test to not force VF/UF, but instead use the
cost-model. There are similar tests arleady outside X86 and those force
VF & UF.
With this change, the target specific test checks the cost model.
Changes in picked VF/UF are limited to test_pr62954_scalar_epilogue_required,
and should preserve the original spirit of the test.
Commit: f25b09199ab8026bf50364cfc8d49a860fb9a760
https://github.com/llvm/llvm-project/commit/f25b09199ab8026bf50364cfc8d49a860fb9a760
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
R llvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll
Log Message:
-----------
ValueTracking/test: increase recurrence coverage (#108836)
The shift-recurrence-knownbits.ll test file only covers shift
instructions while testing recurrence patterns with knownbits. Add tests
for add, sub, mul, and, and or as well, and rename the file
recurrence-knownbits.ll.
Commit: 79d380f2ca288b3d2f9aafb1149f4239e8a8308e
https://github.com/llvm/llvm-project/commit/79d380f2ca288b3d2f9aafb1149f4239e8a8308e
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
Log Message:
-----------
[AArch64][SVE2] Add codegen patterns for SVE2 FAMINMAX (#107284)
Tablegen patterns were previously added to lower the following sequences
from generic IR to NEON FAMIN/FAMAX instructions
- `fminimum((abs(a), abs(b)) -> famin(a, b)`
- `fmaximum((abs(a)), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/103027
- `fminnum[nnan](abs(a), abs(b)) -> famin(a, b)`
- `fmaxnum[nnan](abs(a), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/104766
The same idea has been applied for the scalable vector variants of
[FAMIN](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMIN--Floating-point-absolute-minimum--predicated--)/[FAMAX](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMAX--Floating-point-absolute-maximum--predicated--).
('nnan' documenatation:
https://llvm.org/docs/LangRef.html#fast-math-flags).
- Changes to LLVM
- lib/target/AArch64/AArch64SVEInstrInfo.td
- Add 'AArch64fminnm_p_nnan' and 'AArch64fmaxnm_p_nnan' patfrags
(patterns predicated on the 'nnan' flag).
- Add 'AArch64famax_p' and 'AArch64famin_p'
- test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
- Add tests to verify the new patterns, including both positive and
negative tests for 'nnan' predicated behavior.
Commit: 3c5c61a4149181381f775383bc06e48457b76d7b
https://github.com/llvm/llvm-project/commit/3c5c61a4149181381f775383bc06e48457b76d7b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
Log Message:
-----------
[LV] Add first order rec test where hoisting can improve over sinking.
Commit: 4de7026ce36564ef2f86ddcd7f183d837ad0901d
https://github.com/llvm/llvm-project/commit/4de7026ce36564ef2f86ddcd7f183d837ad0901d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Split linux time targets to avoid dependency cycles
clock_gettime is much heavier than the others as it depends on vdso.
Commit: 3e32e455913f0fe56f53f2f5711ea0130473d99a
https://github.com/llvm/llvm-project/commit/3e32e455913f0fe56f53f2f5711ea0130473d99a
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
Log Message:
-----------
[NVPTX] Verify ptx in the right version
Commit: 6357781e3f9fbc5a14a794b8769b451c863c65c7
https://github.com/llvm/llvm-project/commit/6357781e3f9fbc5a14a794b8769b451c863c65c7
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 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] fix nullptr dereference in bugprone-forwarding-reference (#106856)
Previously, when checking if a `TemplateSpecializationType` is either
`enable_if` or `enable_if_t`, the AST matcher would call
`getTemplateName`, `getASTemplateDecl` and `getTemplatedDecl` in
succession to check the `NamedDecl` returned from `getTemplatedDecl` is
an `std::enable_if[_t]`. In the linked issue, the pointer returned by
`getTemplatedDecl` is a `nullptr` that is unconditionally accessed,
resulting in a crash. Instead, the checking is done on the
`TemplateDecl`
returned by `getASTemplateDecl`.
Fixes #106333
Commit: 50320ec967a2c6546e53998225dddb76c4016dc5
https://github.com/llvm/llvm-project/commit/50320ec967a2c6546e53998225dddb76c4016dc5
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
Log Message:
-----------
[NFC][clang-tidy] reword diagnostic note in definitions-in-headers (#106862)
`make as inline` made little sense here, so I changed the `make` to
`mark`
and added `the definition` as well.
Commit: 605a9adb4340b347f480a95a6eef3c9045e8416f
https://github.com/llvm/llvm-project/commit/605a9adb4340b347f480a95a6eef3c9045e8416f
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
Log Message:
-----------
[clang-tidy] fix false positive in modernize-min-max-use-initializer-list (#107649)
Previously, whenever a replacement was generated by the analysis, a
diagnostic was generated. This became an issue when a call to
`std::min` or `std::max` consisted only of an initializer list with at
least one argument to the list requiring a type cast.
In this case, a single replacement that added a `static_cast` was
created,
that resulted in a diagnostic being issued but with no nested call
to `std::min` or `std::max`.
Instead, explicitly track if a nested call was detected and only emit a
diagnostic if this is the case.
Fixes #107594
Commit: caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
https://github.com/llvm/llvm-project/commit/caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
Log Message:
-----------
[clang-tidy] only diagnose definitions in readability-enum-initial-value (#107652)
With the `isDefinition` matcher, the analysis and diagnostics will be
constrained to definitions only. Previously forward declarations were
diagnosed as well.
Fixes #107590
Commit: 24ccdc5f291048b70e424bb4a63cadce6d891f11
https://github.com/llvm/llvm-project/commit/24ccdc5f291048b70e424bb4a63cadce6d891f11
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/tools/llvm-as/llvm-as.cpp
Log Message:
-----------
[llvm][llvm-as] Fix file input extension description (#108295)
Input file extension description should mention that it should be `.ll`
not `.llvm`
Commit: 50d55dc175fb4766ca15d5095412c92284df196c
https://github.com/llvm/llvm-project/commit/50d55dc175fb4766ca15d5095412c92284df196c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/tools/llvm-cat/llvm-cat.cpp
Log Message:
-----------
[llvm][llvm-cat] Fix typo in the Input file name option (#108294)
Current usage printed by llvm-cat
`USAGE: llvm-cat [options] <input files>`
Should be changed to
`USAGE: llvm-cat [options] <input files>`
Commit: 88a9bcaf7074d21aa818cfa3952300dc9547be77
https://github.com/llvm/llvm-project/commit/88a9bcaf7074d21aa818cfa3952300dc9547be77
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update `cxx_dr_status.html`
Commit: 1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
https://github.com/llvm/llvm-project/commit/1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[flang][StackArrays] run in parallel on different functions (#108842)
Since #108562, StackArrays no longer has to create function declarations
at the module level to use stacksave/stackrestore LLVM intrinsics. This
will allow it to run in parallel on multiple functions at the same time.
Commit: 270ee6549c9368b2ff86ef9794a7fd5e5496ef00
https://github.com/llvm/llvm-project/commit/270ee6549c9368b2ff86ef9794a7fd5e5496ef00
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis][NFC] Clean-up in ScalarEvolution when copying predicates (#108851)
There are a few places in ScalarEvolution.cpp where we copy predicates
from one list to another and they have a similar pattern:
for (const auto *P : ENT.Predicates)
Predicates->push_back(P);
We can avoid the loop by writing them like this:
Predicates->append(ENT.Predicates.begin(), ENT.Predicates.end());
which may end up being more efficient since we only have to try
reserving more space once.
Commit: b39a100ff4ec16f1f9cafcc48ea7fed920726650
https://github.com/llvm/llvm-project/commit/b39a100ff4ec16f1f9cafcc48ea7fed920726650
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/main.cpp
Log Message:
-----------
[lldb][lldb-dap] Remove unused includes in memory test
Added in 3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e
Commit: 64cfce95d38d6884d501fd1ece959e7809a94025
https://github.com/llvm/llvm-project/commit/64cfce95d38d6884d501fd1ece959e7809a94025
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
Log Message:
-----------
[MLIR][OpenMP][Docs] Document operand structures (NFC) (#108824)
This patch updates the OpenMP dialect top-level documentation to
describe the operand structures, when they can be used and how they are
automatically generated.
Commit: 83220e9c2b370a985620fe90fa9acc9a473ba3fb
https://github.com/llvm/llvm-project/commit/83220e9c2b370a985620fe90fa9acc9a473ba3fb
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/test/BUILD.gn
Log Message:
-----------
[gn build] Add llvm-cgdata dependency to check-lld
This ports f4763b3d2.
Commit: 731a68383f0e0a38e727b839f92a225c5e809b45
https://github.com/llvm/llvm-project/commit/731a68383f0e0a38e727b839f92a225c5e809b45
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Refine operand iterators in the SIInsertWaitcnts. NFCI. (#108884)
Commit: bc8a5d104c69cee9cb9a870785da1eac62b58e32
https://github.com/llvm/llvm-project/commit/bc8a5d104c69cee9cb9a870785da1eac62b58e32
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
A llvm/test/Transforms/SimplifyCFG/patchpoint-invalid-sink.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Patchpoint] Add immarg attributes to patchpoint arguments (#97276)
Commit: 1fc288bf481726393c73133eef9aa73c0f78312e
https://github.com/llvm/llvm-project/commit/1fc288bf481726393c73133eef9aa73c0f78312e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Transforms/debug-assumed-size-array.fir
Log Message:
-----------
[flang][debug] Handle lower bound in assumed size arrays. (#108523)
Fixes #108411
Commit: 1603f99a37c5b179a21dbb8000c39a471a950927
https://github.com/llvm/llvm-project/commit/1603f99a37c5b179a21dbb8000c39a471a950927
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
[libc++] Explicitly convert to masks in SIMD code (#107983)
This makes it clearer when we use masks and avoids MSan complaining.
Commit: b1d7694c128fd200a23f4494530aa3ae50fa76ce
https://github.com/llvm/llvm-project/commit/b1d7694c128fd200a23f4494530aa3ae50fa76ce
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-aarch64.c
Log Message:
-----------
[AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (#108857)
Adds __ARM_ACLE_VERSION and __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL
as defined here https://github.com/ARM-software/acle/pull/301 and
here https://github.com/ARM-software/acle/pull/302.
Also bumps __ARM_ACLE to 202420.
Commit: b6f72fc1e202c749333bd5b8ecb879d661af16b6
https://github.com/llvm/llvm-project/commit/b6f72fc1e202c749333bd5b8ecb879d661af16b6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/test/Transforms/debug-fn-info.fir
Log Message:
-----------
[flang][debug] Generate correct subroutine type. (#108605)
We pass a list of types when creating a subroutine type. The first one
is supposed to be return type and the rest are the argument types. A
subroutine does not have a return type so an argument type could be
confused as a return type. To fix this, if there is no return type, we
generate a null type as a place holder.
Fixes #108564.
Commit: 20c5432d0fb4ac852482141d89287e3fcc2d1278
https://github.com/llvm/llvm-project/commit/20c5432d0fb4ac852482141d89287e3fcc2d1278
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/private-assoc.f90
Log Message:
-----------
[flang][Semantics][OpenMP] Don't privatise associate names (#108856)
The associate name preserves the association with the selector
established in the associate statement. Therefore it is incorrect to
change the data-sharing attribute of the name.
Closes #58041
Commit: 72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
https://github.com/llvm/llvm-project/commit/72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-ld-from-st.ll
M llvm/test/CodeGen/AArch64/arm64_32.ll
M llvm/test/CodeGen/AArch64/bitfield-extract.ll
M llvm/test/CodeGen/AArch64/fast-isel-int-ext3.ll
M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
M llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AArch64/xbfiz.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Fold UBFMXri to UBFMWri when it's an LSR or LSL alias (#106968)
Using the LSR or LSL aliases of UBFM can be faster on some CPUs, so it
is worth changing 64 bit UBFM instructions, that are equivalent to 32
bit LSR/LSL operations, to 32 bit variants.
This change folds the following patterns:
* If `Imms == 31` and `Immr <= Imms`:
`UBFMXri %0, Immr, Imms` -> `UBFMWri %0.sub_32, Immr, Imms`
* If `Immr == Imms + 33`:
`UBFMXri %0, Immr, Imms` -> `UBFMWri %0.sub_32, Immr - 32, Imms`
Commit: 8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
https://github.com/llvm/llvm-project/commit/8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
Author: David Green <david.green at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/vecreduce-bitext.ll
Log Message:
-----------
[AArch64] Tests for vecreduce.or(sext(x)), with or/and/xor and sext/zext. NFC
Commit: 742e04de96d4094e7070beb9afab10279c8b179e
https://github.com/llvm/llvm-project/commit/742e04de96d4094e7070beb9afab10279c8b179e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
Log Message:
-----------
[X86] combineConcatVectorOps - handle *_EXTEND nodes
Commit: b222ec18653c0324a330b8ef5b783fad1f9d7637
https://github.com/llvm/llvm-project/commit/b222ec18653c0324a330b8ef5b783fad1f9d7637
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
Log Message:
-----------
[X86] vector-reduce-add-mask.ll - regenerate vpmulhuw asm comments. NFC
Commit: ce73407015f38e681159165a4c6267b2379acea7
https://github.com/llvm/llvm-project/commit/ce73407015f38e681159165a4c6267b2379acea7
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
Log Message:
-----------
Fix MachineInstr::uses() doc. NFC. (#108950)
Uses was documented as register uses, which is not true.
Commit: b1339abb713063363e7804124b8fb3d84143a003
https://github.com/llvm/llvm-project/commit/b1339abb713063363e7804124b8fb3d84143a003
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/assume-align.ll
Log Message:
-----------
[InstCombine] Add tests for folding align assumes into load metadata.
Commit: de1f5b96adcea52bf7c9670c46123fe1197050d2
https://github.com/llvm/llvm-project/commit/de1f5b96adcea52bf7c9670c46123fe1197050d2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
Log Message:
-----------
[SLP]Vectorize gathered loads
Final gather/buildvector nodes may have scalar loads, which are not
vectorized (since they are part of the gather nodes) but may form full
vector loads, being combined. This patch walks over all gather nodes,
"gathering" and sorting gathered scalar loads and then tries to build
vector loads, which later are reshuffled between the gather nodes.
It allows later to add support for segmented loads (kind of AOS to SOA
load kind for RISC-V RVV) and may help with the removal of the alternat
e opcodes support.
Currently, alternate nodes may depend on each other because of the
consecutive loads between their operands. Because of that we cannot
simply remove alternate vectorization. But this approach may help to
remove most of the stuff for it, since we'll be able to vectorize loads
in between lanes.
Metric: size..text, AVX512
Program size..text
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 238381.00 250669.00 5.2%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 25753.00 26329.00 2.2%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-psadbw.test 3028.00 3092.00 2.1%
test-suite :: MultiSource/Benchmarks/Rodinia/hotspot/hotspot.test 4243.00 4275.00 0.8%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 649765.00 653877.00 0.6%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 649765.00 653877.00 0.6%
test-suite :: SingleSource/Benchmarks/BenchmarkGame/n-body.test 4199.00 4222.00 0.5%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12933.00 12997.00 0.5%
test-suite :: SingleSource/Benchmarks/Misc/flops.test 8282.00 8314.00 0.4%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-unpack_msasm.test 10065.00 10097.00 0.3%
test-suite :: SingleSource/Benchmarks/Misc-C++/Large/ray.test 5160.00 5176.00 0.3%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12472220.00 12509612.00 0.3%
test-suite :: MultiSource/Benchmarks/Prolangs-C++/city/city.test 6908.00 6924.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 202830.00 203278.00 0.2%
test-suite :: SingleSource/Benchmarks/CoyoteBench/fftbench.test 9133.00 9149.00 0.2%
test-suite :: MultiSource/Benchmarks/Olden/power/power.test 6792.00 6803.00 0.2%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1395585.00 1397473.00 0.1%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1395585.00 1397473.00 0.1%
test-suite :: External/SPEC/CINT2017speed/631.deepsjeng_s/631.deepsjeng_s.test 97662.00 97758.00 0.1%
test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test 595179.00 595739.00 0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test 70603.00 70667.00 0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail.test 19877.00 19893.00 0.1%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT.test 90231.00 90279.00 0.1%
test-suite :: External/SPEC/CINT2006/473.astar/473.astar.test 33738.00 33754.00 0.0%
test-suite :: External/SPEC/CFP2017speed/619.lbm_s/619.lbm_s.test 13262.00 13268.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1139964.00 1140460.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 849507.00 849875.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1158379.00 1158859.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test 38724.00 38740.00 0.0%
test-suite :: External/SPEC/CFP2006/470.lbm/470.lbm.test 15180.00 15186.00 0.0%
test-suite :: External/SPEC/CFP2017rate/519.lbm_r/519.lbm_r.test 15484.00 15490.00 0.0%
test-suite :: External/SPEC/CINT2006/456.hmmer/456.hmmer.test 167391.00 167455.00 0.0%
test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl.test 137448.00 137496.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2030254.00 2030766.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test 302870.00 302934.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test 303126.00 303190.00 0.0%
test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test 241107.00 241155.00 0.0%
test-suite :: External/SPEC/CFP2006/482.sphinx3/482.sphinx3.test 162974.00 163006.00 0.0%
test-suite :: MultiSource/Applications/siod/siod.test 167168.00 167200.00 0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1048796.00 1048988.00 0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test 201623.00 201655.00 0.0%
test-suite :: MultiSource/Applications/sqlite3/sqlite3.test 501734.00 501798.00 0.0%
test-suite :: MultiSource/Applications/ClamAV/clamscan.test 580888.00 580952.00 0.0%
test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test 168319.00 168335.00 0.0%
test-suite :: MicroBenchmarks/ImageProcessing/Interpolation/Interpolation.test 226022.00 226038.00 0.0%
test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt.test 118011.00 118015.00 0.0%
test-suite :: External/SPEC/CINT2006/471.omnetpp/471.omnetpp.test 550589.00 550605.00 0.0%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 3072477.00 3072541.00 0.0%
test-suite :: External/SPEC/CINT2006/483.xalancbmk/483.xalancbmk.test 2385563.00 2385579.00 0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 389171.00 389155.00 -0.0%
test-suite :: MultiSource/Applications/lua/lua.test 234764.00 234748.00 -0.0%
test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test 227694.00 227678.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt.test 119819.00 119807.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt.test 117995.00 117983.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt.test 123610.00 123594.00 -0.0%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 81414.00 81398.00 -0.0%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 782040.00 781880.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 9597420.00 9595292.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 9597420.00 9595292.00 -0.0%
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 911832.00 911608.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 192507.00 192459.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt.test 122843.00 122811.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test 122292.00 122260.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 777363.00 777155.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt.test 123265.00 123205.00 -0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 315534.00 315358.00 -0.1%
test-suite :: MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt.test 128163.00 128083.00 -0.1%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 6562.00 6555.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test 23428.00 23396.00 -0.1%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 22749.00 22717.00 -0.1%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39549.00 39485.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39546.00 39482.00 -0.2%
test-suite :: MultiSource/Benchmarks/Prolangs-C/bison/mybison.test 57214.00 57118.00 -0.2%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 413668.00 412804.00 -0.2%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1044047.00 1041487.00 -0.2%
test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test 12414.00 12382.00 -0.3%
test-suite :: MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo.test 31161.00 30969.00 -0.6%
test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test 224726.00 223254.00 -0.7%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93512.00 92824.00 -0.7%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 281151.00 278463.00 -1.0%
test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test 2820.00 2788.00 -1.1%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 156819.00 154739.00 -1.3%
test-suite :: MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish.test 11560.00 11160.00 -3.5%
test-suite :: MultiSource/Benchmarks/McCat/08-main/main.test 6734.00 6382.00 -5.2%
results results0 diff
ASCI_Purple/SMG2000 - extra vector code
VPlanNativePath/outer-loop-vect - extra vectorization, better vector
code
AVX512BWVL/Vector-AVX512BWVL-psadbw - better vector code
Rodinia/hotspot - small variations
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - extra vector code, better vectorization
BenchmarkGame/n-body - better vector code.
AVX512BWVL/Vector-AVX512BWVL-unpack_msasm - small variations
Misc/flops - extra vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - small variations
Misc-C++/Large - better vector code
CFP2017rate/526.blender_r - extra vector code
Prolangs-C++/city - extra vector code
MiBench/consumer-lame - extra vector code
CoyoteBench/fftbench - extra vector code
Olden/power - better vector code
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - extra vector code
CINT2017rate/531.deepsjeng_r - extra vector code
CFP2006/447.dealII - small variations
DOE-ProxyApps-C/miniAMR - small variations
Prolangs-C/unix-smail - small variations
DOE-ProxyApps-C++/PENNANT - small variations
CINT2006/473.astar - small variations
CFP2006/453.povray - small variations
JM/lencod - extra vector code
CFP2017rate/511.povray_r - small variations
DOE-ProxyApps-C/CoMD - small variations
CFP2006/470.lbm - extra vector code
CFP2017speed/619.lbm_s
CFP2017rate/519.lbm_r - extra vector code
CINT2006/456.hmmer - extra code vectorized
TSVC/ControlFlow-dbl - extra vector code
CFP2017rate/510.parest_r - better vector code
LCALS/SubsetALambdaLoops - extra code vectorized
LCALS/SubsetARawLoops - extra code vectorized
CFP2006/444.namd - extra code vectorized
CFP2006/482.sphinx3 - better vector code
Applications/siod - better vector code
Benchmarks/7zip - better vector code
DOE-ProxyApps-C++/CLAMR - extra code vectorized
Applications/sqlite3 - extra code vectorized
Applications/ClamAV - smaller vector code
MallocBench/gs - small variations
MicroBenchmarks/ImageProcessing - small variations
TSVC/StatementReordering-flt - extra code vectorized
CINT2006/471.omnetpp - small variations
CINT2006/403.gcc - extra code vectorized
CINT2006/483.xalancbmk - extra code vectorized
JM/ldecod - small variations
Applications/lua - extra code vectorized
mafft/pairlocalalign - small variations
TSVC/NodeSplitting-flt - extra code vectorized
TSVC/Recurrences-flt - extra code vectorized
TSVC/InductionVariable-flt - extra code vectorized
FreeBench/pifft - small variations
CINT2006/464.h264ref - extra code vectorized
CINT2017speed/602.gcc_s
CINT2017rate/502.gcc_r - some extra code vectorized, extra code inlined
CINT2006/445.gobmk - small variations
Applications/oggenc - small variations
TSVC/LoopRestructuring-flt - extra code vectorized
TSVC/CrossingThresholds-flt - extra code vectorized
CFP2017rate/508.namd_r - small variations
TSVC/ControlFlow-flt - extra code vectorized
mediabench/g721 - small variations
Prolangs-C/compiler - small variations
FreeBench/fourinarow - better vector code
MiBench/telecomm-gsm - small variation in vector code
mediabench/gsm - same
Prolangs-C/bison - small variations
Adobe-C++/loop_unroll - extra code vectorized
Benchmarks/tramp3d-v4 - extra code gets inlined, small changes in vetor
code
McCat/18-imp - variations in vector code
Prolangs-C/gnugo - variations in vector code
MallocBench/espresso - extra code vectorized
DOE-ProxyApps-C++/miniFE - small variations in vector code
Prolangs-C/TimberWolfMC - extra code vectorized, small changes in
previously vectorized code.
Olden/tsp - small changes in vector code
CFP2006/433.milc - extra code gets inlined, vectorized 2 x stores to 4 x stores
MiBench/security-blowfish - extra code vectorized
McCat/08-main - better vector code.
Metric: size..text, RISCV, sifive-p670
Program size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 63580.00 64020.00 0.7%
test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test 21388.00 21406.00 0.1%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 296992.00 297088.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 968112.00 968208.00 0.0%
test-suite :: MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl.test 45160.00 45164.00 0.0%
test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test 2635902.00 2635854.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test 2635902.00 2635854.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7568730.00 7568578.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7568730.00 7568578.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt.test 49764.00 49762.00 -0.0%
test-suite :: MultiSource/Applications/sqlite3/sqlite3.test 449132.00 449108.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 695932.00 695892.00 -0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 508820.00 508788.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 508820.00 508788.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9594152.00 9593336.00 -0.0%
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 166522.00 166490.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 722252.00 722092.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test 27554.00 27546.00 -0.0%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 10900.00 10896.00 -0.0%
test-suite :: MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl.test 46754.00 46732.00 -0.0%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 631570.00 631226.00 -0.1%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 850698.00 850218.00 -0.1%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 24816.00 24800.00 -0.1%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 24814.00 24798.00 -0.1%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1599946.00 1598394.00 -0.1%
test-suite :: MultiSource/Applications/hbd/hbd.test 27236.00 27204.00 -0.1%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 293848.00 293480.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/compiler/compiler.test 20160.00 20048.00 -0.6%
test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test 182088.00 181040.00 -0.6%
test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test 4788.00 4748.00 -0.8%
DOE-ProxyApps-C++/miniFE - extra vector code
MiBench/automotive-susan - small variations
Benchmarks/Bullet - extra vector code
CFP2017rate/511.povray_r - slightly better vector code
TSVC/StatementReordering-dbl - small variations
CINT2017rate/523.xalancbmk_r
CINT2017speed/623.xalancbmk_s - extra vector code
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - extra vector code
TSVC/CrossingThresholds-flt - small variations
Applications/sqlite3 - extra vector code
JM/lencod - extra vector code, small variations
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - small variations
CFP2017rate/526.blender_r - extra vector code, small variations
DOE-ProxyApps-C/miniGMG - small variations
Vectorizer/VPlanNativePath/outer-loop-vect - small variations
TSVC/CrossingThresholds-dbl - small variations
Benchmarks/tramp3d-v4 - small variations
Benchmarks/7zip - extra vector code
MiBench/telecomm-gsm - small variations
mediabench/gsm/toast - small variations
CFP2017rate/510.parest_r - extra vector code
Applications/hbd - extra vector code
JM/ldecod - better vector code
Prolangs-C/compiler - extra vector code
MallocBench/espresso - extra vector code
mediabench/g721/g721encode - extra vectorization
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/107461
Commit: b3a2208c566c475f7d1b6d40c67aec100ae29103
https://github.com/llvm/llvm-project/commit/b3a2208c566c475f7d1b6d40c67aec100ae29103
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/ForallToFor.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
Log Message:
-----------
[mlir] Apply ClangTidy fixes.
- Prefer to check empty() instead of size() == 0.
- Remove unused using declarations.
Commit: 1e23a6142a827cda89fa4d8335afebd89701991d
https://github.com/llvm/llvm-project/commit/1e23a6142a827cda89fa4d8335afebd89701991d
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/test/Driver/ps4-linker.c
M clang/test/Driver/ps4-ps5-header-search.c
M clang/test/Driver/ps4-sdk-root.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/ps5-sdk-root.c
Log Message:
-----------
[PS4,PS5][Driver] Detangle --sysroot and -isysroot (#107410)
The following discrepancies concerning `-isysroot` and `--sysroot`
motivated this change:
- The SDK directory can be specified via `-isysroot`, but `--sysroot`
has no influence over this. Yet, we check for the presence of either
switch to determine whether we ought to warn about a missing SDK
*headers*.
- The presence of `-isysroot` is ignored when deciding whether to warn
about missing SDK *libraries*, depsite it being the only switch capable
of specifying a non-default SDK location.
- The `--sysroot`s passed to the PlayStation linkers by the driver are
unrelated to the SDK directory resolved in the PS4PS5Base constructor.
Following this change, we attempt to derive an SDK root from a platform-
specific environment variable. Failing that, we derive it from the location of
the driver. This then becomes the default root directory for both header and
library search. `--sysroot` overrides both search roots. `-isysroot` overrides
only the header search root. If both are specified, `--sysroot` specifies the
library search root and `-isysroot` specifies the header search root.
For each search root that was not overridden, a warning is emitted if expected
header/library search paths are missing inside that root.
The test updates to ps{4,5}-sdk-root.c were of the scale of a rewrite so
I also took the opportunity to clarify the purpose of each part,
eliminate some redundancy and add some missing coverage.
SIE tracker: TOOLCHAIN-16704
Commit: 17a3bdb529552a7891f43c9c28d987a5a1b63050
https://github.com/llvm/llvm-project/commit/17a3bdb529552a7891f43c9c28d987a5a1b63050
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[RISCV][docs] Fix List Formatting
Commit: b84c42944a89afb63d74f54096d50c3913491005
https://github.com/llvm/llvm-project/commit/b84c42944a89afb63d74f54096d50c3913491005
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[NFC][LoopVectorize] Rename variable in replaceVPBBWithIRVPBB (#108543)
I've renamed the variable in replaceVPBBWithIRVPBB from IRMiddleVPBB ->
IRVPBB, since the function is used for more than just replacing the
middle VP block.
Commit: d0438d2d087e78571a671c98cbb42308e4dcfcec
https://github.com/llvm/llvm-project/commit/d0438d2d087e78571a671c98cbb42308e4dcfcec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/src/atomic.cpp
M libcxx/src/locale.cpp
M libcxx/src/support/ibm/mbsnrtowcs.cpp
M libcxx/src/support/ibm/wcsnrtombs.cpp
M libcxx/src/support/ibm/xlocale_zos.cpp
M libcxx/src/support/win32/support.cpp
M libcxx/src/support/win32/thread_win32.cpp
Log Message:
-----------
[libc++][NFC] Replace uses of NULL by nullptr (#108847)
Closes #108741
Commit: 07e0b8a7717aecc1133a08bfe013b58fb4c596f5
https://github.com/llvm/llvm-project/commit/07e0b8a7717aecc1133a08bfe013b58fb4c596f5
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[ast-matcher] Fixed a crash when traverse lambda expr with invalid captures (#108689)
Fixes: #106444
Commit: a17a2451dbb0f31d31bec4c1194b893f914b1bc0
https://github.com/llvm/llvm-project/commit/a17a2451dbb0f31d31bec4c1194b893f914b1bc0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/Writer.cpp
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Add Support for auxiliary IAT copy (#108610)
In addition to the auxiliary IAT, ARM64EC modules also contain a copy of
it. At runtime, the auxiliary IAT is filled with the addresses of actual
ARM64EC functions when possible. If patching is detected, the OS may use
the IAT copy to revert the auxiliary IAT, ensuring that the call checker
is used for calls to imported functions.
Commit: ab38ec9ac312460e4f71c8ad3f50b9b5723469f6
https://github.com/llvm/llvm-project/commit/ab38ec9ac312460e4f71c8ad3f50b9b5723469f6
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
Log Message:
-----------
[lldb][lldb-dap] Disable read memory test on Windows
This isn't strictly a Windows issue but for now it's the only bot
that was hit by this failure.
It can happen on Linux too but I expect we'll fix it and remove the
skip soon anyway.
Test was added in #104317.
Commit: 5fdf07dda697a7752aad64ba93d4c38de21f8d3b
https://github.com/llvm/llvm-project/commit/5fdf07dda697a7752aad64ba93d4c38de21f8d3b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change ARMTargetDefEmitter to use const RecordKeeper (#108916)
Change ARMTargetDefEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 8e2dbab24276a8521d241463b4161c78bc4d39d2
https://github.com/llvm/llvm-project/commit/8e2dbab24276a8521d241463b4161c78bc4d39d2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
A clang/test/AST/ByteCode/extern.cpp
Log Message:
-----------
[clang][bytecode] Fix defining extern variables (#108940)
At the point of defintion of the variable, a function might already
refert to the variable by its index. Replace the index with the new one.
Commit: 34e16b6b9c8628e562e237aaa9a3bc2625980ca1
https://github.com/llvm/llvm-project/commit/34e16b6b9c8628e562e237aaa9a3bc2625980ca1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Log Message:
-----------
[IndVars] Fix strict weak ordering violation (#108947)
The sort used the block name as a tie-breaker, which will not work for
unnamed blocks and can result in a strict weak ordering violation.
Fix this by checking that all exiting blocks dominate the latch first,
which means that we have a total dominance order. This makes the code
structure here align with what optimizeLoopExits() does.
Fixes https://github.com/llvm/llvm-project/issues/108618.
Commit: cb98fd977a25d3d778244da4012fd34acf7fab45
https://github.com/llvm/llvm-project/commit/cb98fd977a25d3d778244da4012fd34acf7fab45
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
Fix use of an uninitialized variable; NFC intended
This was causing debug builds with Visual Studio to fail a number of
HLSL tests.
Commit: 49a754a43d5592e08ef177db794126ddc676d6b5
https://github.com/llvm/llvm-project/commit/49a754a43d5592e08ef177db794126ddc676d6b5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
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
Log Message:
-----------
[Clang] Mark Clang 19 language changes as being released [NFC] (#108978)
Commit: ee2add06836afdda6c86792441e6afdf6993f770
https://github.com/llvm/llvm-project/commit/ee2add06836afdda6c86792441e6afdf6993f770
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
Log Message:
-----------
[GISEL] Fix bugs and clarify spec of G_EXTRACT_SUBVECTOR (#108848)
The implementation was missing the fact that `G_EXTRACT_SUBVECTOR`
destination and source vector can be different types.
Also fix a bug in the MIR builder for `G_EXTRACT_SUBVECTOR` to generate
the correct opcode.
Clarify the G_EXTRACT_SUBVECTOR specification.
Commit: d2125e1db6bc5c3c2db9e358a8b69e498455ee9d
https://github.com/llvm/llvm-project/commit/d2125e1db6bc5c3c2db9e358a8b69e498455ee9d
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
Log Message:
-----------
[RISCV] Support STRICT_UINT_TO_FP and STRICT_SINT_TO_FP (#102503)
This patch adds support for the missing STRICT_UINT_TO_FP and
STRICT_SINT_TO_FP for riscv and adds a test case for rv32 which was
previously crashing.
The code is in line with how other strict_* nodes are handled
(e.g., getting op(1) instead of op(0) when it's a strict node, as op(0)
in a strict node is the entry token).
Commit: 2242cd2b6a60d5c0f233a091fc5d642af1cb0d90
https://github.com/llvm/llvm-project/commit/2242cd2b6a60d5c0f233a091fc5d642af1cb0d90
Author: David Green <david.green at arm.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/vecreduce-bitext.ll
Log Message:
-----------
[DAG] Fold vecreduce.or(sext(x)) to sext(vecreduce.or(x)) (#108959)
The same is true for and / xor reductions, where the sext / zext can be
sank down through the bitwise operation.
https://alive2.llvm.org/ce/z/TvzCd5
Commit: f4172f6659ef14cbc235e3d690957de068cd55d4
https://github.com/llvm/llvm-project/commit/f4172f6659ef14cbc235e3d690957de068cd55d4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/include/clang/Basic/AMDGPUTypes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
Log Message:
-----------
[Clang][AMDGPU] Simplify builtin type definitions. NFC. (#108968)
Remove the MangledName field since these types just use the normal Name
for mangling purposes.
Commit: 267ad430fc54d6d548cd7d25c7e59c3b6b650097
https://github.com/llvm/llvm-project/commit/267ad430fc54d6d548cd7d25c7e59c3b6b650097
Author: Zoltán Porkoláb <zporky at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
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/cert/arr39-c.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-c11.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
Log Message:
-----------
[clang-tidy] Extend `bugprone-sizeof-expression` with matching `P +- sizeof(T)` and `P +- N */ sizeof(T)` cases, add `cert-arr39-c` alias (#106061)
Improved `bugprone-sizeof-expression` check to find suspicious pointer
arithmetic calculations where the pointer is offset by an `alignof()`,
`offsetof()`, or `sizeof()` expression.
Pointer arithmetic expressions implicitly scale the offset added to or
subtracted from the address by the size of the pointee type. Using an
offset expression that is already scaled by the size of the underlying
type effectively results in a squared offset, which is likely an invalid
pointer that points beyond the end of the intended array.
```c
void printEveryEvenIndexElement(int *Array, size_t N) {
int *P = Array;
while (P <= Array + N * sizeof(int)) { // Suspicious pointer arithmetics using sizeof()!
printf("%d ", *P);
P += 2 * sizeof(int); // Suspicious pointer arithmetics using sizeof()!
}
}
```
---------
Co-authored-by: Whisperity <whisperity at gmail.com>
Commit: b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9
https://github.com/llvm/llvm-project/commit/b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
Log Message:
-----------
[RISCV] Fix boundary error in compress-opt-select.ll
Per the comment, this test is intending to test the first constant which
can't be encoded via a c.addi. However, -32 *can* be encoded as in a
c.addi, and all that's preventing it from doing so is the register
allocators choice to use a difference destination register on the
add than it's source. (Which compressed doesn't support.)
The current LLC codegen for this test looks like:
addi a1, a0, -32
li a0, -99
bnez a1, .LBB0_2
li a0, 42
.LBB0_2:
ret
After https://github.com/llvm/llvm-project/pull/108889, we sink the LI, and
the register allocator picks the same source and dest register for the addi
resulting in the c.addi form being emitted. So, to avoid a confusing diff
let's fix the test to check what was originally intended.
Commit: 848cec11f54f1433d19c847fe0296147549ef44a
https://github.com/llvm/llvm-project/commit/848cec11f54f1433d19c847fe0296147549ef44a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
Log Message:
-----------
Revert "[SLP]Vectorize gathered loads"
This reverts commit de1f5b96adcea52bf7c9670c46123fe1197050d2.
This has a very large compile-time impact in some cases, in
particular lencod. See:
http://llvm-compile-time-tracker.com/compare.php?from=b1339abb713063363e7804124b8fb3d84143a003&to=de1f5b96adcea52bf7c9670c46123fe1197050d2&stat=instructions:u
Commit: 53bc35a80a844601c10c8bb75832cbee3ba841ac
https://github.com/llvm/llvm-project/commit/53bc35a80a844601c10c8bb75832cbee3ba841ac
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/Exchange/JSONExporter.cpp
Log Message:
-----------
[polly] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 6f5dd6563017a11cf1486654d2350ef97054abef
https://github.com/llvm/llvm-project/commit/6f5dd6563017a11cf1486654d2350ef97054abef
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libc++][docs] Fix inline code style - use double backticks (#108974)
This is an apparrent omission. Single backick (Markdown style) was used
instead of double backtick for inline code style.
Commit: adeae925dcd7db0d49256f687c66a662d6604128
https://github.com/llvm/llvm-project/commit/adeae925dcd7db0d49256f687c66a662d6604128
Author: David Benjamin <davidben at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/include/__assert
Log Message:
-----------
[libc++] Make _LIBCPP_ASSUME usable when it is appropriate (#91801)
libc++ turned off _LIBCPP_ASSUME because turning every debug assert into
__builtin_assume tripped [1]. However, this means we can't use _LIBCPP_ASSUME
when there is a clear optimization intent. See [2] for discussion of a place
where _LIBCPP_ASSUME would be valuable.
This patch fixes this by not undefining the definition of _LIBCPP_ASSUME and
making sure that we don't attempt to `_LIBCPP_ASSSUME` every assertion in
the library.
[1]: https://discourse.llvm.org/t/llvm-assume-blocks-optimization/71609
[2]: https://github.com/llvm/llvm-project/pull/78929#issuecomment-1936582711
Commit: c3d78a7af8e74c588501a2555b4a4ed7bdc55ef5
https://github.com/llvm/llvm-project/commit/c3d78a7af8e74c588501a2555b4a4ed7bdc55ef5
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libc/benchmarks/MemorySizeDistributions.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
Log Message:
-----------
[libc][benchmarks] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: c532e6db274d4edeb65e9436d44e33f0ccc1cb83
https://github.com/llvm/llvm-project/commit/c532e6db274d4edeb65e9436d44e33f0ccc1cb83
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
Log Message:
-----------
[RISCV] Restructure compress-opt-select.ll
Two major changes:
- Remove use of sed preprocessing - this was being used to create two
versions of each test, and the result is much more readable if we
just duplicate the tests.
- Use a regex for matching the condition. An upcoming change causes
us to reverse the branch direction (which doesn't matter to the
purpose of these tests at all), so using the regex makes the test
more stable.
Commit: 8663a75fa2f31299ab8d1d90288d9df92aadee88
https://github.com/llvm/llvm-project/commit/8663a75fa2f31299ab8d1d90288d9df92aadee88
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Add link to RDNA 3.5 docs (#108977)
Commit: 78f7aae89570bca93d0f1ef85752f20b16394462
https://github.com/llvm/llvm-project/commit/78f7aae89570bca93d0f1ef85752f20b16394462
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
Log Message:
-----------
[VirtRegMap] Remove unused MAX_STACK_SLOT. NFC (#108781)
I think this has been unuesd since
92255f27f1c1884585cbcb3fcbd72bd4b0b533f7 in 2011.
Commit: f36580fcb535b46deaf659702958b7f203259ecf
https://github.com/llvm/llvm-project/commit/f36580fcb535b46deaf659702958b7f203259ecf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
Log Message:
-----------
[LegalizeVectorOps] Remove calls to DAG.UnrollVectorsOps from some expansion handlers. NFC (#108930)
Instead, return SDValue() to tell the caller to do the unrolling. This
is consistent with how some other handler work. Especially the handlers
that live in TLI.
ExpandBITREVERSE was rewritten to not take the Results vector an
argument.
Commit: 0f97b4824a8cf040bd3ce7b644dee9d60065ac61
https://github.com/llvm/llvm-project/commit/0f97b4824a8cf040bd3ce7b644dee9d60065ac61
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/test/CodeGen/DirectX/frac.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/rsqrt.ll
Log Message:
-----------
[Scalarizer][DirectX] Add support for scalarization of Target intrinsics (#108776)
Since we are using the Scalarizer pass in the backend we needed a way to
allow this pass to operate on Target intrinsics.
We achieved this by adding `TargetTransformInfo ` to the Scalarizer
pass. This allowed us to call a function available to the DirectX
backend to know if an intrinsic is a target intrinsic that should be
scalarized.
Commit: 2e7c7d20d55be51f907d87a2298660d73a1cc190
https://github.com/llvm/llvm-project/commit/2e7c7d20d55be51f907d87a2298660d73a1cc190
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
Log Message:
-----------
[RISCV][TTI] Adjust cost for extract/insert element when VLEN is known (#108595)
If we know an exact VLEN, then the index is effectively modulo the
number of elements in a single vector register. Our lowering performs
this subvector optimization.
A bit of context. This change may look a bit strange on it's own given
we are currently *not* scaling insert/extract cost by LMUL. This costing
decision needs to change, but is very intertwined with SLP
profitability, and is thus a bit hard to adjust. I'm hoping that
https://github.com/llvm/llvm-project/pull/108419 will let me start to
untangle this. This change is basically a case of finding a subset I can
tackle before other dependencies are in place which does no real harm in
the meantime.
Commit: 55808d84671153c37747b54c1fde05ad2c22770e
https://github.com/llvm/llvm-project/commit/55808d84671153c37747b54c1fde05ad2c22770e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
Log Message:
-----------
[AVR] Use MCRegister in AsmParser. NFC
Commit: 594579b7af82dab786bb75786451ca582543a697
https://github.com/llvm/llvm-project/commit/594579b7af82dab786bb75786451ca582543a697
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
Log Message:
-----------
[RISCV] Autogenerate compress-opt-select.ll
I realized after spending way too much time looking at this, that
we can avoid objdump entirely here by having the assembly simply
not print the aliases. Once we do that, we can simply autogen
this test, and updates become trivial and understandable.
Commit: 09fc1781807b46e2c6a92e744e70a1ffb530c3ad
https://github.com/llvm/llvm-project/commit/09fc1781807b46e2c6a92e744e70a1ffb530c3ad
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-ALU.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_D.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_S.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-LSU.s
Log Message:
-----------
[RISCV] Add scheduling model for Syntacore SCR7 (#108814)
Syntacore SCR7 is rv64imafdcv_zba_zbb_zbc_zbs_zkn.
Scheduling model for RVV will be added later.
Overview: https://syntacore.com/products/scr7
---------
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Anton Afanasyev <anton.afanasyev at syntacore.com>
Co-authored-by: Elena Lepilkina <elena.lepilkina at syntacore.com>
Commit: 433bc6b741198aba34dd305eed143e0637c307e6
https://github.com/llvm/llvm-project/commit/433bc6b741198aba34dd305eed143e0637c307e6
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt formatv() automatic index in IntrinsicEmitter (#108954)
Adopt the use of formatv() automatic index assignment feature in
IntrinsicEmitter.
Commit: 100b34bbc1a421133f197d1e05c1cb769414368c
https://github.com/llvm/llvm-project/commit/100b34bbc1a421133f197d1e05c1cb769414368c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
Log Message:
-----------
[LLVM][TableGen] Change VarLenCodeEmitterGen to use const RecordKeeper (#108960)
Change VarLenCodeEmitterGen to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: da46244e49b1e4b90e51635cff2134d1664841df
https://github.com/llvm/llvm-project/commit/da46244e49b1e4b90e51635cff2134d1664841df
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll
Log Message:
-----------
Revert "[LegalizeVectorOps] Make the AArch64 hack in ExpandFNEG more specific."
This reverts commit 884ff9e3f9741ac282b6cf8087b8d3f62b8e138a.
Regression was reported in Halide for arm32.
Commit: e5bc842a9c56c1d83543f0232a888db6210efd85
https://github.com/llvm/llvm-project/commit/e5bc842a9c56c1d83543f0232a888db6210efd85
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Remove #elif to simplify ThreadDescriptorSizeFallback (#108911)
Commit: 3d87e21ac86432b089120703a35ad4b16285e808
https://github.com/llvm/llvm-project/commit/3d87e21ac86432b089120703a35ad4b16285e808
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Consolidate version checking branches of ThreadDescriptorSizeFallback (#108912)
Commit: 0050503b7a278a50b406a47378f6161bf55059ec
https://github.com/llvm/llvm-project/commit/0050503b7a278a50b406a47378f6161bf55059ec
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/shifts.cpp
Log Message:
-----------
[clang][bytecode] Allow right-shift of negative values (#108987)
We used to incorrectly diagnose this as a "left shift of negative
value".
Commit: a0d00c94c251ba7aff9d58a42a8e41c4ed432b8b
https://github.com/llvm/llvm-project/commit/a0d00c94c251ba7aff9d58a42a8e41c4ed432b8b
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
Log Message:
-----------
[SimplifyCFG] Swap range metadata to attribute for calls. (#108984)
Among the last usages of range metadata for call before being able to
deprecate and only have the range attribute for calls.
Commit: 2bda9e1c29ccb9a09eabd41ac4ff1e925acf2206
https://github.com/llvm/llvm-project/commit/2bda9e1c29ccb9a09eabd41ac4ff1e925acf2206
Author: Mainak Sil <mainaksil0 at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
Log Message:
-----------
[docs][clang-tidy] Correct StrictMode example in modernize-use-std-print (#108805)
Fix #101397.
Commit: 6b3b63cd3736ebe0ed93324ef54ea1c5a2c06438
https://github.com/llvm/llvm-project/commit/6b3b63cd3736ebe0ed93324ef54ea1c5a2c06438
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Avoid synchronizing status files for "In Progress" issues
This doesn't provide much value and it creates a lot of churn in the
CSV files.
Commit: ac1194538607c2c1f3413d895286d4323f43a25c
https://github.com/llvm/llvm-project/commit/ac1194538607c2c1f3413d895286d4323f43a25c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][GPU] block_id has the grid size as its range
Commit: e1971a8f018823615da619780620e8bfcced58dd
https://github.com/llvm/llvm-project/commit/e1971a8f018823615da619780620e8bfcced58dd
Author: Wanyi <kusmour at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
Log Message:
-----------
[lldb][intel-pt] Fix build error on conversion from llvm::Error to Status::FromError (#108719)
Summary: This introduced from upstream
[#107163](https://github.com/llvm/llvm-project/pull/107163)
Test Plan: I can build
Closes: #107580
Commit: b9e13045abc6e4a179cc46e20e876ecc98fcc7cd
https://github.com/llvm/llvm-project/commit/b9e13045abc6e4a179cc46e20e876ecc98fcc7cd
Author: Зишан Мирза <zmirza at tutanota.de>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libc/docs/date_and_time.rst
Log Message:
-----------
[libc] add `ctime` and `ctime_r` to `date_and_time` documentation (#108665)
closes #108664
Commit: 12b88f835dc47ba2b4f29e6caf710cb8da876367
https://github.com/llvm/llvm-project/commit/12b88f835dc47ba2b4f29e6caf710cb8da876367
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
Log Message:
-----------
[libc++][NFC] Mark P1424R1 as partially implemented (#107751)
`hh_mm_ss` and related functions from https://wg21.link/P1466R3 were
partially implemented in LLVM 10 (fde236b1f719b3a).
Commit: ae8d0200b052234c38a89b93dcac447e95f99554
https://github.com/llvm/llvm-project/commit/ae8d0200b052234c38a89b93dcac447e95f99554
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
Log Message:
-----------
[SimplifyCFG] Add test for sinking div/rem with const remainder; NFC
Commit: 419c53477eae62c716ca8f4e18109342f0398d95
https://github.com/llvm/llvm-project/commit/419c53477eae62c716ca8f4e18109342f0398d95
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
Log Message:
-----------
[SimplifyCFG] Mark div/rem as not-cheap to sink if we are replacing const denominator
Close #109007
Commit: c23d6df60d62f971d957e730f6fe55ea89541f6b
https://github.com/llvm/llvm-project/commit/c23d6df60d62f971d957e730f6fe55ea89541f6b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
Log Message:
-----------
[AArch64] Don't define reserved macros
It's not allowed. It also prevents Clang from compiling itself on
Aarch64.
lib/Basic/Targets/AArch64.cpp:404:9: warning: '__ARM_ACLE_VERSION' macro redefined [-Wmacro-redefined]
404 | #define __ARM_ACLE_VERSION(Y, Q, P) (100 * (Y) + 10 * (Q) + (P))
Commit: a729e706de3fc6ebee49ede3c50afb47f2e29191
https://github.com/llvm/llvm-project/commit/a729e706de3fc6ebee49ede3c50afb47f2e29191
Author: Greg Roth <grroth at microsoft.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/inline-constructors.hlsl
A clang/test/CodeGenHLSL/inline-functions.hlsl
Log Message:
-----------
[HLSL] set alwaysinline on HLSL functions (#106588)
HLSL inlines all its functions by default. This uses the alwaysinline
attribute to make the alwaysinliner pass inline any function not
explicitly marked noinline by the user or autogeneration. The
alwayslinline marking takes place in `SetLLVMFunctionAttributesForDefinitions`
where all other inlining interactions are determined.
The outermost entry function is marked noinline because there's no
reason to inline it. Any user calls to an entry function will instead call
the internal mangled version of the entry function.
Adds tests for function and constructor inlining and augments some
existing tests to verify correct inlining of implicitly created
functions as well.
Incidentally restore RUN line that I believe was mistakenly removed as
part of #88918
Fixes #89282
Commit: 64972834c193632cbc47e54c0f0c721636b077e6
https://github.com/llvm/llvm-project/commit/64972834c193632cbc47e54c0f0c721636b077e6
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
A llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerLowering.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVCombine.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/gisel-commandline-option.ll
Log Message:
-----------
[RISCV][GISEL] Introduce the RISCVPostLegalizerLowering pass (#108991)
This is mostly a copy of the AArch64PostLegalizerLoweringPass, except it
removes all of the AArch64 combines.
This pass allows us to lower instructions after the generic
post-legalization combiner has had a chance to run.
We will be adding combines to this pass in future patches.
Commit: d5dd7d230ecaf8242f4429a5e3653e16bf55bcd6
https://github.com/llvm/llvm-project/commit/d5dd7d230ecaf8242f4429a5e3653e16bf55bcd6
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[flang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: b9bf831e8db38efcd930397516cbc4ca2c53d098
https://github.com/llvm/llvm-project/commit/b9bf831e8db38efcd930397516cbc4ca2c53d098
Author: vporpo <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement GlobalVariable (#108642)
This patch implements sandboxir::GlobalVariable mirroring
llvm::GlobalVariable.
Commit: 090850f15dba926e2436089ff679b7015bb59e11
https://github.com/llvm/llvm-project/commit/090850f15dba926e2436089ff679b7015bb59e11
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/extract_float.ll
Log Message:
-----------
[AArch64][CostModel] Add NFC tests for extractelement cost (#108941)
A successive patch aims to reduce the extractelement cost where the only
user(s) is fmul instruction.
Commit: 51a29b5f16efab7f46106b6ce14cbfa50d991040
https://github.com/llvm/llvm-project/commit/51a29b5f16efab7f46106b6ce14cbfa50d991040
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/Thumb2/pr52817.ll
M llvm/test/CodeGen/X86/fsafdo_test1.ll
M llvm/test/CodeGen/X86/fsafdo_test4.ll
M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
M llvm/test/DebugInfo/MIR/X86/empty-inline.mir
M llvm/test/DebugInfo/X86/discriminator.ll
M llvm/test/DebugInfo/X86/empty-line-info.ll
R llvm/test/DebugInfo/X86/is_stmt-at-block-start.ll
Log Message:
-----------
Revert2 "[DebugInfo][DWARF] Set is_stmt on first non-line-0 instruction in BB (#105524)"
Reverted due to large .debug_line size regressions for some
configurations; work currently in place to improve the output of this
behaviour in PR #108251.
This patch also modifies two tests that were created or modified after
the original commit landed and are affected by the revert:
llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
llvm/test/DebugInfo/X86/empty-line-info.ll
This reverts commit 5fef40c2c477e92187bd4e5c18091eca6b8465cc.
Commit: d3532d1b670546dd36e535982d23dfef903cfda0
https://github.com/llvm/llvm-project/commit/d3532d1b670546dd36e535982d23dfef903cfda0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 64972834c193632cbc47e54c0f0c721636b077e6
Commit: 6153582c9c62335ac911bed2b884b13626b99301
https://github.com/llvm/llvm-project/commit/6153582c9c62335ac911bed2b884b13626b99301
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] combineX86ShuffleChainWithExtract - peek through insert_subvector(undef,vec,0) widening patterns when tracking subvector sources
Helps replace a number of X86ISD::VPERMV3 nodes that are shuffling subvectors from the same source with X86ISD::VPERMV equivalents.
Commit: f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1
https://github.com/llvm/llvm-project/commit/f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1
Author: Greg Roth <grroth at microsoft.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
Log Message:
-----------
[HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)
The Alwaysinline change made the mangled form of entry points get
removed. The StructuredBuffer-subscript.hlsl test was introduced in the
meantime depending on that version of the entry point. This revises it
in the same way as RWBuffer-subscript
Follow up to #89282
Commit: 2c69a09bee94acca859a1adf5b04d01dc13f7295
https://github.com/llvm/llvm-project/commit/2c69a09bee94acca859a1adf5b04d01dc13f7295
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Move ThreadDescriptorSize into GLIBC/FREEBSD block (#108913)
Commit: 39a4b3274de3283e5c5d12053678b7ecf947a2dc
https://github.com/llvm/llvm-project/commit/39a4b3274de3283e5c5d12053678b7ecf947a2dc
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/complex-arithmetic.c
Log Message:
-----------
[NFC] Move warning from CodeGen to Sema. (#107397)
This is a warning that wasn't associated with the source location. Moved
it to Sema and changed the warning message to a more verbose one.
Commit: 0bbebf6f3a6445d0c46ad88449ca91c554da7e0a
https://github.com/llvm/llvm-project/commit/0bbebf6f3a6445d0c46ad88449ca91c554da7e0a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
A flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
[flang][cuda] Convert cuf.data_transfer with descriptors (#108890)
Convert cuf.data_transfer operations involving descriptors to the newly
introduced entry points (#108244).
Commit: 71a91c1194229382e4bc79bc52aeec44efa0c33e
https://github.com/llvm/llvm-project/commit/71a91c1194229382e4bc79bc52aeec44efa0c33e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
Log Message:
-----------
[tsan] Use DlSymAllocator (#108920)
`DlSymAllocator` allows early allocations, when
tsan is not yet initialized, e.g. from `dlsym`.
All other sanitizers with interceptors already use
`DlSymAllocator`.
Existing `in_symbolizer()` tsan logic is very similar.
However, we need to keep both as `DlSymAllocator`
does not support large allocations, needed for Symolizer.
Commit: 6b78ea8b75188265c34f2f949935bac5cf8bd7be
https://github.com/llvm/llvm-project/commit/6b78ea8b75188265c34f2f949935bac5cf8bd7be
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
M llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
Log Message:
-----------
[X86] Complete AMD znver4 AVX512 zeroing idioms (#108740)
This patch completes scheduling information for the AVX512 zeroing
idioms according to the znver4 software optimization guide.
Commit: 1ebe16bf43e990135bee8d439176c472e7514866
https://github.com/llvm/llvm-project/commit/1ebe16bf43e990135bee8d439176c472e7514866
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/vl-opt-no-prop.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV] Add VL optimization related tests
These tests are good candidate for VL optimization. This is a pre-commit for
PR #108640, but can could probably also be improved by the peephole VL
optimizations.
Commit: c4a42f61151c585b80122108d961ebfd0e29544c
https://github.com/llvm/llvm-project/commit/c4a42f61151c585b80122108d961ebfd0e29544c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/test_data.json
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Fix the declarative generation of FTMs (#108843)
We were incorrectly computing whether a FTM has been implemented.
Instead of checking whether any version of the FTM is implemented for
the current Standard, we need to make sure that the correct version of
the FTM has been implemented.
As a drive-by fix, also correctly close the file that we load JSON from,
which was forgotten.
Commit: defb8fb2c67f1f5052f236f2eefeae028c0b3f15
https://github.com/llvm/llvm-project/commit/defb8fb2c67f1f5052f236f2eefeae028c0b3f15
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/test/MC/WebAssembly/basic-assembly-errors.s
A llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Support assembly parsing for new EH (#108668)
This adds assembly parsing support for the new EH (exnref) proposal.
`try_table` parsing is a little tricky because catch clause lists use
`()` and the multivalue block return types also use `()`. This handles
all combinations below:
- No return type (void) + no catch list
- No return type (void) + catch list
- Single return type + no catch list
- Single return type + catch list
- Multivalue return type + no catch list
- Multivalue return type + catch list
This does not include AsmTypeCheck support yet. That's the reason why
this adds a new test file and use `--no-type-check` in the command line.
After the type checker is added as a follow-up, I plan to merge
https://github.com/llvm/llvm-project/blob/main/llvm/test/MC/WebAssembly/eh-assembly-legacy.s
with this file. (Turning on `-mattr=+exception-handling` adds support
for all legacy and new EH instructions in the assembly.
`-wasm-enable-exnref` in `llc` only controls which instructions to
generate and it doesn't affect `llvm-mc` and assembly parsing.)
Commit: 318d2f5e5d4d8245ab419193266b956194116989
https://github.com/llvm/llvm-project/commit/318d2f5e5d4d8245ab419193266b956194116989
Author: vporpo <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Boilerplate (#108862)
This patch adds a very basic implementation of the Dependency Graph to
be used by the vectorizer.
Commit: fd26f8444ab5cc1cce6e2990b8a7952915d7767a
https://github.com/llvm/llvm-project/commit/fd26f8444ab5cc1cce6e2990b8a7952915d7767a
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
Log Message:
-----------
[mlir][gpu] Rename two misspelled pattern population functions (#109015)
Commit: 09284e7eb20db88a9a5d60a591360ee35b256b7f
https://github.com/llvm/llvm-project/commit/09284e7eb20db88a9a5d60a591360ee35b256b7f
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Reject `this void` explicit object parameters (CWG2915) (#108817)
https://cplusplus.github.io/CWG/issues/2915.html
Previously, `struct A { void f(this void); };` was accepted with `A::f`
being a member function with no non-object arguments, but it was still a
little wonky because it was still considered an explicit object member
function. Now, this is rejected immediately.
This applies to any language mode with explicit object parameters as
this is a DR (C++23 and C++26)
Commit: 1cce1b46ddd04b89390fb7e781c928b7431bec14
https://github.com/llvm/llvm-project/commit/1cce1b46ddd04b89390fb7e781c928b7431bec14
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn] port 318d2f5e5d4d8 (SandboxVectorizerTests)
Commit: 98cf6560ab6df885b6e21463f6a0a1fa5cea1eea
https://github.com/llvm/llvm-project/commit/98cf6560ab6df885b6e21463f6a0a1fa5cea1eea
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 64972834c193
Commit: 1c0958bd95076665e379783969bb81c730e88023
https://github.com/llvm/llvm-project/commit/1c0958bd95076665e379783969bb81c730e88023
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
A flang/test/Driver/nostdlib.f90
Log Message:
-----------
[flang][Driver] Support -nostdlib and -nodefaultlibs (#108868)
This partially addresses some requests in #89888
Commit: 5bb1ce8ea69e223eb28d34dd3531b6ca98c17054
https://github.com/llvm/llvm-project/commit/5bb1ce8ea69e223eb28d34dd3531b6ca98c17054
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Make `GetLibcVersion` `void` (#108915)
It can't fail if guarded with SANITIZER_GLIBC.
Commit: c8fcfe1980999688f22a4ee53ec7c65c8c055752
https://github.com/llvm/llvm-project/commit/c8fcfe1980999688f22a4ee53ec7c65c8c055752
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR][NFC] Fix unittest build warning in release
Commit: 815b0046b8998e3b9e7a964608c725eec8e85d8a
https://github.com/llvm/llvm-project/commit/815b0046b8998e3b9e7a964608c725eec8e85d8a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Slightly refactor EndOpenMPDSABlock for readability, NFC (#109003)
Change the loop
```
if (isOpenMPExecutableDirective)
for (Clause)
if (Clause is kind1)
multi
line
do
something1;
else if (Clause is kind2)
...
...
```
to
```
auto do1 = ...do something1...;
auto do2 = ...do something2...;
...
if (isOpenMPExecutableDirective)
for (Clause)
if (Clause is kind1)
do1();
else if (Clause is kind2)
do2();
...
...
```
Commit: 9a312d47f39bcfcadc16021f1db88b04997dbdc6
https://github.com/llvm/llvm-project/commit/9a312d47f39bcfcadc16021f1db88b04997dbdc6
Author: vporpo <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement GlobalAlias (#109019)
This patch implements sandboxir::GlobalAlias, mirroring
llvm::GlobalAlias.
Commit: 783d323da3c79d884afaed9b1653697fcac58fe3
https://github.com/llvm/llvm-project/commit/783d323da3c79d884afaed9b1653697fcac58fe3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
Log Message:
-----------
[VirtRegMap] Replace a single value enum with a static constexpr member variable. NFC (#109010)
Change the constant to INT_MAX instead of our own large number. Any
value larger than a valid frame index should work.
I'm a bit puzzled why it was using a shift of 30. A long time ago when
it was first created, the value was INT_MAX. Then it was changed in
e2b77d57c0c13 to (~0 >> 1) which I guess was trying to be INT_MAX
without using the constant. But ~0 is an `int` so that produced -1.
I'm not sure what the 'l' suffix was for. Unless that was an attempt to
avoid undefined behavior had the shift been 31 instead of 30. But 'long'
is 32 bits on some targets so that wouldn't have worked for all
platforms.
Using INT_MAX is straightforward and avoids any mysteries.
Commit: e08c2178ef7806819b9a6334ca5d80f2baad56bc
https://github.com/llvm/llvm-project/commit/e08c2178ef7806819b9a6334ca5d80f2baad56bc
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
Log Message:
-----------
[MachineVerifier] Fix bug in MachineVerifier for G_INSERT_SUBVECTOR (#109048)
Commit: 4a63f4d301c0e044073e1b1f8f110015ec1778a1
https://github.com/llvm/llvm-project/commit/4a63f4d301c0e044073e1b1f8f110015ec1778a1
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/inline-constructors.hlsl
R clang/test/CodeGenHLSL/inline-functions.hlsl
Log Message:
-----------
Revert "[HLSL] set alwaysinline on HLSL functions (#106588)"
This reverts commit a729e706de3fc6ebee49ede3c50afb47f2e29191.
Reason:bBuildbot failure (https://lab.llvm.org/buildbot/#/builders/25/builds/2541):
'Clang :: CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl' failed
Commit: a1d64626ba16f5128530ac771c6e641b1155184f
https://github.com/llvm/llvm-project/commit/a1d64626ba16f5128530ac771c6e641b1155184f
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/print-attr-type-aliases.mlir
Log Message:
-----------
[MLIR][IR] Fix InProgressAliasInfo init for non-alias (#109013)
When visiting an attr/type that is NoAlias, the created
`InProgressAliasInfo` was not getting its `canBeDeferred` and `isType`
fields set. Not setting `canBeDeferred` when it should be true breaks
the assumption that all nested elements are also false. This will cause
problems when at a later point the attr/type needs to be converted by
`markAliasNonDeferrable`, as recursion will stop when a
`canBeDeferred=false` attr/type is reached, leaving its nested elements
not flipped. This causes nested elements to be printed later in the
textual IR and cannot be parsed back in.
Commit: 9e709dcb709f0d68eae655f3d5771751abc208a9
https://github.com/llvm/llvm-project/commit/9e709dcb709f0d68eae655f3d5771751abc208a9
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/GlobPattern.h
Log Message:
-----------
[NFC][Glob] Escape backslash to fix doxygen rendering (#109055)
The docs for Glob wasn't rendered correctly, I believe because the `\`
was not properly escaped. I haven't built these docs locally, so I'll
follow up to see if this is fixed after it lands.
https://llvm.org/doxygen/classllvm_1_1GlobPattern.html
Commit: 0ea40bf02138c02e7680ce6fa8169502f2a8bd42
https://github.com/llvm/llvm-project/commit/0ea40bf02138c02e7680ce6fa8169502f2a8bd42
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
Revert "[libc++] Explicitly convert to masks in SIMD code (#107983)"
This reverts commit 1603f99a37c5b179a21dbb8000c39a471a950927.
Reason: buildbot breakage e.g., https://lab.llvm.org/buildbot/#/builders/55/builds/2061
llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
llvm-libc++-shared.cfg.in :: std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp
...
(Buildbot re-run passed with the previous revision, 1fc288bf481726393c73133eef9aa73c0f78312e)
Commit: 905de9b0fe06d960e7f60175e6c96b955f334a66
https://github.com/llvm/llvm-project/commit/905de9b0fe06d960e7f60175e6c96b955f334a66
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
A clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
Log Message:
-----------
[HLSL] Add testing for space parameter on global constants (#106782)
The space parameter in the register binding annotation may not be used
for global constants. There was previously no diagnostic emitted when
this case occurred. This PR adds a diagnostic when this case occurs, and
tests these cases.
A new file was made to specifically test the space parameter, so some
cases in `\clang\test\SemaHLSL\resource_binding_attr_error.hlsl` were
moved over to this new file.
Fixes #104521
Commit: 38333f4161037d2587157e36b5cb994d1b2c36e5
https://github.com/llvm/llvm-project/commit/38333f4161037d2587157e36b5cb994d1b2c36e5
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/test/MC/WebAssembly/annotations.s
Log Message:
-----------
[WebAssembly] Support annotation for try_table (#109029)
This adds support for annotations (`down to labelN`) for `try_table`.
Commit: 08bba6503b918c97d9d1a0cde97f4b3c64d5f2c3
https://github.com/llvm/llvm-project/commit/08bba6503b918c97d9d1a0cde97f4b3c64d5f2c3
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/MC/WebAssembly/eh-assembly.s
Log Message:
-----------
[WebAssembly] Support binary generation for new EH (#109027)
This adds support for binary generation for the new EH proposal.
So far the only case that we emitted variable immediate operands in
binary has been `br_table`'s destinations. (Other `variable_ops` uses in
TableGen files are register operands, such as the operands of `call`, so
they don't get emitted in binary as a part of the same instruction.)
With this PR, variable immediate operands can include `try_table`'s
operands:
- The number of of catch clauses
- catch clauses sub-opcodes
- `catch`: 0x00
- `catch_ref`: 0x01
- `catch_all`: 0x02
- `catch_all_ref`: 0x03
- catch clauses' destinations
With `try_table`, we now have variable expr operands for `try_table`'s
catch clauses' tags. We treat their fixups in the same way we do for
tags in other instructions such as in `throw`.
Diff without whitespace will be easier to view.
Commit: 04575dce434de38e0b28a2b71dd44e29caaee685
https://github.com/llvm/llvm-project/commit/04575dce434de38e0b28a2b71dd44e29caaee685
Author: Alex Rice <alexrice999 at hotmail.co.uk>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M mlir/test/tblgen-to-irdl/CMathDialect.td
M mlir/test/tblgen-to-irdl/TestDialect.td
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] [tblgen-to-irdl] Add types to tblgen-to-irdl script (#108558)
Adds dialect types to the tblgen-to-irdl script and also allows
operations to refer to types by symbol, when possible, and updates tests
to do this.
The name of the type is exported with an exclamation mark to avoid name
clashes.
Commit: 9c9a627190b67a435a9735ee1aead20cbb708f2b
https://github.com/llvm/llvm-project/commit/9c9a627190b67a435a9735ee1aead20cbb708f2b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
Log Message:
-----------
[ThinLTO] Add lookup to ImportListsTy (#109036)
This is primarily to unblock Rust, which could potentially use
ImportListsTy::operator[] on a module that's not in ListsImpl and
cause concurrency problems.
This patch fixes a regression in the sense that it restores
ImportListsTy::lookup, which was available when ImportListsTy was just
a plain DenseMap.
Commit: b84663854859903c7b457b084d255a77405bd7a2
https://github.com/llvm/llvm-project/commit/b84663854859903c7b457b084d255a77405bd7a2
Author: vporpo <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SanbdoxIR] Implement BBIterator::getNodeParent() (#109039)
This patch implements sandboxir::BasicBlock::iterator::getNodeParent()
which returns the parent basic block of an iterator.
Commit: 790f2eb16a279f4cb4b57397fcafd5cadb49d6b7
https://github.com/llvm/llvm-project/commit/790f2eb16a279f4cb4b57397fcafd5cadb49d6b7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/bitcast.ll
Log Message:
-----------
[InstCombine] Avoid simplifying bitcast of undef to a zeroinitializer vector (#108872)
In some cases, if an undef value is the product of another instcombine
simplification, a bitcast of undef is simplified to a zeroinitializer
vector instead of undef.
Commit: 3aecf41c2b384ab65a327db91632ff0c148df721
https://github.com/llvm/llvm-project/commit/3aecf41c2b384ab65a327db91632ff0c148df721
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp
Log Message:
-----------
[SandboxVec] Add barebones Region class. (#108899)
A region identifies a set of vector instructions generated by
vectorization passes. The vectorizer can then run a series of
RegionPasses on the region, evaluate the cost, and commit/reject the
transforms on a region-by-region basis, instead of an entire basic
block.
This is heavily based ov @vporpo's prototype. In particular, the doc
comment for the Region class is all his. The rest of this commit is
mostly boilerplate around a SetVector: getters, iterators, and some
debug helpers.
Commit: aa2e6b87341de18a88688c1ac345754d4553bb3d
https://github.com/llvm/llvm-project/commit/aa2e6b87341de18a88688c1ac345754d4553bb3d
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
R llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
R llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp
Log Message:
-----------
Revert "[SandboxVec] Add barebones Region class." (#109058)
Reverts llvm/llvm-project#108899
It broke the llvm-clang-x86_64-win-fast buildbot.
Commit: da03d17698f205fe8ebc54c32994c8ce2c51a81e
https://github.com/llvm/llvm-project/commit/da03d17698f205fe8ebc54c32994c8ce2c51a81e
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
Log Message:
-----------
Revert "[HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)"
This reverts commit f4fe26ddfde0d5bb1c512e89a9cdd442a7518ee1.
Reason: 4a63f4d301c0e044073e1b1f8f110015ec1778a1 reverted "[HLSL] set alwaysinline on HLSL functions (#106588)" due to a buildbot failure; this test (which builds upon the reverted patch) also needs to be reverted.
Commit: 4a0bf8377e1038d6cf9454c7c6740bd759729938
https://github.com/llvm/llvm-project/commit/4a0bf8377e1038d6cf9454c7c6740bd759729938
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
Log Message:
-----------
Reapply "[HLSL] update StructuredBuffer subscript test for alwaysinline (#109023)"
This reverts commit da03d17698f205fe8ebc54c32994c8ce2c51a81e.
I mistakenly reverted this fix-forward.
Commit: b89bb7775d155fc787ab3170f3fa38449069ecb3
https://github.com/llvm/llvm-project/commit/b89bb7775d155fc787ab3170f3fa38449069ecb3
Author: Thurston Dang <thurston at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/inline-constructors.hlsl
A clang/test/CodeGenHLSL/inline-functions.hlsl
Log Message:
-----------
Reapply "[HLSL] set alwaysinline on HLSL functions (#106588)"
This reverts commit 4a63f4d301c0e044073e1b1f8f110015ec1778a1.
It was reverted because of a buildbot breakage, but the fix-forward has
landed (https://github.com/llvm/llvm-project/pull/109023).
Commit: ca0613e0fcef2a9972f2802318201f8272e74693
https://github.com/llvm/llvm-project/commit/ca0613e0fcef2a9972f2802318201f8272e74693
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Log Message:
-----------
[LegalizeFloatTypes] Handle replacement for strict ops inside SoftPromoteHalfOp_FP_TO_XINT. NFC
Return SDValue() so we can notify the caller we did all replacements.
Restore the getNumValues() == 1 check in the assert in the caller now
that all handles only return nodes with a single result.
Commit: 785624b28237bb75d4fa3b8e4219a5448b90eaac
https://github.com/llvm/llvm-project/commit/785624b28237bb75d4fa3b8e4219a5448b90eaac
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
Log Message:
-----------
[clang-tidy]suggest use `std::span` as replacement of c array in C++20 for modernize-avoid-c-arrays (#108555)
The incompleted C-Array in parameter does not own memory. Instead, It is
equivalent to pointer.
So we should not use `std::array` as recommended modern C++ replacement,
but use `std::vector` and `std::span` in C++20
Commit: 42c5a301f5990c87cc063f8fa2482893845cf73e
https://github.com/llvm/llvm-project/commit/42c5a301f5990c87cc063f8fa2482893845cf73e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec] Legality boilerplate (#108650)
This patch adds the basic API for the Legality component of the
vectorizer. It also adds some very basic code in the bottom-up
vectorizer that uses the API.
Commit: 773353b20a49bfa0dab608d415c1b4734d037fce
https://github.com/llvm/llvm-project/commit/773353b20a49bfa0dab608d415c1b4734d037fce
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M bolt/test/perf2bolt/lit.local.cfg
Log Message:
-----------
[bolt][tests] Skip tests that use perf when perf counters are unavailable (#107892)
On the GitHub Action runners, perf always fails with the error below ,
so we need to skip the perf tests on platforms like this that have
limited access to the perf counters.
```
Access to performance monitoring and observability operations is limited.
Consider adjusting /proc/sys/kernel/perf_event_paranoid setting to open
access to performance monitoring and observability operations for processes
without CAP_PERFMON, CAP_SYS_PTRACE or CAP_SYS_ADMIN Linux capability.
More information can be found at 'Perf events and tool security' document:
https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html
perf_event_paranoid setting is 4:
-1: Allow use of (almost) all events by all users
Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
>= 0: Disallow raw and ftrace function tracepoint access
>= 1: Disallow CPU event access
>= 2: Disallow kernel profiling
To make the adjusted perf_event_paranoid setting permanent preserve it
in /etc/sysctl.conf (e.g. kernel.perf_event_paranoid = <setting>)
```
Commit: 45a8e3605ebc5d9066daabf9ae27e7f9c00cf93d
https://github.com/llvm/llvm-project/commit/45a8e3605ebc5d9066daabf9ae27e7f9c00cf93d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 42c5a301f599
Commit: b2d3c315d510f55ac7ae0ca06f362c709fcacd12
https://github.com/llvm/llvm-project/commit/b2d3c315d510f55ac7ae0ca06f362c709fcacd12
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
M llvm/test/ThinLTO/X86/ctxprof.ll
Log Message:
-----------
[ctx_prof] Fix checks in `PGOCtxprofFlattening` (#108467)
The assertion that all out-edges of a BB can't be 0 is incorrect: they
can be, if that branch is on a cold subgraph.
Added validators and asserts about the expected proprerties of the
propagated counters.
Commit: 51d913af827567e6a0999609e7e624a422781870
https://github.com/llvm/llvm-project/commit/51d913af827567e6a0999609e7e624a422781870
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[sanitizer] Remove CHECK from __sanitizer_get_dtls_size
The check is too strict. It works for 2.38 I have,
but not for older glibc which used different
allocation code.
The check was introduced with #108345.
Commit: da0b9db26fe06cbdd2e3b3292645e0100fc237dc
https://github.com/llvm/llvm-project/commit/da0b9db26fe06cbdd2e3b3292645e0100fc237dc
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Replace config-> with ctx.arg. NFC
Commit: 33533baf631a4c6ea9b04eb1dda0090f80d143c5
https://github.com/llvm/llvm-project/commit/33533baf631a4c6ea9b04eb1dda0090f80d143c5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Add support for Objective-C++ property access (#108669)
Treat a function call or property access via a Objective-C++ selector
which returns a Ref/RefPtr as safe.
Commit: 7046a9fb05f65f4699a2e88abbcb7dad8a21db2d
https://github.com/llvm/llvm-project/commit/7046a9fb05f65f4699a2e88abbcb7dad8a21db2d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr108732.cppm
Log Message:
-----------
[C++20] [Modules] Treat in class defined member functions in language linkage as implicitly inline
Close https://github.com/llvm/llvm-project/issues/108732
This looks liek an oversight mostly.
Commit: 0f77bdd2c9bed6db6c2b9e10e05b5e99fde13d66
https://github.com/llvm/llvm-project/commit/0f77bdd2c9bed6db6c2b9e10e05b5e99fde13d66
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/wavesize.hlsl
Log Message:
-----------
[HLSL] generate hlsl.wavesize attribute (#107176)
Generate function attribute hlsl.wavesize from [WaveSize].
For #70118
Commit: 8280651ad57cb9fb24a404cec2401040c28dec98
https://github.com/llvm/llvm-project/commit/8280651ad57cb9fb24a404cec2401040c28dec98
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
A llvm/test/Demangle/ms-placeholder-return-type.test
Log Message:
-----------
[llvm] [Demangle] Fix MSVC demangling for placeholder return types (#106178)
Properly demangle `_T` and `_P` return type manglings for MSVC 1920+.
Also added a unit test for `@` return type that is used when mangling
non-template auto placeholder return type function.
Tested the output against the undname shipped with MSVC 19.40.
Commit: f8eceb45d0bbca092164efffc92f2e9d66b304a5
https://github.com/llvm/llvm-project/commit/f8eceb45d0bbca092164efffc92f2e9d66b304a5
Author: Bimo <rui.xu at intel.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M mlir/include/mlir-c/Pass.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
M mlir/test/python/pass_manager.py
Log Message:
-----------
[MLIR] [Python] align python ir printing with mlir-print-ir-after-all (#107522)
When using the `enable_ir_printing` API from Python, it invokes IR
printing with default args, printing the IR before each pass and
printing IR after pass only if there have been changes. This PR attempts
to align the `enable_ir_printing` API with the documentation
Commit: 22a2d74c0c6dbde6b3503ec51486d6cf5d0c83f1
https://github.com/llvm/llvm-project/commit/22a2d74c0c6dbde6b3503ec51486d6cf5d0c83f1
Author: Ahmed S. Taei <asaadaldien at users.noreply.github.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/vector-loads.ll
Log Message:
-----------
[NVPTX] Emit ld.v4.b16 for loading <4 x bfloat> (#109069)
This PR enables emitting a single load instruction for <4 x bfloat>,
otherwise, 2 ld.b32 loads are generated.
Commit: ddbe6c412bab3fe7a3ffaf6f42c49849a518b4c6
https://github.com/llvm/llvm-project/commit/ddbe6c412bab3fe7a3ffaf6f42c49849a518b4c6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/unittests/Format/FormatTestBase.h
M clang/unittests/Format/FormatTestProto.cpp
M clang/unittests/Format/FormatTestTextProto.cpp
Log Message:
-----------
[clang-format[NFC] Clean up FormatTestBase and Proto/TextProto tests (#108334)
Commit: 7153a4bbf6d46e58ce32d59220515c5ab9f35691
https://github.com/llvm/llvm-project/commit/7153a4bbf6d46e58ce32d59220515c5ab9f35691
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Reimplement InsertNewlineAtEOF (#108513)
Fixes #108333.
Commit: a8dd8f6302e5fd405de7ed2bbfe195f305279bf8
https://github.com/llvm/llvm-project/commit/a8dd8f6302e5fd405de7ed2bbfe195f305279bf8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in SpacesInParens InConditionalStatements (#108797)
Fixes #64416.
Commit: 4d18ce1dd2640829c3ad9cbb31e6ff92e2e29438
https://github.com/llvm/llvm-project/commit/4d18ce1dd2640829c3ad9cbb31e6ff92e2e29438
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle C-style cast of qualified type (#108929)
Fixes #102874.
Commit: fd21b7911fbdddc80db2d3971ff10ee70a49b7e3
https://github.com/llvm/llvm-project/commit/fd21b7911fbdddc80db2d3971ff10ee70a49b7e3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
Log Message:
-----------
[webkit.RefCntblBaseVirtualDtor] ThreadSafeRefCounted still generates warnings (#108656)
Improve the fix in 203a2ca8cd6af505e11a38aebceeaf864271042c by allowing
variable references and more ignoring of parentheses.
Commit: 125635eb68a5582b840e900b91ee2db5e7fd65e6
https://github.com/llvm/llvm-project/commit/125635eb68a5582b840e900b91ee2db5e7fd65e6
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove unused HAVE_SYS_PARAM_H/HAVE_SYS_TYPES_H
Commit: e1b40dc06373de1bb8535d543a3887646367dd8d
https://github.com/llvm/llvm-project/commit/e1b40dc06373de1bb8535d543a3887646367dd8d
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
[Clang] Propagate elide safe context through [[clang::coro_await_elidable_argument]] (#108474)
Commit: 30eb19321349827056facd54afab9b856b9f9d0a
https://github.com/llvm/llvm-project/commit/30eb19321349827056facd54afab9b856b9f9d0a
Author: Serban <serbyme-git at yahoo.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/extension.ts
Log Message:
-----------
[LLDB][lldb-dap][vscode-lldb] Add Environment configuration for the lldb-dap process (#108948)
Frequently, environment variables such as `LLDB_USE_NATIVE_PDB_READER`
are needed to be able to use lldb-dap in vscode
This PR adds a way to set the environment for the lldb-dap process using
configuration.
Commit: fe012bd52dd7638cfa9abeae786c28a75cde939b
https://github.com/llvm/llvm-project/commit/fe012bd52dd7638cfa9abeae786c28a75cde939b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Use Register around RegisterSDNode related functions. NFC
RegisterSDNode itself already stored a Register.
Commit: 9d3ab1c36e03d5ad23e209938c32973fbee18a57
https://github.com/llvm/llvm-project/commit/9d3ab1c36e03d5ad23e209938c32973fbee18a57
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Log Message:
-----------
[SelectionDAGBuilder] Use Register in more places. NFC"
Commit: 3d2925b9de0d60694a9f28edd2419f8eed34f1a1
https://github.com/llvm/llvm-project/commit/3d2925b9de0d60694a9f28edd2419f8eed34f1a1
Author: Hans <hans at hanshq.net>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] AllocateMemoryForTrampoline within 2 GB of the module's base address (#108822)
Since we may copy code (see CopyInstructions) to the trampoline which
could reference data inside the original module, we really want the
trampoline to be within 2 GB of not just the original function, but
within anything that function may have rip-relative accesses to, i.e.
within 2 GB of that function's whole module.
This fixes interception failures like the following scenario:
1. Intercept `CreateProcess` in kernel32.dll, allocating a trampoline
region right after
2. Start intercepting `memcpy` in the main executable, which is loaded
at a lower address than kernel32.dll, but still within 2 GB of the
trampoline region so we keep using it.
3. Try to copy instructions from `memcpy` to the trampoline. Turns out
one instruction references data that is more than 2GB away from the
trampoline, so it can't be relocated.
4. The process exits due to a CHECK failure
(Full story at https://crbug.com/341936875#comment45 and following.)
Commit: a2994b299986305f17917d61a99fc18185e209f0
https://github.com/llvm/llvm-project/commit/a2994b299986305f17917d61a99fc18185e209f0
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[LV][NFC] Unify printing for WidenEVLReicpe with other EVL recipes (#108177)
Commit: e0a16371c6cce47e2b0626225a727b458ebe7666
https://github.com/llvm/llvm-project/commit/e0a16371c6cce47e2b0626225a727b458ebe7666
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Omit isReg() check for all_uses() in SIInsertWaitcnts. NFC. (#109041)
Commit: 08f5f6dc8b09c702125e57a5e87ba56203de6263
https://github.com/llvm/llvm-project/commit/08f5f6dc8b09c702125e57a5e87ba56203de6263
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIR-V] Fix incorrect emission of G_SPLAT_VECTOR for fixed vectors (#108534)
This PR replaces MIRBuilder.buildSplatVector() by
MIRBuilder.buildSplatBuildVector(), so that we emit G_BUILD_VECTOR
instead of G_SPLAT_VECTOR: the latter is incorrect for fixed vectors and
is limited to scalable vectors only.
Commit: 5a8d2dd1f97017253be5d2262b25a9cf9d002546
https://github.com/llvm/llvm-project/commit/5a8d2dd1f97017253be5d2262b25a9cf9d002546
Author: Aditi Medhane <Aditi.Medhane at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
Log Message:
-----------
[AMDGPU] Handle subregisters properly in generic operand legalizer (#108496)
Fix for the issue found during COPY introduction during legalization of
PHI operands for sgpr to vgpr copy when subreg is involved.
Commit: 94a98cf5dc9317ba8b01c31443ca563808323d11
https://github.com/llvm/llvm-project/commit/94a98cf5dc9317ba8b01c31443ca563808323d11
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/test/Transforms/InstCombine/phi.ll
Log Message:
-----------
[InstCombine] Remove dead phi web (#108876)
In current visitPHINode function during InstCombine, it can remove dead
phi cycles (all phis have one use, which is another phi). However, it
cannot deal with the case when the phis form a web (all phis have one or
more uses, and all the uses are phi). This change extends the algorithm
so that it can also deal with the dead phi web.
Commit: 0dd56858fe188419182a57d0e03c8cd0aa693867
https://github.com/llvm/llvm-project/commit/0dd56858fe188419182a57d0e03c8cd0aa693867
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
A clang/test/Parser/cxx-bad-cast-diagnose-broken-template.cpp
Log Message:
-----------
[clang][Sema] Fix assertion in `tryDiagnoseOverloadedCast` (#108021)
Fixed an assertion failure in debug mode, and potential crashes in
release mode, when
diagnosing a failed cast caused indirectly by a failed implicit
conversion to the type of the constructor parameter.
For instance
```
template<typename>
struct StringTrait {};
template< int N >
struct StringTrait< const char[ N ] > {
typedef char CharType;
static const MissingIntT length = N - 1;
};
class String {
public:
template <typename T>
String(T& str, typename StringTrait<T>::CharType = 0);
};
class Exception {
public:
Exception(String const&);
};
void foo() {
throw Exception("some error");
}
```
`Exception(String const&)` is a matching constructor for `Exception`
from a `const char*`, via an implicit conversion to `String`. However,
the instantiation of the `String` constructor will fail because of the
missing type `MissingIntT` inside the specialization of `StringTrait`.
When trying to emit a diagnosis, `tryDiagnoseOverloadedCast` expects not
to have a matching constructor, but there is; it just could not be
instantiated.
Commit: 24748339f517ede038b45202680d281b38809ceb
https://github.com/llvm/llvm-project/commit/24748339f517ede038b45202680d281b38809ceb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[Clang][AMDGPU] Handle builtin types more generically. NFC. (#109004)
Tweak encodeTypeForFunctionPointerAuth to handle all AMDGPU builtin
types generically instead of just __amdgpu_buffer_rsrc_t which happens
to be the only one defined so far.
Commit: c2c425fccfaaf7e7e94dd057905cd6e91858443f
https://github.com/llvm/llvm-project/commit/c2c425fccfaaf7e7e94dd057905cd6e91858443f
Author: Franklin <fenglei4518 at hotmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[AArch64] Add missing tests for Arm cpus (#106749)
Commit: ef34cba1c38870197e2fe2ecd4c8326fc4b98340
https://github.com/llvm/llvm-project/commit/ef34cba1c38870197e2fe2ecd4c8326fc4b98340
Author: Franklin <fenglei4518 at hotmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
Log Message:
-----------
[AArch64] Fix sched model of Neoverse N2 (#106376)
* fix write order of "Load vector reg, immed post-index"
* fix a typo
Commit: dd222ff25129f4d67473a9af598a78d0adfcfd29
https://github.com/llvm/llvm-project/commit/dd222ff25129f4d67473a9af598a78d0adfcfd29
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[Clang] Avoid transforming lambdas when rebuilding immediate expressions (#108693)
When rebuilding immediate invocations inside
`RemoveNestedImmediateInvocation()`, we employed a `TreeTransform` to
exercise the traversal. The transformation has a side effect that, for
template specialization types, their default template arguments are
substituted separately, and if any lambdas are present, they will be
transformed into distinct types than those used to instantiate the
templates right before the `consteval` handling.
This resulted in `B::func()` getting redundantly instantiated for the
case in question. Since we're also in an immediate evaluation context,
the body of `foo()` would also get instantiated, so we end up with a
spurious friend redefinition error.
Like what we have done in `ComplexRemove`, this patch also avoids the
lambda's transformation in TemplateInstantiator if we know we're
rebuilding immediate calls. In addition, this patch also consolidates
the default argument substitution logic in
`CheckTemplateArgumentList()`.
Fixes #107175
Commit: 8d7d4c25cbdec49d6363132be004e51c15606452
https://github.com/llvm/llvm-project/commit/8d7d4c25cbdec49d6363132be004e51c15606452
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
Log Message:
-----------
[RISCV] Split fp rounding ops with zvfhmin nxv32f16 (#108765)
This adds zvfhmin test coverage for fceil, ffloor, fnearbyint, frint,
fround and froundeven and splits them at nxv32f16 to avoid crashing,
similarly to what we do for other nodes that we promote.
This also sets ftrunc to promote which was previously missing. We
already promote the VP version of it, vp_froundtozero.
Marking it as promoted affects some of the cost model tests since
they're no longer expanded.
Commit: d2d947b7e24679e0d1710a4f31dc0c8c9ee7c0b7
https://github.com/llvm/llvm-project/commit/d2d947b7e24679e0d1710a4f31dc0c8c9ee7c0b7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] Fold llvm.amdgcn.cvt.pkrtz when either operand is fpext (#108237)
This also generalizes the Undef handling and adds Poison handling.
Commit: 112aac4e8961b9626bb84f36deeaa5a674f03f5a
https://github.com/llvm/llvm-project/commit/112aac4e8961b9626bb84f36deeaa5a674f03f5a
Author: David Green <david.green at arm.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fmod.ll
Log Message:
-----------
[InstCombine] Fold fmod to frem if we know it does not set errno. (#107912)
fmod will be folded to frem in clang under -fno-math-errno and can be constant
folded in llvm if the operands are known. It can be relatively common to have
fp code that handles special values before doing some calculation:
```
if (isnan(f))
return handlenan;
if (isinf(f))
return handleinf;
..
fmod(f, 2.0)
```
This patch enables the folding of fmod to frem in instcombine if the first
parameter is not inf and the second is not zero. Other combinations do not set
errno.
The same transform is performed for fmod with the nnan flag, which implies the
input is known to not be inf/zero.
Commit: 43c9203d4946b7911d2ba69369717979900d7bc2
https://github.com/llvm/llvm-project/commit/43c9203d4946b7911d2ba69369717979900d7bc2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Support inferring function attributes for sincos[f|l] (#108554)
Commit: c59ac1a2f67d41b7fb2988bf013d37046d655c2c
https://github.com/llvm/llvm-project/commit/c59ac1a2f67d41b7fb2988bf013d37046d655c2c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
Log Message:
-----------
[X86] Cleanup AVX512 VBROADCAST subvector instruction names. (#108888)
This patch makes the `VBROADCAST***X**` subvector broadcast instructions consistent - the `***X**` section represents the original subvector type/size, but we were not correctly using the AVX512 Z/Z256/Z128 suffix to consistently represent the destination width (or we missed it entirely).
Commit: e32a62c0d31cdfd622461eb4758d34adca509a62
https://github.com/llvm/llvm-project/commit/e32a62c0d31cdfd622461eb4758d34adca509a62
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[clang][NFC] Add regression tests for GH63782 (#109104)
Patch by Alejandro Alvarez Ayllon!
CPP-5380
Commit: edac1b2d63b27f83bef99f9d51f1230ea2f3f0fa
https://github.com/llvm/llvm-project/commit/edac1b2d63b27f83bef99f9d51f1230ea2f3f0fa
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
Log Message:
-----------
[RISCV] Promote bf16 ops to f32 with zvfbfmin (#108937)
For f16 with zvfhmin, we promote most ops and VP ops to f32. This does
the same for bf16 with zvfbfmin, so the two fp types should now be in
sync.
There are a few places in the custom lowering where we need to check for
a LMUL 8 f16/bf16 vector that can't be promoted and must be split, this
extracts that out into isPromotedOpNeedingSplit.
In a follow up NFC we can deduplicate the code that sets up the
promotions.
Commit: 41d5fed09e7d31922e7869c72116a4c3adc11a4a
https://github.com/llvm/llvm-project/commit/41d5fed09e7d31922e7869c72116a4c3adc11a4a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/bad_module_subroutine.f90
Log Message:
-----------
[flang][Semantics] set scope even for module subroutines outside modules (#109009)
The missing scope information led to a crash in OpenMP semantic checks
run before printing the error that was already discovered in the code.
The following block has to be skipped for this invalid code so that we
don't emit a second spurious error.
Fixes #82913
Commit: 707169acb5520149cd5f96cc8f381ca51107d356
https://github.com/llvm/llvm-project/commit/707169acb5520149cd5f96cc8f381ca51107d356
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
Log Message:
-----------
[clang][NFC] Remove trailing spaces from Sema diag messages (#109098)
Commit: f5ad9e1ca582216010d07e7b0ca2f3e77f71c859
https://github.com/llvm/llvm-project/commit/f5ad9e1ca582216010d07e7b0ca2f3e77f71c859
Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/test/CodeGen/X86/comi-flags.ll
A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-64.txt
A llvm/test/MC/X86/avx10.2-com-ef-32-att.s
A llvm/test/MC/X86/avx10.2-com-ef-32-intel.s
A llvm/test/MC/X86/avx10.2-com-ef-64-att.s
A llvm/test/MC/X86/avx10.2-com-ef-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Support AVX10.2-COMEF new instructions. (#108063)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Chapter 8 AVX10 COMPARE SCALAR FP WITH ENHANCED EFLAGS INSTRUCTIONS
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 737f56fdf7d8df4f1349085fe7256e27778e4a51
https://github.com/llvm/llvm-project/commit/737f56fdf7d8df4f1349085fe7256e27778e4a51
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Deduplicate zvfhmin and zvfbfmin operation actions. NFC
After #108937 fp16 w/o zvfh and bf16 are now in sync and should have
the same lowering.
Commit: 2e3c7dbbcbfa37ae83251bb3da388df772680689
https://github.com/llvm/llvm-project/commit/2e3c7dbbcbfa37ae83251bb3da388df772680689
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[analyzer] Note last "fclose" call from "ensureStreamOpened" (#109112)
Patch by Arseniy Zaostrovnykh!
Commit: adf02ae41fe0e345b00a428f4b9f438b96ead11d
https://github.com/llvm/llvm-project/commit/adf02ae41fe0e345b00a428f4b9f438b96ead11d
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
Log Message:
-----------
[AMDGPU] Simplify lowerBUILD_VECTOR (#109094)
Simplify `lowerBUILD_VECTOR` by commoning up the way the vectors
are split.
Also reorder the checks to avoid a long condition inside `if`.
Commit: 4b529f840c7a28245f4462d9fde34f1686e96351
https://github.com/llvm/llvm-project/commit/4b529f840c7a28245f4462d9fde34f1686e96351
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
Log Message:
-----------
[X86] Fold extractsubvector(permv3(src0,mask,src1),c) -> extractsubvector(permv3(src0,widensubvector(extractsubvector(mask,c)),src1),0) iff c != 0
For cross-lane shuffles, extract the mask operand (uppper) subvector directly, and make use of the free implicit extraction of the lowest subvector of the result.
Commit: 872932b7a9539b0f0b62805f339bef62c94fd52d
https://github.com/llvm/llvm-project/commit/872932b7a9539b0f0b62805f339bef62c94fd52d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-shl-nuw.ll
Log Message:
-----------
[InstCombine] Generalize `icmp (shl nuw C2, Y), C -> icmp Y, C3` (#104696)
The motivation of this patch is to fold more generalized patterns like
`icmp ult (shl nuw 16, X), 64 -> icmp ult X, 2`.
Alive2: https://alive2.llvm.org/ce/z/gyqjQH
Commit: ffcff2f465ee8a7f0e0c7676c3e5c1ab889e0ce4
https://github.com/llvm/llvm-project/commit/ffcff2f465ee8a7f0e0c7676c3e5c1ab889e0ce4
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[VPlan][NFC] Fix the value name of VECTOR_GEP (#107544)
This patch passes the string `"vector.gep"` to CreateGEP instead of
CreateMul.
Commit: 403897484f939cffd9b813eb0b759d7113f5295b
https://github.com/llvm/llvm-project/commit/403897484f939cffd9b813eb0b759d7113f5295b
Author: David Green <david.green at arm.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[InstCombine] Return FRem, as opposed to substituteInParent.
This attempts to fix the ASan buildbot, which is detecting that CI is used
after it is removed in substituteInParent. The idea was to make sure it was
removed even if it had side-effects writing errno, but that appears to happen
if we return FRem directly as usual.
Commit: 5e23b66699d1066ce10b14a74d6137303517b2f3
https://github.com/llvm/llvm-project/commit/5e23b66699d1066ce10b14a74d6137303517b2f3
Author: Mike Hommey <mh at glandium.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lld/COFF/SymbolTable.cpp
A lld/test/COFF/import_weak_alias.test
Log Message:
-----------
[LLD][COFF] Handle imported weak aliases consistently (#109105)
symTab being a DenseMap, the order in which a symbol and its
corresponding import symbol are processed is not guaranteed, and when
the latter comes first, it is left undefined.
Commit: c29dfb334643073607ac94e78a339a87508217d1
https://github.com/llvm/llvm-project/commit/c29dfb334643073607ac94e78a339a87508217d1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change CodeGenSchedule to use const Record pointers (#108782)
Change CodeGenSchedule to use const Record pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: cb47b45d782fcca46acb614c720233c6b8706e58
https://github.com/llvm/llvm-project/commit/cb47b45d782fcca46acb614c720233c6b8706e58
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/test/rtsan/basic.cpp
A compiler-rt/test/rtsan/sanity_check_pure_c.c
Log Message:
-----------
[rtsan] Fix RTTI issue, make a better c test (#108720)
Later in a development branch, our c tests were failing, this was due to
the lack of RTTI.
This follows very similar patterns found in the other sanitizers
Commit: cb5f81dc94269d357c9f07892e80e42e93f66624
https://github.com/llvm/llvm-project/commit/cb5f81dc94269d357c9f07892e80e42e93f66624
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Use range for loops in AsmMatcherEmitter (#108914)
Use range for loops in AsmMatcherEmitter.
Convert some Record pointers to const.
Commit: 8fc3ac4cbd5c838dafd1fc9077cfe07eee69ccce
https://github.com/llvm/llvm-project/commit/8fc3ac4cbd5c838dafd1fc9077cfe07eee69ccce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmWriterEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change AsmWriterEmitter to const RecordKeeper (#108918)
Change AsmWriterEmitter to const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 6b6e2106f974286715bda1abf95d4ab08ac9946f
https://github.com/llvm/llvm-project/commit/6b6e2106f974286715bda1abf95d4ab08ac9946f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[LLVM][TableGen] Change CodeGenMapTable to use const RecordKeeper (#109034)
Change CodeGenMapTable to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 40c45b6b43180221acb49f387e7d3158adf49e3e
https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang-tools-extra/CODE_OWNERS.TXT
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/docs/clang-rename.rst
M clang-tools-extra/docs/index.rst
M clang-tools-extra/test/CMakeLists.txt
R clang-tools-extra/test/clang-apply-replacements/ClangRenameClassReplacements.cpp
M clang/docs/ClangFormattedStatus.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/test/CMakeLists.txt
R clang/test/clang-rename/ClassAsTemplateArgument.cpp
R clang/test/clang-rename/ClassFindByName.cpp
R clang/test/clang-rename/ClassSimpleRenaming.cpp
R clang/test/clang-rename/ClassTestMulti.cpp
R clang/test/clang-rename/ClassTestMultiByName.cpp
R clang/test/clang-rename/ComplexFunctionOverride.cpp
R clang/test/clang-rename/ComplicatedClassType.cpp
R clang/test/clang-rename/Ctor.cpp
R clang/test/clang-rename/CtorInitializer.cpp
R clang/test/clang-rename/DeclRefExpr.cpp
R clang/test/clang-rename/ForceMulti.cpp
R clang/test/clang-rename/ForwardClassDecl.cpp
R clang/test/clang-rename/FunctionMacro.cpp
R clang/test/clang-rename/FunctionOverride.cpp
R clang/test/clang-rename/FunctionTemplate.cpp
R clang/test/clang-rename/FunctionWithClassFindByName.cpp
R clang/test/clang-rename/IncludeHeaderWithSymbol.cpp
R clang/test/clang-rename/Inputs/HeaderWithSymbol.h
R clang/test/clang-rename/Inputs/OffsetToNewName.yaml
R clang/test/clang-rename/Inputs/QualifiedNameToNewName.yaml
R clang/test/clang-rename/InvalidNewName.cpp
R clang/test/clang-rename/InvalidOffset.cpp
R clang/test/clang-rename/InvalidQualifiedName.cpp
R clang/test/clang-rename/MemberExprMacro.cpp
R clang/test/clang-rename/Namespace.cpp
R clang/test/clang-rename/NoNewName.cpp
R clang/test/clang-rename/NonExistFile.cpp
R clang/test/clang-rename/TemplateClassInstantiation.cpp
R clang/test/clang-rename/TemplateCtor.cpp
R clang/test/clang-rename/TemplateTypename.cpp
R clang/test/clang-rename/TemplatedClassFunction.cpp
R clang/test/clang-rename/Typedef.cpp
R clang/test/clang-rename/UserDefinedConversion.cpp
R clang/test/clang-rename/Variable.cpp
R clang/test/clang-rename/VariableMacro.cpp
R clang/test/clang-rename/VariableTemplate.cpp
R clang/test/clang-rename/YAMLInput.cpp
M clang/tools/CMakeLists.txt
R clang/tools/clang-rename/CMakeLists.txt
R clang/tools/clang-rename/ClangRename.cpp
R clang/tools/clang-rename/clang-rename.el
R clang/tools/clang-rename/clang-rename.py
M clang/unittests/CMakeLists.txt
R clang/unittests/Rename/CMakeLists.txt
R clang/unittests/Rename/ClangRenameTest.h
R clang/unittests/Rename/RenameAliasTest.cpp
R clang/unittests/Rename/RenameClassTest.cpp
R clang/unittests/Rename/RenameEnumTest.cpp
R clang/unittests/Rename/RenameFunctionTest.cpp
R clang/unittests/Rename/RenameMemberTest.cpp
M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
R llvm/utils/gn/secondary/clang/tools/clang-rename/BUILD.gn
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Remove clang-rename (#108988)
clang-rename has largely been superseded by clangd and this project
hasn't received much attention in many years. Further, our
documentation on it still claims it's in very early stages of
development despite being ~10 years old. One of the primary people
driving the tool has mentioned that they don't believe there is a
reason to continue to support it unless it's still being actively
used (https://reviews.llvm.org/D148439#4303202) and I've found no
evidence to suggest that is the case.
Original RFC:
https://discourse.llvm.org/t/rfc-time-to-deprecate-remove-clang-rename/70707
Commit: 2bb3621faa886ba6df99c751b49011f55ef4ca1e
https://github.com/llvm/llvm-project/commit/2bb3621faa886ba6df99c751b49011f55ef4ca1e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change DecoderEmitter to use const RecordKeeper (#109040)
Change DecoderEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: ef71226fcd0bbfe62f4ef71f72005fa98ea9ca24
https://github.com/llvm/llvm-project/commit/ef71226fcd0bbfe62f4ef71f72005fa98ea9ca24
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.h
Log Message:
-----------
[LLVM][TableGen] Change WebAsm Emitter to use const RecordKeeper (#109051)
Change WebAssemblyDisassemblerEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 4eee0cfc8a922fc952ce94130505eb0e7aad6935
https://github.com/llvm/llvm-project/commit/4eee0cfc8a922fc952ce94130505eb0e7aad6935
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M mlir/test/python/execution_engine.py
Log Message:
-----------
[MLIR] Reuse the path to runner_utils libraries (#108579)
Prefer to get the path to libmlir_runner_utils and
libmlir_c_runner_utils via %mlir_runner_utils and %mlir_c_runner_utils.
Fallback to the previous paths only if they aren't defined.
This ensures the test will pass regardless of the build configuration
used downstream.
Commit: 13b4d1bfeacc441d792557b42759f258dc4316e6
https://github.com/llvm/llvm-project/commit/13b4d1bfeacc441d792557b42759f258dc4316e6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-deref-load.ll
A llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[SimplifyCFG][LICM] Add additional speculation tests
These are related to https://github.com/llvm/llvm-project/issues/108854.
Commit: 9690b30ba9acc3deb1068deb37f3b507826b27fe
https://github.com/llvm/llvm-project/commit/9690b30ba9acc3deb1068deb37f3b507826b27fe
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Scalar.h
M lldb/source/Utility/Scalar.cpp
A lldb/test/API/lang/cpp/fpnan/Makefile
A lldb/test/API/lang/cpp/fpnan/TestFPNaN.py
A lldb/test/API/lang/cpp/fpnan/main.cpp
Log Message:
-----------
[LLDB] Fix operators <= and >= returning a wrong result when comparing to a floating point NaN (#108060)
Implement operators `<=` and `>=` to explicitly check the comparison
results to be `cmpLessThan` or `cmpEqual` instead of negating the result
of `operators<`.
Fixes #85947
Commit: 76347ee9584bfcdaceb4ee48d39441c29aeb2124
https://github.com/llvm/llvm-project/commit/76347ee9584bfcdaceb4ee48d39441c29aeb2124
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-107988.fir
Log Message:
-----------
[flang][debug] Improve handling of dummy character arguments. (#108283)
As described in #107998, we were not handling the case well when length
of the character is not part of the type. This PR handles one of the
case when the length can be calculated by looking at the result of
corresponding `fir.unboxchar`.
The DIStringTypeAttr have a `stringLength` field that can be a variable.
We create an artificial variable that will hold the length and used as
value of `stringLength` field. The variable is then attached with
a `DbgValueOp`.
Fixes #107998.
Commit: 311e4e3245818d42e2bd148157c960f567f37096
https://github.com/llvm/llvm-project/commit/311e4e3245818d42e2bd148157c960f567f37096
Author: Mahesh-Attarde <145317060+mahesh-attarde at users.noreply.github.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10_2copyintrin.h
M clang/lib/Headers/immintrin.h
A clang/test/CodeGen/X86/avx512copy-builtins.c
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx10.2-copy-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-copy-64.txt
A llvm/test/MC/X86/avx10.2-copy-32-att.s
A llvm/test/MC/X86/avx10.2-copy-32-intel.s
A llvm/test/MC/X86/avx10.2-copy-64-att.s
A llvm/test/MC/X86/avx10.2-copy-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86ManualInstrMapping.def
Log Message:
-----------
[X86][AVX10.2] Support AVX10.2 MOVZXC new Instructions. (#108537)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Chapter 14 INTEL® AVX10 ZERO-EXTENDING PARTIAL VECTOR COPY INSTRUCTIONS
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: a4586bd2d4fa7d6c0100893496a9383fd581e2e9
https://github.com/llvm/llvm-project/commit/a4586bd2d4fa7d6c0100893496a9383fd581e2e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
Log Message:
-----------
[Loads] Extract some checks into a lambda (NFC)
This makes it easier to add additional checks.
Commit: 5ac97d397c2088c3ac0a113506e57ab9b1e69ac8
https://github.com/llvm/llvm-project/commit/5ac97d397c2088c3ac0a113506e57ab9b1e69ac8
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/Rename/BUILD.gn
Log Message:
-----------
[gn] port 40c45b6b4318 more (rm clang-rename)
40c45b6b4318 already removed most traces of clang-rename from the
GN build (thanks!), but it didn't delete the build file for unit tests.
Commit: 76eda76f9f36646b8b393f2369359d02e24e20c8
https://github.com/llvm/llvm-project/commit/76eda76f9f36646b8b393f2369359d02e24e20c8
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/truncxfbf2.c
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Add libcall for F80 -> BF16 (#109116)
This fixes #108936, but the calling convention doesn't match with GCC. I
doubt we have such a lib function for now, so leave the calling
convention as is.
Commit: e8e42999a559457292190b9faf7b2a83ec8d1ac5
https://github.com/llvm/llvm-project/commit/e8e42999a559457292190b9faf7b2a83ec8d1ac5
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port 76eda76f9f36
Commit: 07d7fdd7a58ee34c3e518e2474f2c28d461796d6
https://github.com/llvm/llvm-project/commit/07d7fdd7a58ee34c3e518e2474f2c28d461796d6
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 311e4e324581
Commit: aa43f3abe0e9a7199a8df3f71364d7084f968825
https://github.com/llvm/llvm-project/commit/aa43f3abe0e9a7199a8df3f71364d7084f968825
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/rtsan_flags.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/test/rtsan/lit.cfg.py
Log Message:
-----------
[compiler-rt][rtsan] Use Die instead of exit, define cf.exitcode (#107635)
Commit: a10c9f994be143e2ac63918aa495bc2aeb3ffb48
https://github.com/llvm/llvm-project/commit/a10c9f994be143e2ac63918aa495bc2aeb3ffb48
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/truncxfbf2.c
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
Revert "[X86][BF16] Add libcall for F80 -> BF16" (#109140)
Reverts llvm/llvm-project#109116
Commit: ce74d5ff878b901d6582e407fddd808ad1236d20
https://github.com/llvm/llvm-project/commit/ce74d5ff878b901d6582e407fddd808ad1236d20
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn build] Port a10c9f994be1
Commit: 0d736e296c2feed7709e002d5972ed60844b6b56
https://github.com/llvm/llvm-project/commit/0d736e296c2feed7709e002d5972ed60844b6b56
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Add getSCEVExprForVPValue util, use to get trip count SCEV (NFC) (#94464)
Add a new getSCEVExprForVPValue utility which can be used to get a SCEV
expression for a VPValue. The initial implementation only returns SCEVs
for live-in IR values (by constructing a SCEV based on the live-in IR
value) and VPExpandSCEVRecipe. This is enough to serve its first use,
getting a SCEV for a VPlan's trip count, but will be extended in the
future.
It also removes createTripCountSCEV, as the new helper can be used to
retrieve the SCEV from the VPlan.
PR: https://github.com/llvm/llvm-project/pull/94464
Commit: ba8c96593c78cda44523abf2abcd7faeef0471af
https://github.com/llvm/llvm-project/commit/ba8c96593c78cda44523abf2abcd7faeef0471af
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/openmp-offload-gpu.c
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
Log Message:
-----------
[Clang] Do not implicitly link C libraries for the GPU targets (#109052)
Summary:
I initially thought that it would be convenient to automatically link
these libraries like they are for standard C/C++ targets. However, this
created issues when trying to use C++ as a GPU target. This patch moves
the logic to now implicitly pass it as part of the offloading toolchain
instead, if found. This means that the user needs to set the target
toolchain for the link job for automatic detection, but can still be
done manually via `-Xoffload-linker -lc`.
Commit: 11b95deab9a00d53e94a089b5d4bf3c05e5d5370
https://github.com/llvm/llvm-project/commit/11b95deab9a00d53e94a089b5d4bf3c05e5d5370
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] fix typo in clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
Commit: a9d9b0a03daf7ca986182477a0866df525cfceff
https://github.com/llvm/llvm-project/commit/a9d9b0a03daf7ca986182477a0866df525cfceff
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
A clang/test/C/C23/n3030.c
M clang/test/Sema/fixed-enum.c
M clang/www/c_status.html
Log Message:
-----------
[clang][C23] Claim N3030 Enhancements to Enumerations supported (#107260)
Clang already implemented functionality as an extension.
Commit: 620738e66260f00f08808b3e676a697fc32db92e
https://github.com/llvm/llvm-project/commit/620738e66260f00f08808b3e676a697fc32db92e
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
Log Message:
-----------
[lldb-dap][test] Fix `readMemory` test (#109057)
So far, the test case was also testing the offset -1. This test cases
failed if the string is immediately at the beginning of the memory
region, though, and the offset -1 hence belonged to a different memory
region.
The fix is rather straightforward:
Passing an offset of -1 is not used by any actual clients of lldb-dap,
anyway. As such, this commit simply removes the corresponding test case.
Commit: 47c3df2a7fcdfb33064d4d5e7d82dde1ea379023
https://github.com/llvm/llvm-project/commit/47c3df2a7fcdfb33064d4d5e7d82dde1ea379023
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change CallingConvEmitter to use const RecordKeeper (#108955)
Change CallingConvEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: b334ca6739fb069b7259a89ba246cc600f07c68f
https://github.com/llvm/llvm-project/commit/b334ca6739fb069b7259a89ba246cc600f07c68f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[NFC] Remove trailing whitespaces in `llvm/docs/LangRef.rst`
Commit: 67518a44fec0f59b2f926059cf15ec77ec72da13
https://github.com/llvm/llvm-project/commit/67518a44fec0f59b2f926059cf15ec77ec72da13
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
A clang/test/CodeGenHLSL/builtins/countbits.hlsl
M clang/test/Sema/builtins-elementwise-math.c
A clang/test/Sema/countbits-errors.hlsl
M clang/test/SemaCXX/builtins-elementwise-math.cpp
A clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/countbits.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
Log Message:
-----------
[HLSL] Implement elementwise popcount (#108121)
Add new elementwise popcount builtin to support HLSL function
'countbits'.
elementwise popcount only accepts integer types.
Add hlsl intrinsic 'countbits'
Closes #99094
Commit: 475ceca859233b387c22f13ecef581158ef36346
https://github.com/llvm/llvm-project/commit/475ceca859233b387c22f13ecef581158ef36346
Author: Mainak Sil <mainaksil0 at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
A clang/unittests/CodeGen/AllLibrariesFit.cpp
A clang/unittests/CodeGen/EncodingDecodingTest.cpp
A clang/unittests/CodeGen/SimulatedOverflowTest.cpp
Log Message:
-----------
[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def (#108804)
Summary:
This PR fixes the issue where the VecLib bitfield in CodeGenOptions.def
is too small to accommodate the increasing number of vector libraries.
Specifically, the bitfield size was previously set to 3, but with the
introduction of more vector libraries (currently 9), the bitfield needed
to be expanded to avoid potential issues in vectorization.
In this PR, I have increased the size of the VecLib bitfield from 3 to 4
to account for the additional libraries. This ensures that all 9 vector
libraries are correctly encoded and available for use without errors.
Changes Made:
Modified: Increased the VecLib bitfield size from 3 to 4 in
clang/include/clang/Basic/CodeGenOptions.def.
Motivation:
This change is necessary to ensure that all vector libraries are
properly represented and selectable. The current limitation of the
VecLib bitfield size was causing some vectorization opportunities to be
lost when more than 3 bits were needed to represent the library options.
Closes:
Fixes https://github.com/llvm/llvm-project/issues/108704
Commit: 3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
https://github.com/llvm/llvm-project/commit/3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
R clang/unittests/CodeGen/AllLibrariesFit.cpp
R clang/unittests/CodeGen/EncodingDecodingTest.cpp
R clang/unittests/CodeGen/SimulatedOverflowTest.cpp
Log Message:
-----------
Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def" (#109161)
Reverts llvm/llvm-project#108804
Bots are failing:
https://lab.llvm.org/buildbot/#/builders/140/builds/6859
Commit: 6ce14099ffa1194a5ed1f1ae6c35a4e811706fae
https://github.com/llvm/llvm-project/commit/6ce14099ffa1194a5ed1f1ae6c35a4e811706fae
Author: Luc Blaeser <112870813+luc-blaeser at users.noreply.github.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A lld/test/wasm/unsupported-pic-relocations.s
A lld/test/wasm/unsupported-pic-relocations64.s
M lld/wasm/Relocations.cpp
Log Message:
-----------
[lld][WebAssembly] Report unsupported PIC relocations as errors (#104926)
`WASM_MEMORY_ADDR_REL_` and `WASM_TABLE_INDEX_REL_` relocations against
**undefined symbols** are not supported and, except for
`UnresolvedPolicy::ReportError`, lead to incorrect Wasm code, such as
invalid data address or invalid table index that cannot be patched
during later dynamic Wasm linking with modules declaring those symbols.
This is different to other relocations that support undefined symbols by
declaring correspond Wasm imports.
For more robust behavior, `wasm-ld` should probably report an error for
such unsupported PIC relocations, independent of the `UnresolvedPolicy`.
Commit: afce1b10144d006b7f171cd532ad663295e79ec4
https://github.com/llvm/llvm-project/commit/afce1b10144d006b7f171cd532ad663295e79ec4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Remove empty Rename tests for now-deleted clang-rename (#109162)
Removed in #108988, the tool is fine but the glob for tests is now empty
because all the tests were deleted.
Commit: 4b524088a80757a204424a1f172721ee997519d9
https://github.com/llvm/llvm-project/commit/4b524088a80757a204424a1f172721ee997519d9
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[NFC] Update function names in MCTargetAsmParser.h (#108643)
Update function names to adhere to LLVM coding standard.
Commit: 2c85fe96893c9c67a96e5b37f1cd79ded3a03344
https://github.com/llvm/llvm-project/commit/2c85fe96893c9c67a96e5b37f1cd79ded3a03344
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Remove miscellaneous unused code. NFC.
Commit: eda72fac548f317cec997967494763e9a7bafa27
https://github.com/llvm/llvm-project/commit/eda72fac548f317cec997967494763e9a7bafa27
Author: Vakhurin Sergei <igelbox at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/PartialDiagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Serialization/ASTReader.cpp
A clang/test/PCH/race-condition.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
Log Message:
-----------
Fix OOM in FormatDiagnostic (2nd attempt) (#108866)
Resolves: #70930 (and probably latest comments from clangd/clangd#251)
by fixing racing for the shared DiagStorage value which caused messing with args inside the storage and then formatting the following message with getArgSInt(1) == 2:
def err_module_odr_violation_function : Error<
"%q0 has different definitions in different modules; "
"%select{definition in module '%2'|defined here}1 "
"first difference is "
which causes HandleSelectModifier to go beyond the ArgumentLen so the recursive call to FormatDiagnostic was made with DiagStr > DiagEnd that leads to infinite while (DiagStr != DiagEnd).
The Main Idea:
Reuse the existing DiagStorageAllocator logic to make all DiagnosticBuilders having independent states.
Also, encapsulating the rest of state (e.g. ID and Loc) into DiagnosticBuilder.
The last attempt failed -
https://github.com/llvm/llvm-project/pull/108187#issuecomment-2353122096
so was reverted - #108838
Commit: 2731be7ac505f9ef2e90b77b84ef0fbe411bf9f5
https://github.com/llvm/llvm-project/commit/2731be7ac505f9ef2e90b77b84ef0fbe411bf9f5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/raw_ostream.h
M llvm/unittests/Support/raw_ostream_test.cpp
M llvm/utils/yaml-bench/YAMLBench.cpp
Log Message:
-----------
[Support] Add helper struct `indent` for adding indentation (#108966)
Add helper struct indent() for adding indentation to raw_ostream.
Commit: 6b3c9e5c20e36d7c8a0dbabd9e71be8522d2dde4
https://github.com/llvm/llvm-project/commit/6b3c9e5c20e36d7c8a0dbabd9e71be8522d2dde4
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
Log Message:
-----------
[X86] Speed up X86 Domain Reassignment pass by early return (#108108)
Current implementation of X86 Domain Reassignment pass is finding out
the complete closure of a general register, then check if it's possible
to change the domain. It causes compile time issue when compiling large
functions. This patch checks the possibility of change domain in the
process of constructing closure, if it's illegal to change domain, we
can return immedietely.
For one of our large files, it reduced X86 Domain Reassignment pass time
from 200+ seconds to less than 1s.
Commit: 292ee93a87018bfef519ceff7de676e4792aa8d9
https://github.com/llvm/llvm-project/commit/292ee93a87018bfef519ceff7de676e4792aa8d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
Log Message:
-----------
[CodeGen] Use Register in SwitchLoweringUtils. NFC (#109092)
Use an empty Register() instead of -1U.
Commit: 8e4909aa198d8beaf32ee0abc59a06e2e54dc3bd
https://github.com/llvm/llvm-project/commit/8e4909aa198d8beaf32ee0abc59a06e2e54dc3bd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
Log Message:
-----------
[RISCV] Remove unnecessary vand.vi from vXi1 and nvXvi1 VECTOR_REVERSE codegen. (#109071)
Use a setne with 0 instead of a trunc. We know we zero extended the node
so we can get by with a non-zero check only. The truncate lowering
doesn't know that we zero extended so has to mask the lsb.
I don't think DAG combine sees the trunc before we lower it to RISCVISD
nodes so we don't get a chance to use computeKnownBits to remove the
AND.
Commit: 87da9e2fac04a97fb35f8546c582d4cd4c06ec14
https://github.com/llvm/llvm-project/commit/87da9e2fac04a97fb35f8546c582d4cd4c06ec14
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/CodeEmitterGen.cpp
Log Message:
-----------
[LLVM][TableGen] Change CodeEmitterGen to use const RecordKeeper (#109025)
Change CodeEmitterGen to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 0545e9f5b6e0cb3743ca27ce88c24974e6f29f56
https://github.com/llvm/llvm-project/commit/0545e9f5b6e0cb3743ca27ce88c24974e6f29f56
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DFAEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change DFAEmitter to use const Record pointers (#109042)
Change DFAEmitter to use const Record pointers.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 06048aaa73cac62b95fab4cca3ce9d19f596898f
https://github.com/llvm/llvm-project/commit/06048aaa73cac62b95fab4cca3ce9d19f596898f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[Target] Use 'unsigned' as the underlying type for the tablegened physical register enums. (#109086)
Otherwise, the enum defaults to 'int'. Update a few places that used
'int' for registers that now need to change to avoid a signed/unsigned
compare warning.
I was hoping this would allow us to remove the 'int' comparison
operators in Register.h and MCRegister.h, but compares with literal 0
still need them.
Commit: 4fbac52841e967033f9f783e9223798232dca4dd
https://github.com/llvm/llvm-project/commit/4fbac52841e967033f9f783e9223798232dca4dd
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change DXILEmitter to use const RecordKeeper (#109045)
Change DXILEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 74335fb7ae7731a57a163524aeffd93911b50a46
https://github.com/llvm/llvm-project/commit/74335fb7ae7731a57a163524aeffd93911b50a46
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/X86MnemonicTables.cpp
Log Message:
-----------
[LLVM][TableGen] Change X86MnemonicTables to use const RecordKeeper (#109053)
Change X86MnemonicTables to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: ab2b333f0db50c4124f422343db3cc8c9e075787
https://github.com/llvm/llvm-project/commit/ab2b333f0db50c4124f422343db3cc8c9e075787
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change FastISelEmitter to use const RecordKeeper (#109060)
Change FastISelEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 47d76a9910bad0f3db7bc887c5e769bb0f219107
https://github.com/llvm/llvm-project/commit/47d76a9910bad0f3db7bc887c5e769bb0f219107
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/InstrDocsEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change InstrDocsEmitter to use const RecordKeeper (#109061)
Change InstrDocsEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: b18190ebfc4bc724eca07fb8432c3a3e899098b3
https://github.com/llvm/llvm-project/commit/b18190ebfc4bc724eca07fb8432c3a3e899098b3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change MacroFusionPredicator to use const RecordKeeper (#109064)
Change MacroFusionPredicator to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 5f02558d820fdc9aa8ac7d3d887e72526574e1d9
https://github.com/llvm/llvm-project/commit/5f02558d820fdc9aa8ac7d3d887e72526574e1d9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[OpenMP] Fix not linking C libraries when enabled (#109168)
Summary:
We used to do this automatically, add it back in to do it manually.
Commit: 1a793a8ca024a5b6e6a659cc4e1a8c4ab45e3cee
https://github.com/llvm/llvm-project/commit/1a793a8ca024a5b6e6a659cc4e1a8c4ab45e3cee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[LLVM][TableGen] Change X86InstrMapping to use const RecordKeeper (#109066)
Change X86InstrMappingEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 80aa4dab1e0fc6ede382efd1e7fddb063fecac09
https://github.com/llvm/llvm-project/commit/80aa4dab1e0fc6ede382efd1e7fddb063fecac09
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change X86FoldTablesEmitter to use const RecordKeeper (#109070)
Change X86FoldTablesEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 2c966709b7bafb08a97c7bfc3d3252a932a8b1f8
https://github.com/llvm/llvm-project/commit/2c966709b7bafb08a97c7bfc3d3252a932a8b1f8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change CompressInstEmitter to use const RecordKeeper (#109035)
Change CompressInstEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: e06f32114d0bda2ce5f008f18e838aba529d7a58
https://github.com/llvm/llvm-project/commit/e06f32114d0bda2ce5f008f18e838aba529d7a58
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
Log Message:
-----------
[CSKY,M68k,Xtensa] Update function names after #108643
Commit: 86d2abefcb8b6b2d3f57b3ec8650f11861c226ff
https://github.com/llvm/llvm-project/commit/86d2abefcb8b6b2d3f57b3ec8650f11861c226ff
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lld/COFF/InputFiles.h
M lld/COFF/MapFile.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Store __imp_ symbols as Defined in InputFile (#109115)
Commit: f2128267c26e548bef59209e7a351ff94d343bf3
https://github.com/llvm/llvm-project/commit/f2128267c26e548bef59209e7a351ff94d343bf3
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL][NFC] Remove RegisterBindingFlags struct (#108924)
When diagnosing register bindings we just need to make sure there is a
resource that matches the provided register type. We can emit the
diagnostics right away instead of collecting flags in the
RegisterBindingFlags struct. That also enables early exit when scanning
user defined types because we can return as soon as we find a matching
resource for the given register type.
Commit: 13502c7f2c053b2a060f7b9926328cfda46404de
https://github.com/llvm/llvm-project/commit/13502c7f2c053b2a060f7b9926328cfda46404de
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c
R clang/test/utils/update-verify-tests/Inputs/duplicate-diag.c.expected
R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c
R clang/test/utils/update-verify-tests/Inputs/infer-indentation.c.expected
R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c
R clang/test/utils/update-verify-tests/Inputs/leave-existing-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c
R clang/test/utils/update-verify-tests/Inputs/multiple-errors.c.expected
R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c
R clang/test/utils/update-verify-tests/Inputs/multiple-missing-errors-same-line.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-checks.c
R clang/test/utils/update-verify-tests/Inputs/no-checks.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-diags.c
R clang/test/utils/update-verify-tests/Inputs/no-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c
R clang/test/utils/update-verify-tests/Inputs/no-expected-diags.c.expected
R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c
R clang/test/utils/update-verify-tests/Inputs/non-default-prefix.c.expected
R clang/test/utils/update-verify-tests/Inputs/update-same-line.c
R clang/test/utils/update-verify-tests/Inputs/update-same-line.c.expected
R clang/test/utils/update-verify-tests/Inputs/update-single-check.c
R clang/test/utils/update-verify-tests/Inputs/update-single-check.c.expected
R clang/test/utils/update-verify-tests/duplicate-diag.test
R clang/test/utils/update-verify-tests/infer-indentation.test
R clang/test/utils/update-verify-tests/leave-existing-diags.test
R clang/test/utils/update-verify-tests/lit.local.cfg
R clang/test/utils/update-verify-tests/multiple-errors.test
R clang/test/utils/update-verify-tests/multiple-missing-errors-same-line.test
R clang/test/utils/update-verify-tests/no-checks.test
R clang/test/utils/update-verify-tests/no-diags.test
R clang/test/utils/update-verify-tests/no-expected-diags.test
R clang/test/utils/update-verify-tests/non-default-prefix.test
R clang/test/utils/update-verify-tests/update-same-line.test
R clang/test/utils/update-verify-tests/update-single-check.test
R clang/utils/UpdateVerifyTests/core.py
R clang/utils/update-verify-tests.py
Log Message:
-----------
Revert update-verify-tests.py (#109171)
This reverts commits c96ee0ffaf5ee7afa1f4b0be0662852f57b47244 and
9ceb9676678ad979a0b767450855d7852ce6a553.
Discussion in github PR #108658.
Commit: be187a6812fb6e8984886c28a502ec69bdaa4ad4
https://github.com/llvm/llvm-project/commit/be187a6812fb6e8984886c28a502ec69bdaa4ad4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A flang/include/flang/Common/float80.h
A flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build. (#109078)
`std::complex` operators do not work for the CUDA device compilation
of F18 runtime. This change makes use of `cuda::std::complex` from
`libcudacxx`.
`cuda::std::complex` does not have specializations for `long double`,
so the change is accompanied with a clean-up for `long double` usage.
Commit: f5d62d76479f1788be92ee9a588766e1d5c79d8d
https://github.com/llvm/llvm-project/commit/f5d62d76479f1788be92ee9a588766e1d5c79d8d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Add tests for deducing paths unreachable if they cause div/rem UB; NFC
Commit: 37932643abab699e8bb1def08b7eb4eae7ff1448
https://github.com/llvm/llvm-project/commit/37932643abab699e8bb1def08b7eb4eae7ff1448
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Deduce paths unreachable if they cause div/rem UB
Same we way mark a path unreachable if it may cause a nullptr
dereference, div/rem by zero or signed div/rem of INT_MIN by -1 cause
immediate UB.
Closes #109008
Commit: 36192fdfb91c64e97702ee431d246600862871d2
https://github.com/llvm/llvm-project/commit/36192fdfb91c64e97702ee431d246600862871d2
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
R flang/include/flang/Common/float80.h
R flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
Revert "[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build." (#109173)
Reverts llvm/llvm-project#109078
Commit: 84d7f294c485e36947b412cbfa69ad706ce6c9f0
https://github.com/llvm/llvm-project/commit/84d7f294c485e36947b412cbfa69ad706ce6c9f0
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Parser/parsing.cpp
Log Message:
-----------
[flang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 71e434d302802901a59f686f878d105dad646601
https://github.com/llvm/llvm-project/commit/71e434d302802901a59f686f878d105dad646601
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp
Log Message:
-----------
[SandboxVec] Reapply "Add barebones Region class. (#108899)" (#109059)
A `#ifndef NDEBUG` in the wrong place caused an error in release builds.
Commit: 51df8a33275408680f869bb206413373b5ca13e1
https://github.com/llvm/llvm-project/commit/51df8a33275408680f869bb206413373b5ca13e1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 71e434d30280
Commit: 1be4c9710bd09e2f56908ca6cee54cb80ca1774d
https://github.com/llvm/llvm-project/commit/1be4c9710bd09e2f56908ca6cee54cb80ca1774d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy][readability-container-contains] Extend to any class with contains (#107521)
This check will now work out of the box with other containers that have a
`contains` method, such as `folly::F14` or Abseil containers.
It will also work with strings, which are basically just weird containers.
`std::string` and `std::string_view` will have a `contains` method starting with
C++23. `llvm::StringRef` and `folly::StringPiece` are examples of existing
implementations with a `contains` method.
Commit: d5d1417659267f7247668f46cd51bd748b368fa3
https://github.com/llvm/llvm-project/commit/d5d1417659267f7247668f46cd51bd748b368fa3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-ceil-floor.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-libcall.mir
Log Message:
-----------
[RISCV][GISel] Use libcalls for rint, nearbyint, trunc, round, and roundeven intrinsics. (#108779)
Commit: b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
https://github.com/llvm/llvm-project/commit/b0bdc7fcc995fe6cf6ca9a184fc6ed211fc7b608
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/type.cpp
M flang/test/Semantics/get_team.f90
A flang/test/Semantics/modfile68.f90
M flang/test/Semantics/modproc01.f90
Log Message:
-----------
[flang] Fix subtle type naming bug in module file output (#108892)
A derived type specification in semantics holds both its source name
(for location purposes) and its ultimate derived type symbol. But for
correct module file generation of a structure constructor using that
derived type spec, the original symbol may be needed so that USE
association can be exposed.
Save both the original symbol and its ultimate symbol in the
DerivedTypeSpec, and collect the right one when traversing expressions
(specifically for handling initialization in module files).
Fixes https://github.com/llvm/llvm-project/issues/108827.
Commit: 5f11d38d019b8447a3f76c978a5beae4639015de
https://github.com/llvm/llvm-project/commit/5f11d38d019b8447a3f76c978a5beae4639015de
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/runtime/io-api.cpp
M flang/runtime/io-stmt.cpp
Log Message:
-----------
[flang] Fix code that deletes unit from bad OPEN (#108994)
When an OPEN statement fails, a unit that was created for the OPEN needs
to be removed from the unit map. The code that tried to do this was
incorrect -- it needs to re-acquire the unit via LookUpForClose as a
CLOSE statement does. (The failure to do this completely was leaving a
zombie unit active that could break a later OPEN on the same unit
number.)
Commit: 1e19e1e1a471f648ff63f02114648211666669ca
https://github.com/llvm/llvm-project/commit/1e19e1e1a471f648ff63f02114648211666669ca
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/implicit16.f90
Log Message:
-----------
[flang] Catch untyped entities in interfaces with IMPLICIT NONE (#109018)
The order of operations in name resolution wasn't converting named
entities to objects by the time that they were subjected to the implicit
typing rules in the case of interface blocks. This led to entities
remaining untyped without error, leading to a crash in module file
generation.
Fixes https://github.com/llvm/llvm-project/issues/108975.
Commit: a800ffac4115259a76d803512eda31e4de787570
https://github.com/llvm/llvm-project/commit/a800ffac4115259a76d803512eda31e4de787570
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
Log Message:
-----------
[mlir][gpu] Disjoint patterns for lowering clustered subgroup reduce (#109158)
Making the existing populateGpuLowerSubgroupReduceToShufflePatterns()
function also cover the new "clustered" subgroup reductions is proving
to be inconvenient, because certain backends may have more specific
lowerings that only cover the non-clustered type, and this creates pass
ordering constraints. This commit removes coverage of clustered
reductions from this function in favour of a new separate function,
which makes controlling the lowering much more straightforward.
Commit: 9284e1870d27e44845c8e0d1e9e0a1817dc59474
https://github.com/llvm/llvm-project/commit/9284e1870d27e44845c8e0d1e9e0a1817dc59474
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[LLVM][TableGen] Change DAGISel code to use const RecordKeeper (#109038)
Change DAGISel code to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 9ddb1cd5648c0cf5b61fb661bdb5e8fa0a056c08
https://github.com/llvm/llvm-project/commit/9ddb1cd5648c0cf5b61fb661bdb5e8fa0a056c08
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change DFAPacketizerEmitter to use const RecordKeeper (#109044)
Change DFAPacketizerEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: bde51d9b0d473447ea12fb14924f14ea167eec85
https://github.com/llvm/llvm-project/commit/bde51d9b0d473447ea12fb14924f14ea167eec85
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[libomp][AIX] Ensure only libomp.a is published on AIX (#109016)
For `libomp` on AIX, we build shared object `libomp.so` first and then
archive it into `libomp.a`. Due to a CMake for AIX problem, the install
step also tries to publish `libomp.so`. While we use a script to build
`libomp.a` out-of-tree for Clang and avoided the problem, this chokes
the in-tree build for Flang. The issue will be reported to CMake but
before a fixed CMake is available, this patch ensures only `libomp.a` is
published.
Commit: 644899addd8fd789c93e9a0f0727d37eb1b29c55
https://github.com/llvm/llvm-project/commit/644899addd8fd789c93e9a0f0727d37eb1b29c55
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
A llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-libcall.mir
Log Message:
-----------
[RISCV][GISel] Port portions of float-intrinsics.ll and double-intrinsics.ll. NFC
Remove the legalizer test for the same intrinsics as it is no longer
interesting with end to end tests.
Commit: abb317ff9aba8a58449d91f6162597e54d02a57c
https://github.com/llvm/llvm-project/commit/abb317ff9aba8a58449d91f6162597e54d02a57c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
Log Message:
-----------
[clang-tidy] Fix performance-unnecessary-value-param (#109145)
This patch essentially reverts #108674 while adding a testcase that
triggers a crash in clang-tidy.
Fixes #108963.
Commit: e0ad34e56590fa2e6ffdf617e044de7eadee2139
https://github.com/llvm/llvm-project/commit/e0ad34e56590fa2e6ffdf617e044de7eadee2139
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/GH18291.cpp
Log Message:
-----------
[clang] Use canonical type for substitution which might be incomplete (#109065)
When checking deduction consistency, a substitution can be incomplete
such that only sugar parts refer to non-deduced template parameters.
This would not otherwise lead to an inconsistent deduction, so this
patch makes it so we canonicalize the types before substitution in order
to avoid that possibility, for now.
When we are able to produce substitution failure diagnostics for partial
ordering, we might want to improve the TemplateInstantiator so that it
does not fail in that case.
This fixes a regression on top of #100692, which was reported on the PR.
This was never released, so there are no release notes.
Commit: a7c174502aef45b2d33291129cce10c085fef944
https://github.com/llvm/llvm-project/commit/a7c174502aef45b2d33291129cce10c085fef944
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
Log Message:
-----------
[lldb] Only send "posix" error codes through the gdb-remote protocol
The other side has no way of telling which namespace do these codes
belong to, so mashing them all together is not very helpful.
I'm mainly doing this to simplify some code in a pending patch
<https://github.com/llvm/llvm-project/pull/106774/files#r1752628604>,
and I've picked the posix error category semi-randomly. If we wanted to
be serious about assigning meaning to these error codes, we should
create a special error category for "gdb errors".
Commit: 06939fa2e140a171132275ec0ea1857d20c5dbdd
https://github.com/llvm/llvm-project/commit/06939fa2e140a171132275ec0ea1857d20c5dbdd
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Status.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Utility/Status.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
M lldb/unittests/Utility/StatusTest.cpp
Log Message:
-----------
[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)
(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)
Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).
This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.
Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.
Implementation notes:
This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
(eErrorTypeInvalid)
eErrorTypeGeneric llvm::StringError
eErrorTypePOSIX llvm::ECError
eErrorTypeMachKernel MachKernelError
eErrorTypeExpression llvm::ErrorList<ExpressionError>
eErrorTypeWin32 Win32Error
```
Commit: b4a8e877ee3002a8cfd613f7950afcbe1d98821c
https://github.com/llvm/llvm-project/commit/b4a8e877ee3002a8cfd613f7950afcbe1d98821c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Utility/Status.cpp
Log Message:
-----------
Add noexcept qualifier to placate g++
Commit: 775de20c3a0a149158cdafce66ef29510a436f1f
https://github.com/llvm/llvm-project/commit/775de20c3a0a149158cdafce66ef29510a436f1f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
Log Message:
-----------
[RISCV][GISel] Support unaligned-scalar-mem. (#108905)
We need to set the required alignment to 8 with unaligned-scalar-mem. If we don't do this, the legalizer will try to lower the unaligned load/store and the lower code will call allowsMemoryAccess to verify what its supposed to do. allowsMemoryAccess will say the unaligned access is allowed. So the legalizer gives up.
Commit: 2383bc8216bd7d373bb48337199c09d40922adf2
https://github.com/llvm/llvm-project/commit/2383bc8216bd7d373bb48337199c09d40922adf2
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
Log Message:
-----------
[lldb] Update SocketTestUtilities.cpp to use CloneableECError
Commit: 38752ffd417103621232e6ba6ba70e970e0d6356
https://github.com/llvm/llvm-project/commit/38752ffd417103621232e6ba6ba70e970e0d6356
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[sanitizer] Adjust size for begin/start mismatch (#109079)
Follow up to 51d913af827567e6a0999609e7e624a422781870.
Commit: a0bb2e21c10bebcdb6bc6b8bc18f74dcf7c4b8b2
https://github.com/llvm/llvm-project/commit/a0bb2e21c10bebcdb6bc6b8bc18f74dcf7c4b8b2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/hwasan/hwasan.cpp
M compiler-rt/lib/lsan/lsan.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/ubsan/ubsan_init.cpp
Log Message:
-----------
[NFC][sanitizer] Move `InitTlsSize` into `InitializePlatformEarly` (#108921)
Commit: cf02d8bbb6dfed17081fbdbf44e2071aea1af728
https://github.com/llvm/llvm-project/commit/cf02d8bbb6dfed17081fbdbf44e2071aea1af728
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Utility/Status.cpp
Log Message:
-----------
[lldb] Store ECError as CloneableECError in Status
Commit: d1544da533378c1fbb81f08f20270d58d34587ca
https://github.com/llvm/llvm-project/commit/d1544da533378c1fbb81f08f20270d58d34587ca
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Move InitTlsSize (#108922)
Move after ThreadDescriptorSizeFallback to be able to use it.
Commit: c86b1b0f44509585390c8df09b41d707e6a14011
https://github.com/llvm/llvm-project/commit/c86b1b0f44509585390c8df09b41d707e6a14011
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
Log Message:
-----------
[lldb] Add handling of ECError to unit test to validate a hypothesis on the bots
Commit: 999313debe8a87760b128e4469f17ec0ce1a4a8f
https://github.com/llvm/llvm-project/commit/999313debe8a87760b128e4469f17ec0ce1a4a8f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
Log Message:
-----------
[sanitizer] Switch from lazy `ThreadDescriptorSize` (#108923)
`ThreadDescriptorSize` uses `dlsym` which may use
malloc in unexpected time.
It's relatively easy to init size from the main init.
Commit: 05a292caa57de13a6d0bc25dee2be25c2a0dcee3
https://github.com/llvm/llvm-project/commit/05a292caa57de13a6d0bc25dee2be25c2a0dcee3
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
Log Message:
-----------
Revert "[lldb] Add handling of ECError to unit test to validate a hypothesis on the bots"
This reverts commit c86b1b0f44509585390c8df09b41d707e6a14011.
Commit: 79a69cb06665859658677b9ade4a1a262490f8c1
https://github.com/llvm/llvm-project/commit/79a69cb06665859658677b9ade4a1a262490f8c1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Utility/Status.cpp
Log Message:
-----------
Revert "[lldb] Store ECError as CloneableECError in Status"
This reverts commit cf02d8bbb6dfed17081fbdbf44e2071aea1af728.
Commit: 8b456b436f996b4c6dfee0abc704b9219d43f7d2
https://github.com/llvm/llvm-project/commit/8b456b436f996b4c6dfee0abc704b9219d43f7d2
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
Log Message:
-----------
Revert "[lldb] Update SocketTestUtilities.cpp to use CloneableECError"
This reverts commit 2383bc8216bd7d373bb48337199c09d40922adf2.
Commit: 27303736512c32bb87b67a4ecf0b17881a8811c6
https://github.com/llvm/llvm-project/commit/27303736512c32bb87b67a4ecf0b17881a8811c6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Utility/Status.cpp
Log Message:
-----------
Revert "Add noexcept qualifier to placate g++"
This reverts commit b4a8e877ee3002a8cfd613f7950afcbe1d98821c.
Commit: cb6d53198e39838ba6f9d2974c4f4317057d1556
https://github.com/llvm/llvm-project/commit/cb6d53198e39838ba6f9d2974c4f4317057d1556
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Status.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Utility/Status.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
M lldb/unittests/Utility/StatusTest.cpp
Log Message:
-----------
Revert "[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)"
This reverts commit 06939fa2e140a171132275ec0ea1857d20c5dbdd.
Commit: 6dcde731eb13aeaa8296504ad8178d62c8ecd3eb
https://github.com/llvm/llvm-project/commit/6dcde731eb13aeaa8296504ad8178d62c8ecd3eb
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
Log Message:
-----------
Revert "[lldb] Only send "posix" error codes through the gdb-remote protocol"
This reverts commit a7c174502aef45b2d33291129cce10c085fef944.
Commit: 4e659c6ca3cb6fb24e84b8744516478096f23c73
https://github.com/llvm/llvm-project/commit/4e659c6ca3cb6fb24e84b8744516478096f23c73
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
Log Message:
-----------
[NFC][sanitizer] Use InitializePlatformEarly() in test (#109224)
Fix windows test after #108921.
Commit: 1bda7ba12ebccc663dff224e3bf2e4ad2235c05f
https://github.com/llvm/llvm-project/commit/1bda7ba12ebccc663dff224e3bf2e4ad2235c05f
Author: vporpo <vporpodas at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Add Instruction::isStackSaveRestoreIntrinsic() and isMemDepCandidate() (#109212)
These are helper functions to be used by the vectorizer's dependency
graph.
Commit: 258fc7f582877d3bc2a26e62da4f50e467d8c640
https://github.com/llvm/llvm-project/commit/258fc7f582877d3bc2a26e62da4f50e467d8c640
Author: ofAlpaca <frank70199 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/ASTConsumers.cpp
M clang/test/AST/ast-dump-concepts.cpp
Log Message:
-----------
[Clang] Fix -ast-dump-decl-types crashes on concepts (#108142)
Resolve #94928
This PR adds `if (TD->getTemplateDecl())` to prevent `InnerD` becoming
`nullptr`, suggested by @firstmoonlight.
I also add `-ast-dump-decl-types` option and declare type `CHECK` to the
testcase `clang/test/AST/ast-dump-concepts.cpp`.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 8f3fb5d982db63572c11dd602780218ec45df986
https://github.com/llvm/llvm-project/commit/8f3fb5d982db63572c11dd602780218ec45df986
Author: Xing Guo <higuoxing+github at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/docs/JITLink.rst
Log Message:
-----------
[Doc] Improve documentation for JITLink. (#109163)
This patch improves the documentation for JITLink by fixing some typos,
correcting indentations and fixing out-dated code examples.
Commit: 104f3c180644c8872eaad0b3fcf6a6b948d92a71
https://github.com/llvm/llvm-project/commit/104f3c180644c8872eaad0b3fcf6a6b948d92a71
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A flang/include/flang/Common/float80.h
A flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
Reland "[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build. (#109078)" (#109207)
`std::complex` operators do not work for the CUDA device compilation
of F18 runtime. This change makes use of `cuda::std::complex` from
`libcudacxx`.
`cuda::std::complex` does not have specializations for `long double`,
so the change is accompanied with a clean-up for `long double` usage.
Additional change on top of #109078 is to use `cuda::std::complex`
only for the device compilation, otherwise the host compilation
fails because `libcudacxx` may not support `long double` specialization
at all (depending on the compiler).
Commit: 9f5139ccee0ca6134edeb61d15dd4ae123f5149d
https://github.com/llvm/llvm-project/commit/9f5139ccee0ca6134edeb61d15dd4ae123f5149d
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Fix unused variable build error
Commit: 615bd9ee60ca213d0e93a7ddc5c1bf48418952e9
https://github.com/llvm/llvm-project/commit/615bd9ee60ca213d0e93a7ddc5c1bf48418952e9
Author: jimingham <jingham at apple.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/docs/use/python-reference.rst
M lldb/examples/python/cmdtemplate.py
Log Message:
-----------
Add docs and an example use of the scripted command get_flags API. (#109176)
The API is present, and we even have a test for it, but it isn't
documented so no one probably knows you can set requirements for your
scripted commands. This just adds docs and uses it appropriately in the
`framestats` example command.
Commit: d21a43579e36af4aa90bf541aa8bab33e7500297
https://github.com/llvm/llvm-project/commit/d21a43579e36af4aa90bf541aa8bab33e7500297
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
Log Message:
-----------
[LegalizeVectorOps][RISCV] Don't scalarize FNEG in ExpandFNEG if FSUB is marked Promote.
We have a special check that tries to determine if vector FP
operations are supported for the type to determine whether to
scalarize or not. If FP arithmetic would be promoted, don't unroll.
This improves Zvfhmin codegen on RISC-V.
Commit: e494e2a29449a5ce7fce16b5dc1d0033b1ba69e8
https://github.com/llvm/llvm-project/commit/e494e2a29449a5ce7fce16b5dc1d0033b1ba69e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
Log Message:
-----------
[MachineVerifier] Improve G_EXTRACT_SUBVECTOR checking (#109202)
Check that the destination of G_EXTRACT_SUBVECTOR is smaller than the
source. Improve wording of error messages.
Commit: 009398b3b37f7d653b4371120944f74cad934992
https://github.com/llvm/llvm-project/commit/009398b3b37f7d653b4371120944f74cad934992
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
Log Message:
-----------
[MachineVerifier] Improve checks for G_INSERT_SUBVECTOR. (#109209)
-Improve messages.
-Remove redundant checks that are handled in generic code.
-Add check that the subvector is smaller than the vector.
-Add checks that subvector is smaller than the vector.
Commit: 87dc3e89e72bb8d42d742c6a916f5fdee0bf853b
https://github.com/llvm/llvm-project/commit/87dc3e89e72bb8d42d742c6a916f5fdee0bf853b
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][LLVMIR] Add more vector predication intrinsic ops (#107663)
This revision adds vector predication smax, smin, umax and umin
intrinsic ops.
Commit: c9aa9d53b6f92d9780430ab8239ea9117574c95d
https://github.com/llvm/llvm-project/commit/c9aa9d53b6f92d9780430ab8239ea9117574c95d
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestJS.cpp
Log Message:
-----------
[clang-format] Fix regression in BAS_AlwaysBreak for-await (#108634)
Fixes #108589.
Commit: cdf447baa50e837961384fab1e4d087da30b6f3d
https://github.com/llvm/llvm-project/commit/cdf447baa50e837961384fab1e4d087da30b6f3d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
A flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/CUDA/memory.h
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
A flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Add function to allocate and deallocate device module variable (#109213)
This patch adds new runtime entry points that perform the simple
allocation/deallocation of module allocatable variable with cuda
attributes.
When the allocation is initiated on the host, the descriptor on the
device is synchronized. Both descriptors point to the same data on the
device.
This is the first PR of a stack.
Commit: 56015da593b646489c43263625cd2a8ceb7ef906
https://github.com/llvm/llvm-project/commit/56015da593b646489c43263625cd2a8ceb7ef906
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change RegisterBankEmitter to use const RecordKeeper (#109195)
Change RegisterBankEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 156035ed4dc6910105393be8981ecb3098299c5d
https://github.com/llvm/llvm-project/commit/156035ed4dc6910105393be8981ecb3098299c5d
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
Log Message:
-----------
[flang][cuda] Convert module allocation/deallocation to runtime calls
Convert `cuf.allocate` and `cuf.deallocate` to the runtime entry points added
in #109213
Was reviewed in https://github.com/llvm/llvm-project/pull/109214 but the
parent branch was closed for some reason.
Commit: ce9209f50e33fa0bd81de0a53723adde65290c68
https://github.com/llvm/llvm-project/commit/ce9209f50e33fa0bd81de0a53723adde65290c68
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
Log Message:
-----------
[ctx_prof] Fix `ProfileAnnotator::allTakenPathsExit` (#109183)
Added tests to the validator and fixed issues stemming from the previous skipping over BBs with single successors - which is incorrect. That would be now picked by added tests where the assertions are expected to be triggered.
Commit: ee5709b3b4bfd6e8e7fed8195e14e78ef10c9d74
https://github.com/llvm/llvm-project/commit/ee5709b3b4bfd6e8e7fed8195e14e78ef10c9d74
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Analysis/CtxProfAnalysis.cpp
Log Message:
-----------
[nfc][ctx_prof] Don't try finding callsite annotation for un-instrumentable callsites (#109184)
Reinforcing properties ensured at instrumentation time.
Commit: 12d94850cd183cadf37f1f278e5795e84a95e894
https://github.com/llvm/llvm-project/commit/12d94850cd183cadf37f1f278e5795e84a95e894
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[ctx_prof] Avoid `llvm::append_range` to fix some build bots
Example: https://lab.llvm.org/buildbot/#/builders/169/builds/3381
The CI allowed the `llvm::append_range` instantiation, but
on the other hand it's quite unnecessary here.
Commit: 80f6b42a26ec7594e6b016c5dde5d57db6c9dfb1
https://github.com/llvm/llvm-project/commit/80f6b42a26ec7594e6b016c5dde5d57db6c9dfb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Fix incorrect use of getPressureSets. (#109179)
The code was passing a physical register directly to getPressureSets
which expects a register unit.
Fix this by looping over the register units and calling getPressureSets
for each of them.
Found while trying to add a RegisterUnit class to stop storing register
units in `Register`. 0 is a valid register unit but not a valid
Register.
Commit: 0f06f707ec9c670ed6e8f245d045462fbc14224b
https://github.com/llvm/llvm-project/commit/0f06f707ec9c670ed6e8f245d045462fbc14224b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC] Cleanup RegisterInfoEmitter code (#109199)
Change variable name `o` to `OS` to match definition, and
`ClName` to `ClassName` for better clarity.
Cache RegBank reference in the class and do no pass around
class members to functions.
Commit: 5e1a54b298d108be9c2face5ca0e6664c2dafc93
https://github.com/llvm/llvm-project/commit/5e1a54b298d108be9c2face5ca0e6664c2dafc93
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda][NFC] Add more descriptor inquiry tests for data transfer (#108094)
Make sure there is no data transfer generated when a device variable is
used in these intrinsic functions.
Commit: 4194e8dea52a23949f81a611cbd91148404714cc
https://github.com/llvm/llvm-project/commit/4194e8dea52a23949f81a611cbd91148404714cc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix grammar in CanCUDASymbolHasSave function name (#109234)
Commit: 7603e854295baeabeaa2c7ffcf187c9c53def822
https://github.com/llvm/llvm-project/commit/7603e854295baeabeaa2c7ffcf187c9c53def822
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change PseudoLoweringEmitter to use const RecordKeeper (#109194)
Change PseudoLoweringEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 23123aa4ec9c6d8ce406df36006e6729b6cd044e
https://github.com/llvm/llvm-project/commit/23123aa4ec9c6d8ce406df36006e6729b6cd044e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change InstrInfoEmitter to use const RecordKeeper (#109189)
Change InstrInfoEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/commit/7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
Author: Brendan Shanks <mrpippy at gmail.com>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
M lldb/tools/debugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h
Log Message:
-----------
[lldb] [debugserver] Use "full" x86_64 GPR state when available. (#108663)
macOS 10.15 added a "full" x86_64 GPR thread state flavor, equivalent to
the normal one but with DS, ES, SS, and GSbase added. This flavor can
only be used with processes that install a custom LDT (functionality
that was also added in 10.15 and is used by apps like Wine to execute
32-bit code).
Along with allowing DS, ES, SS, and GSbase to be viewed/modified, using
the full flavor is necessary when debugging a thread executing 32-bit
code.
If thread_set_state() is used with the regular thread state flavor, the
kernel resets CS to the 64-bit code segment (see
[set_thread_state64()](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/i386/pcb.c#L723),
which makes debugging impossible.
There's no way to detect whether the full flavor is available, try to
use it and fall back to the regular one if it's not available.
A downside is that this patch exposes the DS, ES, SS, and GSbase
registers for all x86_64 processes, even though they are not populated
unless the full thread state is available.
I'm not sure if there's a way to tell LLDB that a register is
unavailable. The classic GDB `g` command [allows returning
`x`](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Packets.html#Packets)
to denote unavailable registers, but it seems like the debug server uses
newer commands like `jThreadsInfo` and I'm not sure if those have the
same support.
Fixes #57591
(also filed as Apple FB11464104)
@jasonmolenda
Commit: e82f0838ae88ad69515ebec234765e3e2607bebf
https://github.com/llvm/llvm-project/commit/e82f0838ae88ad69515ebec234765e3e2607bebf
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-18 (Wed, 18 Sep 2024)
Changed paths:
M lld/ELF/ICF.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/test/ELF/icf10.s
Log Message:
-----------
[ELF] --icf: don't fold a section without relocation and a section with relocations for SHT_CREL
Similar to commit 686cff17cc310884e48ae963bf7507f96950cc90 for SHT_REL (#57693).
CREL hasn't been tested with ICF before.
And avoid a pitfall that eqClass[0] might interfere with ICF.
Commit: 90330e993d74b90325d936c9ec923c82623b20db
https://github.com/llvm/llvm-project/commit/90330e993d74b90325d936c9ec923c82623b20db
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/sext-setcc.ll
Log Message:
-----------
[NVPTX] Set v2i16 SETCC to Expand (#108969)
Note that this refers to the return type of SETCC. This operation is not
legal in PTX but was assumed as such because v2i16 is declared a legal
type. We were already expanding v4i8 SETCC.
The DAGCombiner would in certain circumstances try to fold an extension
of an illegal v2i1 SETCC (because v2i1 is illegal) into a "legal" v2i16
SETCC, which we wouldn't have patterns for.
Commit: 77af9d10237fef194eb275f33a11daea88e304a4
https://github.com/llvm/llvm-project/commit/77af9d10237fef194eb275f33a11daea88e304a4
Author: Him188 <tguan at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
A llvm/test/CodeGen/AArch64/vararg.ll
Log Message:
-----------
[AArch64][GlobalISel] Implement selectVaStartAAPCS (#106979)
This commit adds the missing support for varargs in the instruction
selection pass for AAPCS. Previously we only implemented this for
Darwin.
The implementation was according to AAPCS and SelectionDAG's
LowerAAPCS_VASTART.
It resolves all VA_START fallbacks in RAJAperf, llvm-test-suite, and
SPEC CPU2017. These benchmarks now compile and pass without fallbacks
due to varargs.
---------
Co-authored-by: Madhur Amilkanthwar <madhura at nvidia.com>
Commit: 758444ca3e7163a1504eeced3383af861d01d761
https://github.com/llvm/llvm-project/commit/758444ca3e7163a1504eeced3383af861d01d761
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-sdag-emitcopyfromreg.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-i1.ll
M llvm/test/CodeGen/AMDGPU/select-vectors.ll
M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
[AMDGPU] Promote uniform ops to I32 in DAGISel (#106383)
Promote uniform binops, selects and setcc between 2 and 16 bits to 32
bits in DAGISel
Solves #64591
Commit: 904f58e6b9418dab53719c7817e9216b95981a49
https://github.com/llvm/llvm-project/commit/904f58e6b9418dab53719c7817e9216b95981a49
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/codegen.c
Log Message:
-----------
[clang][bytecode] Use field descriptor in IntPointer::atOffset (#109238)
We're otherwise still pointing to the old type, but with the new offset.
Commit: da1a222337681c1823e9d6215451f392131ad8d1
https://github.com/llvm/llvm-project/commit/da1a222337681c1823e9d6215451f392131ad8d1
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
Log Message:
-----------
[AMDGPU] Regenerate load-constant-i1 test
Fix failure caused by #106383
Commit: 4e3781607cd12eb337298ee6d16ebecde4ce5741
https://github.com/llvm/llvm-project/commit/4e3781607cd12eb337298ee6d16ebecde4ce5741
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/CodeGen/Thumb2/mve-scmp.ll
A llvm/test/CodeGen/Thumb2/mve-ucmp.ll
Log Message:
-----------
[ARM][MVE] Add vector tests for ucmp/scmp. NFC
Commit: dc6876fc9890f556ed1692141643c73b1542ee5b
https://github.com/llvm/llvm-project/commit/dc6876fc9890f556ed1692141643c73b1542ee5b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[ValueTracking] Use isSafeToSpeculativelyExecuteWithVariableReplaced() in more places (#109149)
This replaces some uses of isSafeToSpeculativelyExecute() with
isSafeToSpeculativelyExecuteWithVariableReplaced(), in cases where we
are guarding against operand changes rather plain speculation.
I believe that this is NFC with the current implementation of the
function (as it only does something different from loads), but this
makes us more defensive against future generalizations.
Commit: c18be32185ca10e55bdef0f2d43629ccfb7e89eb
https://github.com/llvm/llvm-project/commit/c18be32185ca10e55bdef0f2d43629ccfb7e89eb
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/fp_trunc.h
A compiler-rt/lib/builtins/truncxfbf2.c
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
Reland "[X86][BF16] Add libcall for F80 -> BF16 (#109116)" (#109143)
This reverts commit ababfee78714313a0cad87591b819f0944b90d09.
Add X86 FP80 check.
Commit: 4ec4ac15ed47ccb52d79e01c038865817d0cedf6
https://github.com/llvm/llvm-project/commit/4ec4ac15ed47ccb52d79e01c038865817d0cedf6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-addrec-cost.ll
Log Message:
-----------
[SCEVExpander] Fix addrec cost model (#106704)
The current isHighCostExpansion cost model for addrecs computes the cost
for some kind of polynomial expansion that does not appear to have any
relation to addrec expansion whatsoever.
A literal expansion of an affine addrec is a phi and add (plus the
expansion of start and step). For a non-affine addrec, we get another
phi+add for each additional addrec nested in the step recurrence.
This partially `fixes` https://github.com/llvm/llvm-project/issues/53205
(the runtime unroll test case in this PR).
Commit: 4c50112ba1fb6b3847decebd6f1e374c61950be9
https://github.com/llvm/llvm-project/commit/4c50112ba1fb6b3847decebd6f1e374c61950be9
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
Log Message:
-----------
[AArch64] Add patterns for 64bit vector addp
This extends the existing patterns for addp to 64bit outputs with a single
input. Whilst the general pattern is similar to the 128bit patterns
(add(uzp1(extract_lo, extract_hi), uzp2(extract_lo, extract_hi))), at the late
stage other optimzations have happened to turn the first uzp1 into trunc and
the second into extract(uzp2) with undef.
Fixes #109108
Commit: 7183771834d9035ffbedd8f1ff9233b16722b986
https://github.com/llvm/llvm-project/commit/7183771834d9035ffbedd8f1ff9233b16722b986
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
Log Message:
-----------
[InitUndef] Also handle inline asm (#108951)
InitUndef should also handle early-clobber / undef conflicts in inline
asm operands. Do this by iterating over all_defs() instead of defs().
The newly added ARM test was generating an "unpredictable STXP instruction,
status is also a source" error prior to this change.
Fixes https://github.com/llvm/llvm-project/issues/106380.
Commit: edc71e22c004d3b3dfc535f7917ea0b47a282ac8
https://github.com/llvm/llvm-project/commit/edc71e22c004d3b3dfc535f7917ea0b47a282ac8
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
Log Message:
-----------
[RISCV][TTI] Add instruction cost for vp.load/store. (#109245)
This patch makes the instruction cost of vp.load/store same as their
non-vp counterpart.
Commit: 0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
https://github.com/llvm/llvm-project/commit/0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
Log Message:
-----------
[ASan][test] Skip Linux/odr_c_test.c on SPARC (#109111)
When ASan testing is enabled on SPARC as per PR #107405, the
```
AddressSanitizer-sparc-linux :: TestCases/Linux/odr_c_test.c
```
test `FAIL`s on Linux/sparc64:
```
+ projects/compiler-rt/test/asan/SPARCLinuxConfig/TestCases/Linux/Output/odr_c_test.c.tmp
+ count 0
Expected 0 lines, got 13.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==4165420==ERROR: AddressSanitizer: BUS on unknown address (pc 0x7012d5b4 bp 0xffa3b938 sp 0xffa3b8d0 T0)
==4165420==The signal is caused by a READ memory access.
==4165420==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used.
```
The test relies on an unaligned access, which cannot work on a
strict-alignment target like SPARC.
Thus this patch skips the test.
Tested on `sparc64-unknown-linux-gnu`.
Commit: 752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
https://github.com/llvm/llvm-project/commit/752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
A clang/test/Analysis/cstring-uninitread-notes.c
Log Message:
-----------
[analyzer] Explicitly register NoStoreFuncVisitor from alpha.unix.cst… (#108373)
…ring.UninitRead
This is a drastic simplification of #106982. If you read that patch,
this is the same thing with all BugReporterVisitors.cpp and
SValBuilder.cpp changes removed! (since all replies came regarding
changed to those files, I felt the new PR was justified)
The patch was inspired by a pretty poor bug report on FFMpeg:
![image](https://github.com/user-attachments/assets/8f4e03d8-45a4-4ea2-a63d-3ab78d097be9)
In this bug report, block is uninitialized, hence the bug report that it
should not have been passed to memcpy. The confusing part is in line 93,
where block was passed as a non-const pointer to seq_unpack_rle_block,
which was obviously meant to initialize block. As developers, we know
that clang likely didn't skip this function and found a path of
execution on which this initialization failed, but NoStoreFuncVisitor
failed to attach the usual "returning without writing to block" message.
I fixed this by instead of tracking the entire array, I tracked the
actual element which was found to be uninitialized (Remember, we
heuristically only check if the first and last-to-access element is
initialized, not the entire array). This is how the bug report looks
now, with 'seq_unpack_rle_block' having notes describing the path of
execution and lack of a value change:
![image](https://github.com/user-attachments/assets/8de5d101-052e-4ecb-9cd9-7c29724333d2)
![image](https://github.com/user-attachments/assets/8bf52a95-62de-44e7-aef8-03a46a3fa08e)
Since NoStoreFuncVisitor was a TU-local class, I moved it back to
BugReporterVisitors.h, and registered it manually in CStringChecker.cpp.
This was done because we don't have a good trackRegionValue() function,
only a trackExpressionValue() function. We have an expression for the
array, but not for its first (or last-to-access) element, so I only had
a MemRegion on hand.
Commit: 30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
https://github.com/llvm/llvm-project/commit/30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[SimplifyCFG] Pass context instruction to isSafeToSpeculativelyExecute() (#109132)
Pass speculation target and assumption cache to
isSafeToSpeculativelyExecute() calls.
This allows speculating based on dereferenceable/align assumptions, but
the primary motivation here is to avoid regressions from planned changes
to fix https://github.com/llvm/llvm-project/issues/108854.
Commit: 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
https://github.com/llvm/llvm-project/commit/959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
Author: yonghong-song <yhs at fb.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
M llvm/test/BugPoint/remove_arguments_test.ll
M llvm/test/CodeGen/AArch64/arg_promotion.ll
M llvm/test/CodeGen/AMDGPU/internalize.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/ArgumentPromotion/align.ll
M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
M llvm/test/Transforms/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/ArgumentPromotion/basictest.ll
M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
M llvm/test/Transforms/ArgumentPromotion/byval.ll
M llvm/test/Transforms/ArgumentPromotion/chained.ll
M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
M llvm/test/Transforms/ArgumentPromotion/crash.ll
M llvm/test/Transforms/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
M llvm/test/Transforms/ArgumentPromotion/metadata.ll
M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/ArgumentPromotion/profile.ll
M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/ArgumentPromotion/sret.ll
M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
M llvm/test/Transforms/DeadArgElim/aggregates.ll
M llvm/test/Transforms/DeadArgElim/call_profile.ll
M llvm/test/Transforms/DeadArgElim/comdat.ll
M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
M llvm/test/Transforms/DeadArgElim/dbginfo.ll
M llvm/test/Transforms/DeadArgElim/deadretval.ll
M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
M llvm/test/Transforms/DeadArgElim/func_metadata.ll
M llvm/test/Transforms/DeadArgElim/funclet.ll
M llvm/test/Transforms/DeadArgElim/keepalive.ll
M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
M llvm/test/Transforms/DeadArgElim/returned.ll
M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
M llvm/test/Transforms/SCCP/recursion.ll
Log Message:
-----------
[Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)
…ntElimination
ArgumentPromotion and DeadArgumentElimination passes could change
function signatures but the function name remains the same as before the
transformation. This makes it hard for tracing with bpf programs where
user tends to use function signature in the source. See discussion [1]
for details.
This patch added suffix to functions whose signatures are changed. The
suffix lets users know that function signature has changed and they need
to impact the IR or binary to find modified signature before tracing
those functions.
The suffix for ArgumentPromotion is ".argprom" and the suffixes for
DeadArgumentElimination are ".argelim" and ".retelim". The suffix also
gives user hints about what kind of transformation has been done.
With this patch, I built a recent linux kernel with full LTO enabled. I
got 4 functions with only argpromotion like
```
set_track_update.argelim.argprom
pmd_trans_huge_lock.argprom
...
```
I got 1058 functions with only deadargelim like
```
process_bit0.argelim
pci_io_ecs_init.argelim
...
```
I got 3 functions with both argpromotion and deadargelim
```
set_track_update.argelim.argprom
zero_pud_populate.argelim.argprom
zero_pmd_populate.argelim.argprom
```
[1] https://github.com/llvm/llvm-project/issues/104678
Commit: 60a8b2b1d0842e257e2add6fb1b27cf45699b641
https://github.com/llvm/llvm-project/commit/60a8b2b1d0842e257e2add6fb1b27cf45699b641
Author: Aditi Medhane <Aditi.Medhane at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
A llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
Log Message:
-----------
[AMDGPU] Add MachineVerifier check to detect illegal copies from vector register to SGPR (#105494)
Addition of a check in the MachineVerifier to detect and report illegal
vector registers to SGPR copies in the AMDGPU backend, ensuring correct
code generation.
We can enforce this check only after SIFixSGPRCopies pass.
This is half-fix in the pipeline with the help of isSSA MachineFuction
property, the check is happening for passes after phi-node-elimination.
Commit: e762d4dac762a3fc27c6e251086b6645d7543bb2
https://github.com/llvm/llvm-project/commit/e762d4dac762a3fc27c6e251086b6645d7543bb2
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
A llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
Log Message:
-----------
[LoopVectorize] Teach LoopVectorizationLegality about more early exits (#107004)
This patch is split off from PR #88385 and concerns only the code
related to the legality of vectorising early exit loops. It is the first
step in adding support for vectorisation of a simple class of loops that
typically involves searching for something, i.e.
for (int i = 0; i < n; i++) {
if (p[i] == val)
return i;
}
return n;
or
for (int i = 0; i < n; i++) {
if (p1[i] != p2[i])
return i;
}
return n;
In this initial commit LoopVectorizationLegality will only consider
early exit loops legal for vectorising if they follow these criteria:
1. There are no stores in the loop.
2. The loop must have only one early exit like those shown in the above
example. I have referred to such exits as speculative early exits, to
distinguish from existing support for early exits where the
exit-not-taken count is known exactly at compile time.
3. The early exit block dominates the latch block.
4. The latch block must have an exact exit count.
5. There are no loads after the early exit block.
6. The loop must not contain reductions or recurrences. I don't see
anything fundamental blocking vectorisation of such loops, but I just
haven't done the work to support them yet.
7. We must be able to prove at compile-time that loops will not contain
faulting loads.
Tests have been added here:
Transforms/LoopVectorize/AArch64/simple_early_exit.ll
Commit: 57777a5066a6b872f7576a81f021d18899595e38
https://github.com/llvm/llvm-project/commit/57777a5066a6b872f7576a81f021d18899595e38
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LoopVectorize] Silence unused variable warning
Commit: bca507387ae1945137214ec7fb80b709927ee6e8
https://github.com/llvm/llvm-project/commit/bca507387ae1945137214ec7fb80b709927ee6e8
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback-user-leaf.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-max-depth.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-nested.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback-user-leaf.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-nested.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl.test
Log Message:
-----------
[lldb][FrameRecognizer] Display the first non-std frame on verbose_trap (#108825)
This attempts to improve user-experience when LLDB stops on a
verbose_trap. Currently if a `__builtin_verbose_trap` triggers, we
display the first frame above the call to the verbose_trap. So in the
newly added test case, we would've previously stopped here:
```
(lldb) run
Process 28095 launched: '/Users/michaelbuch/a.out' (arm64)
Process 28095 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
frame #1: 0x0000000100003f5c a.out`std::__1::vector<int>::operator[](this=0x000000016fdfebef size=0, (null)=10) at verbose_trap.cpp:6:9
3 template <typename T>
4 struct vector {
5 void operator[](unsigned) {
-> 6 __builtin_verbose_trap("Bounds error", "out-of-bounds access");
7 }
8 };
```
After this patch, we would stop in the first non-`std` frame:
```
(lldb) run
Process 27843 launched: '/Users/michaelbuch/a.out' (arm64)
Process 27843 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
frame #2: 0x0000000100003f44 a.out`g() at verbose_trap.cpp:14:5
11
12 void g() {
13 std::vector<int> v;
-> 14 v[10];
15 }
16
```
rdar://134490328
Commit: d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
https://github.com/llvm/llvm-project/commit/d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
Log Message:
-----------
Fix test issue introduced by e762d4dac762a3fc27c6e251086b6645d7543bb2 (#109254)
Commit: bb5e66e31b2a5dbb2930728ff94281fd805f2d14
https://github.com/llvm/llvm-project/commit/bb5e66e31b2a5dbb2930728ff94281fd805f2d14
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Suppress all clang warnings (#109099)
This patch disables all clang warnings when running include-cleaner, as
users aren't interested in other findings and in-development code might
have them temporarily. This ensures tool can keep working even in
presence of such issues.
Commit: 3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
https://github.com/llvm/llvm-project/commit/3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/ptrauth-call.ll
Log Message:
-----------
[PAC][CodeGen] Do not emit trivial 'mov xN, xN' on tail call (#109100)
Under some conditions, a trivial `mov xN xN` instruction was emitted on
tail calls. Consider the following code:
```
class Test {
public:
virtual void f() {}
};
void call_f(Test *t) {
t->f();
}
```
Correponding assembly:
```
_Z6call_fP4Test:
ldr x16, [x0]
mov x17, x0
movk x17, #6503, lsl #48
autda x16, x17
ldr x1, [x16]
=====> mov x16, x16
movk x16, #54167, lsl #48
braa x1, x16
```
This patch makes such movs being omitted.
Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Commit: d267daa9eb517b2e040a59121c15dba59223ebba
https://github.com/llvm/llvm-project/commit/d267daa9eb517b2e040a59121c15dba59223ebba
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/weak.cpp
M clang/test/SemaCXX/weak-init.cpp
Log Message:
-----------
[clang][bytecode] Diagnose loads from weak variables (#109256)
Commit: f3250858780b37a188875c87e57133f1192b2e60
https://github.com/llvm/llvm-project/commit/f3250858780b37a188875c87e57133f1192b2e60
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax strides check for 1-element vector load/stores (#108998)
Single elememst vector load/stores are equivalent to scalar load/stores,
so they don't need memref to be contigious.
Commit: 256100489de2d01d21ddd9720aad3993a83864c2
https://github.com/llvm/llvm-project/commit/256100489de2d01d21ddd9720aad3993a83864c2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Rename isDefinedOutside[Vector]Regions -> [Loop] (NFC)
Clarify name of helper, split off from
https://github.com/llvm/llvm-project/pull/95842/files#r1765556732.
Commit: f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
https://github.com/llvm/llvm-project/commit/f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine] Rename TTI member for clarity (NFC)
There is already a comment on the member and documentation in the
InstCombine contributor guide, but also rename it to make add
an additional speed bump.
Commit: becc02ce93cd14f07f444fff6f7433c1ecf13664
https://github.com/llvm/llvm-project/commit/becc02ce93cd14f07f444fff6f7433c1ecf13664
Author: Yonghong Song <yonghong.song at linux.dev>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
M llvm/test/BugPoint/remove_arguments_test.ll
M llvm/test/CodeGen/AArch64/arg_promotion.ll
M llvm/test/CodeGen/AMDGPU/internalize.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/ArgumentPromotion/align.ll
M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
M llvm/test/Transforms/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/ArgumentPromotion/basictest.ll
M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
M llvm/test/Transforms/ArgumentPromotion/byval.ll
M llvm/test/Transforms/ArgumentPromotion/chained.ll
M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
M llvm/test/Transforms/ArgumentPromotion/crash.ll
M llvm/test/Transforms/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
M llvm/test/Transforms/ArgumentPromotion/metadata.ll
M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/ArgumentPromotion/profile.ll
M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/ArgumentPromotion/sret.ll
M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
M llvm/test/Transforms/DeadArgElim/aggregates.ll
M llvm/test/Transforms/DeadArgElim/call_profile.ll
M llvm/test/Transforms/DeadArgElim/comdat.ll
M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
M llvm/test/Transforms/DeadArgElim/dbginfo.ll
M llvm/test/Transforms/DeadArgElim/deadretval.ll
M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
M llvm/test/Transforms/DeadArgElim/func_metadata.ll
M llvm/test/Transforms/DeadArgElim/funclet.ll
M llvm/test/Transforms/DeadArgElim/keepalive.ll
M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
M llvm/test/Transforms/DeadArgElim/returned.ll
M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
M llvm/test/Transforms/SCCP/recursion.ll
Log Message:
-----------
Revert "[Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)"
This reverts commit 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8.
Reverting because multiple test failures e.g.
https://lab.llvm.org/buildbot/#/builders/187/builds/1290
https://lab.llvm.org/buildbot/#/builders/153/builds/9389
and maybe a few others.
Commit: 04ccbe6e70cf11e846da3fbc800832c6e56b573f
https://github.com/llvm/llvm-project/commit/04ccbe6e70cf11e846da3fbc800832c6e56b573f
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
Fix typos in interception_win.cpp
Commit: baf9b7da81025c1e3b0704d7ecf667e06f95642b
https://github.com/llvm/llvm-project/commit/baf9b7da81025c1e3b0704d7ecf667e06f95642b
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Headers/vecintrin.h
A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
Log Message:
-----------
[SystemZ] Fix codegen for _[u]128 intrinsics
PR #74625 introduced a regression in the code generated for the
following set of intrinsic:
vec_add_u128, vec_addc_u128, vec_adde_u128, vec_addec_u128
vec_sub_u128, vec_subc_u128, vec_sube_u128, vec_subec_u128
vec_sum_u128, vec_msum_u128
vec_gfmsum_128, vec_gfmsum_accum_128
This is because the new code incorrectly assumed that a cast
from "unsigned __int128" to "vector unsigned char" would simply
be a bitcast re-interpretation; instead, this cast actually
truncates the __int128 to char and splats the result.
Fixed by adding an intermediate cast via a single-element
128-bit integer vector.
Fixes: https://github.com/llvm/llvm-project/issues/109113
Commit: 912e821ab3d415dc8421f53738ebabcc7f1dac2d
https://github.com/llvm/llvm-project/commit/912e821ab3d415dc8421f53738ebabcc7f1dac2d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lld/COFF/MapFile.cpp
A lld/test/COFF/export-imp.test
Log Message:
-----------
[LLD][COFF] Process all live import symbols in MapFile's getSymbols() (#109117)
The current logic assumes that the import file is pulled by object
files, and the loop for import files only needs to handle cases where
the `__imp_` symbol is implicitly pulled by an import thunk. This is
fragile, as the symbol may also be pulled through other means, such as
the -export argument in tests. Additionally, this logic is insufficient
for ARM64EC, which exposes multiple symbols through an import file, and
referencing any one of them causes all of them to be defined.
With this change, import symbols are added to `syms` more often, but we
ensure that output symbols remain unique later in the process
Commit: 61ed5387c8dcc473f690b12c891741847d7145dd
https://github.com/llvm/llvm-project/commit/61ed5387c8dcc473f690b12c891741847d7145dd
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port c18be32185ca
Commit: 0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
https://github.com/llvm/llvm-project/commit/0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/altivec.h
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/builtins-wasm.c
Log Message:
-----------
[clang][powerpc][wasm][systemz][x86] Replace target vector popcount intrinsics with __builtin_elementwise_popcount (#109160)
Now that we have the C/C++ `__builtin_elementwise_popcount` intrinsic (#108121) - remove custom target intrinsics that just immediately map to Intrinsic::ctpop and use the generic intrinsic directly.
Commit: 486f790d294d1bc3bdaeb4377889c4b03f0b1bca
https://github.com/llvm/llvm-project/commit/486f790d294d1bc3bdaeb4377889c4b03f0b1bca
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lld/COFF/Chunks.h
M lld/COFF/InputFiles.cpp
M lld/COFF/MapFile.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Process all ARM64EC import symbols in MapFile's getSymbols (#109118)
Commit: 3e24dd42dded01a431070c3dda486eed2640b0c7
https://github.com/llvm/llvm-project/commit/3e24dd42dded01a431070c3dda486eed2640b0c7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC] Rename variables to conform to LLVM coding standards (#109166)
Rename `indent` to `Indent` and `o` to `OS`.
Rename `Indentation` to `Indent`.
Remove unused argument from `emitPredicateMatch`.
Change `Indent` argument to `emitBinaryParser` to by value.
Commit: 96ac627238dc515efdd61e5ddeda78cd17014fa5
https://github.com/llvm/llvm-project/commit/96ac627238dc515efdd61e5ddeda78cd17014fa5
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][nfc] Update vector load/store doc wrt unit strides. (#109267)
Follow up to https://github.com/llvm/llvm-project/pull/108998.
Non-contiguous strides are allowed now for 1-element vector load/stores.
Commit: 94c024adedcb53059c29d7c2d62982053b60e86a
https://github.com/llvm/llvm-project/commit/94c024adedcb53059c29d7c2d62982053b60e86a
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/HLFIR/elemental-array-ops.f90
A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90
Log Message:
-----------
[flang][lowering] delay stack save/restor emission in elemental calls (#109142)
stack save/restore emitted for character elemental function result
allocation inside hlfir.elemental in lowering created memory bugs
because result memory is actually still used after the stack restore
when lowering the elemental into a loop where the result element is
copied into the array result storage.
Instead of adding special handling for stack save/restore in lowering,
just avoid emitting those since the stack reclaim pass is able to emit
them in the generated loop. Not having those stack save/restore will
also help optimizations that want to elide the temporary allocation for
the element result when that is possible.
Commit: ed8f78827895050442f544edef2933a60d4a7935
https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/SemanticSelection.cpp
A clang-tools-extra/clangd/support/Bracket.cpp
A clang-tools-extra/clangd/support/Bracket.h
M clang-tools-extra/clangd/support/CMakeLists.txt
A clang-tools-extra/clangd/support/DirectiveTree.cpp
A clang-tools-extra/clangd/support/DirectiveTree.h
A clang-tools-extra/clangd/support/Lex.cpp
A clang-tools-extra/clangd/support/Token.cpp
A clang-tools-extra/clangd/support/Token.h
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/pseudo/CMakeLists.txt
R clang-tools-extra/pseudo/DesignNotes.md
R clang-tools-extra/pseudo/Disambiguation.md
R clang-tools-extra/pseudo/README.md
R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
R clang-tools-extra/pseudo/fuzzer/Main.cpp
R clang-tools-extra/pseudo/gen/CMakeLists.txt
R clang-tools-extra/pseudo/gen/Main.cpp
R clang-tools-extra/pseudo/include/CMakeLists.txt
R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
R clang-tools-extra/pseudo/lib/Bracket.cpp
R clang-tools-extra/pseudo/lib/CMakeLists.txt
R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
R clang-tools-extra/pseudo/lib/Disambiguate.cpp
R clang-tools-extra/pseudo/lib/Forest.cpp
R clang-tools-extra/pseudo/lib/GLR.cpp
R clang-tools-extra/pseudo/lib/Lex.cpp
R clang-tools-extra/pseudo/lib/Token.cpp
R clang-tools-extra/pseudo/lib/cli/CLI.cpp
R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
R clang-tools-extra/pseudo/test/.clang-format
R clang-tools-extra/pseudo/test/CMakeLists.txt
R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/check-cxx-bnf.test
R clang-tools-extra/pseudo/test/crash/backslashes.c
R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
R clang-tools-extra/pseudo/test/cxx/keyword.cpp
R clang-tools-extra/pseudo/test/cxx/literals.cpp
R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
R clang-tools-extra/pseudo/test/fuzzer.cpp
R clang-tools-extra/pseudo/test/glr-variant-start.cpp
R clang-tools-extra/pseudo/test/glr.cpp
R clang-tools-extra/pseudo/test/html-forest.c
R clang-tools-extra/pseudo/test/lex.c
R clang-tools-extra/pseudo/test/lit.cfg.py
R clang-tools-extra/pseudo/test/lit.local.cfg
R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/lr-build-basic.test
R clang-tools-extra/pseudo/test/lr-build-conflicts.test
R clang-tools-extra/pseudo/test/strip-directives.c
R clang-tools-extra/pseudo/tool/CMakeLists.txt
R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.css
R clang-tools-extra/pseudo/tool/HTMLForest.html
R clang-tools-extra/pseudo/tool/HTMLForest.js
R clang-tools-extra/pseudo/unittests/BracketTest.cpp
R clang-tools-extra/pseudo/unittests/CMakeLists.txt
R clang-tools-extra/pseudo/unittests/CXXTest.cpp
R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
R clang-tools-extra/pseudo/unittests/ForestTest.cpp
R clang-tools-extra/pseudo/unittests/GLRTest.cpp
R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
R clang-tools-extra/pseudo/unittests/TokenTest.cpp
M clang/docs/ClangFormattedStatus.rst
M clang/docs/tools/clang-formatted-files.txt
Log Message:
-----------
Remove clang-pseudo (#109154)
The functionality is incomplete and the authors have since shifted gears
to other work, so this is effectively unmaintained.
The original design document for clang-pseudo can be found at:
https://docs.google.com/document/d/1eGkTOsFja63wsv8v0vd5JdoTonj-NlN3ujGF0T7xDbM/edit
in case anyone wishes to pick this project back up again in the future.
Original RFC: https://discourse.llvm.org/t/removing-pseudo-parser/71131/
Commit: 0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
https://github.com/llvm/llvm-project/commit/0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
Log Message:
-----------
[LLVM][TableGen] Change DAGISelEmitter to use const RecordKeeper (#109175)
Change DAGISelEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
https://github.com/llvm/llvm-project/commit/bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/TableGen.cpp
Log Message:
-----------
[LLVM][TableGen] Change PrintEnums to use const RecordKeeper (#109200)
Change PrintEnums to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: e0458a24a1d026d1666f82d671e579d5fdce0027
https://github.com/llvm/llvm-project/commit/e0458a24a1d026d1666f82d671e579d5fdce0027
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/TableGen/intrinsic-duplicate-name.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
Log Message:
-----------
[LLVM][TableGen] Add error check for duplicate intrinsic names (#109226)
Check for duplicate intrinsic names in the intrinsic emitter backend and
issue a fatal error if we find one.
Commit: dd599e92a6e5a1abc55ac694799102410c0d18c0
https://github.com/llvm/llvm-project/commit/dd599e92a6e5a1abc55ac694799102410c0d18c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Util/assume-builder.ll
Log Message:
-----------
[ValueTracking] Support assume in entry block without DT (#109264)
isValidAssumeForContext() handles a couple of trivial cases even if no
dominator tree is available. This adds one more for the case where there
is an assume in the entry block, and a use in some other block. The
entry block always dominates all blocks.
As having context instruction but not having DT is fairly rare, there is
not much impact. Only test change is in assume-builder.ll, where less
redundant assumes are generated. I've found having this special case is
useful for an upcoming change though.
Commit: a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
https://github.com/llvm/llvm-project/commit/a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/indirect_calls.py
Log Message:
-----------
fix(llvm/**.py): fix comparison to True/False (#94040)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: 0ee10e9466603f9e55e6044b5070f65b8182dae1
https://github.com/llvm/llvm-project/commit/0ee10e9466603f9e55e6044b5070f65b8182dae1
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add additional fence for amocas when required by recent ABI change (#101023)
A recent atomics ABI change / fix requires that for the "A6C" and A6S"
atomics ABIs (i.e. both of those supported by LLVM currently), an
additional fence is inserted for an atomic_compare_exchange with seq_cst
failure ordering.
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/445>
This isn't trivial to support through the hooks used by AtomicExpandPass
because that pass assumes that when fences are inserted, the original
atomics ordering information can be removed from the instruction. Rather
than try to change and complicate that API, this patch implements the
needed fence insertion through a small special purpose pass.
Commit: 4e6ec0bf6d488e9a38ac03cc85077ca38169c532
https://github.com/llvm/llvm-project/commit/4e6ec0bf6d488e9a38ac03cc85077ca38169c532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Replace redundant !Preds.empty() check with assert. (NFCI)
If there are no predicates, the predicated counts should not be
different to the non-predicated ones.
Commit: b49a6b2a9d9f02da49476865334348f480cc1d4d
https://github.com/llvm/llvm-project/commit/b49a6b2a9d9f02da49476865334348f480cc1d4d
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Consider histcnt smaller than i32 in the cost model (#108521)
This PR updates the AArch64 cost model to consider the cheaper cost of
<i32 histograms to reflect the improvements from
https://github.com/llvm/llvm-project/pull/101017 and
https://github.com/llvm/llvm-project/pull/103037
Work by Max Beck-Jones (@DevM-uk)
---------
Co-authored-by: DevM-uk <max.beck-jones at arm.com>
Commit: f7714342ae0cc714e5e926dfc621e68306936acd
https://github.com/llvm/llvm-project/commit/f7714342ae0cc714e5e926dfc621e68306936acd
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][NEON][SVE] Lower mixed sign/zero extended partial reductions to usdot (#107566)
This PR adds lowering for partial reductions of a mix of sign/zero
extended inputs to the usdot intrinsic.
Commit: 1f8e6624e5052d56244b28fef3eb64bd0408f75d
https://github.com/llvm/llvm-project/commit/1f8e6624e5052d56244b28fef3eb64bd0408f75d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb/DWARF] Downgrade the "parent of variable is not CU" error (#108806)
This can legitimately happen for static function-local variables with a
non-manual dwarf index. According to the DWARF spec, these variables
should be (and are) included in the compiler generated indexes, but they
are ignored by our manual index. Encountering them does not indicate any
sort of error.
The error message is particularly annoying due to a combination of the
fact that we don't cache negative hits (so we print it every time we
encounter it), VSCode's aggresive tab completion (which attempts a
lookup after every keypress) and the fact that some low-level libraries
(e.g. tcmalloc) have several local variables called "v". The result is a
console full of error messages everytime you type "v ".
We already have tests (e.g. find-basic-variable.cpp), which check that
these variables are not included in the result (and by extension, that
their presence does not crash lldb). It would be possible to extend it
to make sure it does *not* print this error message, but it doesn't seem
like it would be particularly useful.
Commit: 4caf7ccd7fae677115922c3626480dc41627fe37
https://github.com/llvm/llvm-project/commit/4caf7ccd7fae677115922c3626480dc41627fe37
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/support/CMakeLists.txt
Log Message:
-----------
Fix issues clang-pseudo removal issues found post-commit
This amends ed8f78827895050442f544edef2933a60d4a7935 and hopefully
resolves the issues found by:
https://lab.llvm.org/buildbot/#/builders/76/builds/2973
https://lab.llvm.org/buildbot/#/builders/145/builds/1921
Commit: aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
https://github.com/llvm/llvm-project/commit/aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/gen/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/include/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cli/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cxx/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/grammar/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/clang_pseudo_lit_site_cfg_files.gni
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/tool/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn
Log Message:
-----------
[gn] port ed8f78827895 (rm clang-pseudo)
Commit: 9886788a8a500a1b429a6db64397c849b112251c
https://github.com/llvm/llvm-project/commit/9886788a8a500a1b429a6db64397c849b112251c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)
This patch adds in support for pinning a benchmarking process to a
specific CPU (in the subprocess benchmarking mode on Linux). This is
intended to be used in environments where a certain set of CPUs is
isolated from the scheduler using something like cgroups and thus should
present less potential for noise than normal. This also opens up the
door for doing multithreaded benchmarking as we can now pin benchmarking
processes to specific CPUs that we know won't interfere with each other.
Commit: 887224d17754b63b408737153a28a504dd3733b7
https://github.com/llvm/llvm-project/commit/887224d17754b63b408737153a28a504dd3733b7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 0ee10e946660
Commit: 4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
https://github.com/llvm/llvm-project/commit/4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn
Log Message:
-----------
[gn build] Port ed8f78827895
Commit: 2d26fc8c6c5015b77dc725695c1d957f412e4141
https://github.com/llvm/llvm-project/commit/2d26fc8c6c5015b77dc725695c1d957f412e4141
Author: Ryan Prichard <rprichard at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/include/atomic
M libcxx/include/stdatomic.h
A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
Log Message:
-----------
[libc++] Enable C++ stdatomic.h for all C++ versions (#95498)
This extension is motivated by Android's use of libc++, where
<stdatomic.h> has redirected to <atomic> for many years, long before it
was standardized in C++23.
When libc++'s stdatomic.h is included in C translation units, delegate
to the next stdatomic.h, which could come from Clang or libc.
Commit: 3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
https://github.com/llvm/llvm-project/commit/3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
Author: Charlie Barto <Charles.Barto at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[sanitizer][asan][msvc] Teach GetInstructionSize about many instructions that appear in MSVC generated code. (#69490)
MSVC can sometimes generate instructions in function prologues that asan
previously didn't know the size of. This teaches asan those sizes. This isn't
super useful for using ASAN with non-msvc compilers, but it does stand alone.
>From https://reviews.llvm.org/D151008
Commit: b1b436c108101f31b27eedb3a9591b7a02e0bc6e
https://github.com/llvm/llvm-project/commit/b1b436c108101f31b27eedb3a9591b7a02e0bc6e
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64] Fix build error from extra !
This fixes a build failure caused by https://github.com/llvm/llvm-project/pull/108521
Commit: 02a1d311bde4a90cffa661215c81f9fef1bc7967
https://github.com/llvm/llvm-project/commit/02a1d311bde4a90cffa661215c81f9fef1bc7967
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/load-insert-undef.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
Log Message:
-----------
[AArch64] Extend and rewrite load zero and load undef patterns (#108185)
The ldr instructions implicitly zero any upper lanes, so we can use them
for insert(zerovec, load, 0) patterns. Likewise insert(undef, load, 0)
or scalar_to_reg can reuse the scalar loads as the top bits are undef.
This patch makes sure there are patterns for each type and for each of
the normal, unaligned, roW and roX addressing modes.
Commit: 5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
https://github.com/llvm/llvm-project/commit/5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"
This reverts commit 9886788a8a500a1b429a6db64397c849b112251c.
This was breaking builds on ppc64 and AIX. Pulling so I have time to
investigate.
Commit: 698be40a5121590d9b72850edcec6b55fdeab942
https://github.com/llvm/llvm-project/commit/698be40a5121590d9b72850edcec6b55fdeab942
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++] Follow-up to "Poison Pills are Too Toxic" (#88383)
Update the LLVM 19 release notes and the C++23 status
to mention that we implemented this as a DR in C++20.
Commit: e8182029516dae445f21db304953aa5f10880d2d
https://github.com/llvm/llvm-project/commit/e8182029516dae445f21db304953aa5f10880d2d
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/docs/DebuggingCoroutines.rst
M clang/tools/include-mapping/gen_std.py
M clang/utils/check_cfc/obj_diff.py
M clang/utils/module-deps-to-rsp.py
Log Message:
-----------
[clang] Fix python comparison to None (#94014)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
https://github.com/llvm/llvm-project/commit/c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
Log Message:
-----------
[LSR] Regenerate test checks (NFC)
Commit: 5fa742eeed0821baf864d23f237ff1b481e1ae11
https://github.com/llvm/llvm-project/commit/5fa742eeed0821baf864d23f237ff1b481e1ae11
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
Log Message:
-----------
[clang-tidy][NFC] add qutation mark for C++ classes in warning message (#109068)
As discussion in
https://github.com/llvm/llvm-project/pull/108555#discussion_r1761841192,
split quotation mark change in a new NFC PR.
It is more readable to use `'std::array'` than `std::array<>`
Commit: 9ca62c5302633d0220de30f2b2a21d87dee64ac0
https://github.com/llvm/llvm-project/commit/9ca62c5302633d0220de30f2b2a21d87dee64ac0
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
A clang/test/Analysis/z3-unarysymexpr.c
Log Message:
-----------
[analyzer] Indicate UnarySymExpr is not supported by Z3 (#108900)
Random testing found that the Z3 wrapper does not support UnarySymExpr,
which was added recently and not included in the original Z3 wrapper.
For now, just avoid submitting expressions to Z3 to avoid compiler
crashes.
Some crash context ...
clang -cc1 -analyze -analyzer-checker=core z3-unarysymexpr.c
-analyzer-constraints=z3
Unsupported expression to reason about!
UNREACHABLE executed at
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h:297!
Stack dump:
3. <root>/clang/test/Analysis/z3-unarysymexpr.c:13:7: Error evaluating
branch #0 <addr> llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) #1
<addr> llvm::sys::RunSignalHandlers() #8 <addr>
clang::ento::SimpleConstraintManager::assumeAux(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool) #9 <addr>
clang::ento::SimpleConstraintManager::assume(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool)
Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Commit: 14120227a34365e829d05c1413033d235d7d272c
https://github.com/llvm/llvm-project/commit/14120227a34365e829d05c1413033d235d7d272c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/CodeGen/SystemZ/args-14.ll
A llvm/test/CodeGen/SystemZ/args-15.ll
A llvm/test/CodeGen/SystemZ/args-16.ll
A llvm/test/CodeGen/SystemZ/args-17.ll
A llvm/test/CodeGen/SystemZ/args-18.ll
A llvm/test/CodeGen/SystemZ/args-19.ll
A llvm/test/CodeGen/SystemZ/args-20.ll
A llvm/test/CodeGen/SystemZ/args-21.ll
M llvm/tools/llc/llc.cpp
Log Message:
-----------
Target ABI: improve call parameters extensions handling (#100757)
For the purpose of verifying proper arguments extensions per the target's ABI,
introduce the NoExt attribute that may be used by a target when neither sign-
or zeroextension is required (e.g. with a struct in register). The purpose of
doing so is to be able to verify that there is always one of these attributes
present and by this detecting cases where sign/zero extension is actually
missing.
As a first step, this patch has the verification step done for the SystemZ
backend only, but left off by default until all known issues have been
addressed.
Other targets/front-ends can now also add NoExt attribute where needed and do
this check in the backend.
Commit: e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
https://github.com/llvm/llvm-project/commit/e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/TinyPtrVector.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Object/BuildID.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/Support/YAMLParser.cpp
M llvm/lib/TableGen/Parser.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[LLVM] Use {} instead of std::nullopt to initialize empty ArrayRef (#109133)
It is almost always simpler to use {} instead of std::nullopt to
initialize an empty ArrayRef. This patch changes all occurrences I could
find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor
could be deprecated or removed.
Commit: b55d4a39a932e407192a8038ef542586fd92e786
https://github.com/llvm/llvm-project/commit/b55d4a39a932e407192a8038ef542586fd92e786
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/truncxfbf2.c
Log Message:
-----------
[compiler-rt] Fix a warning
This patch fixes:
compiler-rt/lib/builtins/truncxfbf2.c:16:7: error: ISO C requires a
translation unit to contain at least one declaration
[-Werror,-Wempty-translation-unit]
Commit: 72b04b9f16cd63657431a97f349f539d6d5d5a21
https://github.com/llvm/llvm-project/commit/72b04b9f16cd63657431a97f349f539d6d5d5a21
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Fix a warning
This patch fixes:
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:9857:21: error:
unused variable 'Flags' [-Werror,-Wunused-variable]
Commit: 72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
https://github.com/llvm/llvm-project/commit/72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Report change when updating ReachesReturn (#108965)
Commit: 157adcccc59cbadd6f579418eac9e7dafa38ceec
https://github.com/llvm/llvm-project/commit/157adcccc59cbadd6f579418eac9e7dafa38ceec
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Log Message:
-----------
[GSYM] Avoid repeated hash lookups (NFC) (#109241)
Commit: 2d7d74d990bf7a7211910e05a15d506c63295c53
https://github.com/llvm/llvm-project/commit/2d7d74d990bf7a7211910e05a15d506c63295c53
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Log Message:
-----------
[LiveDebugValues] Avoid repeated hash lookups (NFC) (#109242)
Commit: e73d45361216f37faee22b86ccb07730feafa3a2
https://github.com/llvm/llvm-project/commit/e73d45361216f37faee22b86ccb07730feafa3a2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#109243)
Commit: ddd5741521ed50468f06adcacc8ea41256356224
https://github.com/llvm/llvm-project/commit/ddd5741521ed50468f06adcacc8ea41256356224
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#109244)
Commit: beb2ae734830107d28543d172ab43ecc63bb59df
https://github.com/llvm/llvm-project/commit/beb2ae734830107d28543d172ab43ecc63bb59df
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Refactor and clean up edge removal (#109188)
Add helper for removing an edge from the graph, and for checking if an
edge has been removed from the graph, and then update code to use those
consistently for removal and during edge iteration, respectively. Also
fix a couple of places that were incorrectly iterating over edge lists
that could in theory be updated during the iteration.
Commit: 1f8a3286e065b8cb82628db0d335b3e82b9373fd
https://github.com/llvm/llvm-project/commit/1f8a3286e065b8cb82628db0d335b3e82b9373fd
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
Log Message:
-----------
[lldb] Only send "posix" error codes through the gdb-remote protocol
The other side has no way of telling which namespace do these codes
belong to, so mashing them all together is not very helpful.
I'm mainly doing this to simplify some code in a pending patch
<https://github.com/llvm/llvm-project/pull/106774/files#r1752628604>,
and I've picked the posix error category semi-randomly. If we wanted to
be serious about assigning meaning to these error codes, we should
create a special error category for "gdb errors".
Commit: 104b249c236578d298384416c495ff7310b97f4d
https://github.com/llvm/llvm-project/commit/104b249c236578d298384416c495ff7310b97f4d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Status.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Utility/Status.cpp
M lldb/unittests/Utility/StatusTest.cpp
Log Message:
-----------
[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)
(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)
Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).
This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.
Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.
Implementation notes:
This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
(eErrorTypeInvalid)
eErrorTypeGeneric llvm::StringError
eErrorTypePOSIX llvm::ECError
eErrorTypeMachKernel MachKernelError
eErrorTypeExpression llvm::ErrorList<ExpressionError>
eErrorTypeWin32 Win32Error
```
Relanding with built-in cloning support for llvm::ECError.
Commit: 74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
https://github.com/llvm/llvm-project/commit/74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement NoCFIValue (#109046)
This patch implements sandboxir::NoCFIValue mirroring llvm::NoCFIValue.
Commit: 8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
https://github.com/llvm/llvm-project/commit/8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
Log Message:
-----------
[ASAN] Do not consider alignment during object size calculations (#109120)
It was found that ASAN logic optimizes away out-of-bound access
instrumentation for over-aligned arrays. See #108287 for complete code
examples.
Fix it by not considering alignment during object size calculation,
since out-of-bounds access for over-aligned object is still UB and
should be reported by ASAN.
Closes: #108287
Commit: bcd65ba6129bea92485432fdd09874bc3fc6671e
https://github.com/llvm/llvm-project/commit/bcd65ba6129bea92485432fdd09874bc3fc6671e
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][Vector] Verify that masked ops implement MaskableOpInterface (#108123)
This PR fixes a bug in `MaskOp::verifier` that allowed `vector.mask` to
mask operations that did not implement the MaskableOpInterface.
Commit: 91fd3e764ba49315320328233ae94013f90c7414
https://github.com/llvm/llvm-project/commit/91fd3e764ba49315320328233ae94013f90c7414
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
Log Message:
-----------
[LLVM][TableGen] Speed up sorting of intrinsics (#109230)
Speed up sorting of intrinsics by using the TargetPrefix to only
discriminate beteween target dependent vs target independent intrinsics
where target independent ones need to be sorted before target dependent
ones. When comparing two target dependent intrinsics, the Name already
includes `llvm.<TargetPrefix>` as a prefix, so no need to needlessly
compare it separately.
Commit: 7586aea9edd324a6d2806e5cb879456a978f61e0
https://github.com/llvm/llvm-project/commit/7586aea9edd324a6d2806e5cb879456a978f61e0
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
M clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL][NFC] Update resource attribute tests (#108919)
- split resource attribute checks to multiple lines
- use @LINE expressions to match line numbers
Commit: 0265981b6ec0f46fc372897fef7f945d8f4625c2
https://github.com/llvm/llvm-project/commit/0265981b6ec0f46fc372897fef7f945d8f4625c2
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp
Log Message:
-----------
[sanitizers] convert some errant CRLF line endings to LF (#108454)
(nfc)
https://github.com/llvm/llvm-project/pull/107899 Added some files with
CRLF line endings. Mixed line endings are somewhat gross, so I've
converted them all to unix.
Commit: cead9044a995910306e2e64b426fcc8042d7e0ef
https://github.com/llvm/llvm-project/commit/cead9044a995910306e2e64b426fcc8042d7e0ef
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Don't inspect Args[0] as an option (#109050)
Since a26ec542371652e1d774696e90016fd5b0b1c191, we expand the executable
name to an absolute path, if it isn't already one, if found in path.
This broke a couple tests in some environments; when the clang workdir
resides in a path under e.g. /opt. Tests that only use a tool name like
"clang-cl" would get expanded to the absolute path in the build tree.
The loop for finding the last "-o" like option for clang-cl command
lines would inspect all arguments, including Args[0] which is the
executable name itself. As an /opt path matches Arg.starts_with("/o"),
this would get detected as an object file output name in cases where
there was no other explicit output argument.
Thus, this fixes those tests in workdirs under e.g. /opt.
Commit: f009f72df5285acab0ebb600636653d7db72a552
https://github.com/llvm/llvm-project/commit/f009f72df5285acab0ebb600636653d7db72a552
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/config/gpu/config.json
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter_atlas.h
M libc/src/stdio/printf_core/parser.h
A libc/src/stdio/printf_core/strerror_converter.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add printf strerror conversion (%m) (#105891)
This patch adds the %m conversion to printf, which prints the
strerror(errno). Explanation of why is below, this patch also updates
the docs, tests, and build system to accomodate this.
The standard for syslog in posix specifies it uses the same format as
printf, but adds %m which prints the error message string for the
current value of errno. For ease of implementation, it's standard
practice for libc implementers to just add %m to printf instead of
creating a separate parser for syslog.
Commit: e58427828939eadf7e169a0e5476919a5746a82e
https://github.com/llvm/llvm-project/commit/e58427828939eadf7e169a0e5476919a5746a82e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/vector-freeze.ll
Log Message:
-----------
[LV] Update tests to avoid loop invariant instructions.
Update some tests with loop invariant instructions so the instructions
cannot be hoisted out.
This preserves the original test intention after
https://github.com/llvm/llvm-project/pull/107894.
Commit: 0fa258c8d93c2f8de66518868a8e2a645b90afbe
https://github.com/llvm/llvm-project/commit/0fa258c8d93c2f8de66518868a8e2a645b90afbe
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
Log Message:
-----------
[X86] Implement certain 16-bit vector shifts via 32-bit shifts
x86 vector ISAs are non-orthogonal in a number of ways. For example,
AVX2 has vpsravd but it does not have vpsravw. However, we can simulate
it via vpsrlvd and some SWAR-style masking.
Another example is 8-bit shifts: we can use vpsllvd to simulate the
missing "vpsllvb" if shift amounts can be shared for a single lane.
Existing code generation would use a variety of techniques including
vpmulhuw which is higher latency and often has more rigid port
requirements than simple bitwise operations.
Commit: 14c76321a27943455dfa041e5e84121c61c8162d
https://github.com/llvm/llvm-project/commit/14c76321a27943455dfa041e5e84121c61c8162d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy][readability-container-contains] Use hasOperands when possible (#109178)
Simplifies two cases and matches two new cases previously missing,
`container.end() [!=]= container.find(...)`.
Commit: d57525294a6f9318db6aeda46bf77d004b836b43
https://github.com/llvm/llvm-project/commit/d57525294a6f9318db6aeda46bf77d004b836b43
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Refactor CoroShape::buildFrom for future use by ABI objects (#108623)
* Refactor buildFrom to separate the analysis, abi related operations,
cleaning and invalidating.
* In a follow-up PR the code in initABI will be moved to an ABI object
init method.
* In a follow-up PR the OptimizeFrame flag will also be removed from the
Shape and instead will be passed directly to buildCoroutineFrame
(although it would be nice to find another way to trigger this
optimization). This is the only thing that Shape cannot determine from
the Function/Coroutine, but it is only needed within
buildCoroutineFrame.
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Commit: e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
https://github.com/llvm/llvm-project/commit/e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
Author: Franklin <fenglei4518 at hotmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/test/CodeGen/AArch64/cpus.ll
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
Log Message:
-----------
[AArch64] Initial sched model for Neoverse N3 (#106371)
References:
* Arm Neoverse N3 Software Optimization Guide
* Arm A64 Instruction Set for A-profile architecture
Commit: f3f3883f4b9d15770a5ce49956ed4425c71ad69f
https://github.com/llvm/llvm-project/commit/f3f3883f4b9d15770a5ce49956ed4425c71ad69f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Fix crash reported in https://github.com/llvm/llvm-project/issues/109313
Change edc71e22c004d3b3dfc535f7917ea0b47a282ac8 had tried to handle the case
where an instruction wasn't available, but had used a dyn_cast instead of
a dyn_cast_or_null. Switch instead to an explicit null check, and a cast.
Commit: edf3b277a5f2ebe144827ed47463c22743cac5f9
https://github.com/llvm/llvm-project/commit/edf3b277a5f2ebe144827ed47463c22743cac5f9
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Driver/DistroTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M lldb/unittests/Utility/MockSymlinkFileSystem.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)
This patch adds an IsText parameter to the following functions
openFileForRead, getBufferForFile, getBufferForFileImpl and determines
whether a file is text by querying the file tag on z/OS. The default is
set to OF_Text instead of OF_None, this change in value does not affect
any other platforms other than z/OS.
Commit: 010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
https://github.com/llvm/llvm-project/commit/010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/utils/gpu/server/CMakeLists.txt
Log Message:
-----------
[libc][AMDGPU] Disable %m in RPC server (#109317)
The RPC server directly includes the printf code, but doesn't support
errno, so the %m conversion needs to be disabled there as well. This
patch does that.
Commit: 8242bd116d547cbebe0102cda1c4421ee4865407
https://github.com/llvm/llvm-project/commit/8242bd116d547cbebe0102cda1c4421ee4865407
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/Transforms/EarlyCSE/materialize-align-assumptions.ll
Log Message:
-----------
[EarlyCSE] Add tests showing loss of alignment info for ptr loads.
Precommit tests for https://github.com/llvm/llvm-project/pull/109131.
Commit: ccfe7d4b20819a0bf8552b81b60593b76b89e65c
https://github.com/llvm/llvm-project/commit/ccfe7d4b20819a0bf8552b81b60593b76b89e65c
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
Log Message:
-----------
[GlobalIsel] Cleanup G_EXTRACT_VECTOR_ELT combines (#109047)
Reduce duplicated build vector patterns by exploiting variadic args.
Make index parameter const to improve hit rate.
Use `getIConstantFromReg` to retrieve immediate because they are not
fallible anymore.
Improve extraction from build vector and shuffle vector.
Commit: d1335fb86466221b0499db5fc8f158f1f64d9542
https://github.com/llvm/llvm-project/commit/d1335fb86466221b0499db5fc8f158f1f64d9542
Author: Prabhuk <prabhukr at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
A clang/lib/Driver/ToolChains/UEFI.cpp
A clang/lib/Driver/ToolChains/UEFI.h
A clang/test/CodeGen/X86/uefi-data-layout.c
A clang/test/Driver/uefi-constructed-args.c
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
[Driver] Add toolchain for X86_64 UEFI target (#76838)
Introduce changes necessary for UEFI X86_64 target Clang driver.
Addressed the review comments originally suggested in Phabricator.
Differential Revision: https://reviews.llvm.org/D159541
Commit: 315ba7740663208f8bc45a7e4f145dc1df79500c
https://github.com/llvm/llvm-project/commit/315ba7740663208f8bc45a7e4f145dc1df79500c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
Log Message:
-----------
[mlir][linalg] Vectorisation of tensor.extract - dynamic shapes (#100582)
This PR removes the assumption that reading from a dynamic tensor is
always a gather load:
```mlir
%extracted = tensor.extract %src[%c79, %3] : tensor<?x?xf32>
```
That assumption was originally introduced to simplify the implementation
and to reduce the number of cases to consider. Now that the
vectorisation of `tensor.extract` has been around for > 1 year and has
been quite stable, we can safely relax it.
This is a relatively small change - rather than using the parent linalg
Op to infer the target output shape (not possible with dynamic shapes),
the vectorizer will use the (previously constructed) output vector
shape instead.
As expected, the following test required updating (`vector.gather` ->
`vector.transfer_read`):
*
@masked_dynamic_vectorize_nd_tensor_extract_with_affine_apply_contiguous
Similar test for scalable vectors is also added.
Commit: 42eb19a2603f391cfc85815637accd04322bcc1c
https://github.com/llvm/llvm-project/commit/42eb19a2603f391cfc85815637accd04322bcc1c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port d1335fb86466
Commit: 96ba9d372de522e836859d143f0cdab557277975
https://github.com/llvm/llvm-project/commit/96ba9d372de522e836859d143f0cdab557277975
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Only consider recipes in loop region in planContainsSimp. (NFCI)
Limit checks in planContainsAdditionalSimplifications to recipes in the
vector loop region.
Preparation for https://github.com/llvm/llvm-project/pull/107894.
Commit: 3b3accb598ec87a6a30b0e18ded06071030bb78f
https://github.com/llvm/llvm-project/commit/3b3accb598ec87a6a30b0e18ded06071030bb78f
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M llvm/lib/Support/FileCollector.cpp
Log Message:
-----------
[SystemZ][z/OS] Propagate IsText flag continuation
Commit: dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
https://github.com/llvm/llvm-project/commit/dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[demangle] Represent a char array initializer as a string literal. (#109021)
This improves the demangling for non-type template arguments that
contain string literals. Previously we'd produce
char [4]{(char)65, (char)66, (char)67}
(which isn't valid C or C++), and now we produce `"ABC"`.
The new demangling is always shorter, even when using an escape sequence
for every character, and much more readable when the char array contains
text.
Commit: 283c2c8800de4991730be20c327f94fc72ff21a2
https://github.com/llvm/llvm-project/commit/283c2c8800de4991730be20c327f94fc72ff21a2
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[TableGen] Add explicit symbol visibility macros to code generated (#107873)
Update llvm's TableGen to emit new explicit symbol visibility macros I
added in https://github.com/llvm/llvm-project/pull/96630 to the function
declarations it creates
The generated functions need to be exported from llvm's shared library
for Clang and some OpenMP tests. @compnerd
Commit: 434c9c50f99b1ad4e551c64af93287869389b087
https://github.com/llvm/llvm-project/commit/434c9c50f99b1ad4e551c64af93287869389b087
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
Log Message:
-----------
[flang][cuf][NFC] Clean up unused header and library (#109326)
These were part of a previous attempt and are not needed anymore.
Commit: ac664697c54cf2ffa9ebef0215f734bcca3b718f
https://github.com/llvm/llvm-project/commit/ac664697c54cf2ffa9ebef0215f734bcca3b718f
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Log Message:
-----------
[clang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 3191587666aa3d1e53966bc8876614c7197fac4f
https://github.com/llvm/llvm-project/commit/3191587666aa3d1e53966bc8876614c7197fac4f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Fix a warning
This patch fixes:
llvm/lib/Transforms/Coroutines/Coroutines.cpp:475:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 02d34d800b94937c42fb7cff2db2b2836d918ac6
https://github.com/llvm/llvm-project/commit/02d34d800b94937c42fb7cff2db2b2836d918ac6
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
A mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
A mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
Log Message:
-----------
[mlir][vector][xegpu] Vector to XeGPU conversion pass (#107419)
Add pass for Vector to XeGPU dialect conversion and initial conversion
patterns for vector.transfer_read|write operations.
Commit: d7c69c20a799509ffab8b22920c92c6428485f45
https://github.com/llvm/llvm-project/commit/d7c69c20a799509ffab8b22920c92c6428485f45
Author: David Pagan <dave.pagan at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/OpenMP/error_unsupport_feature.c
A clang/test/OpenMP/scope_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[clang][OpenMP] Add codegen for scope directive (#109197)
Added codegen for scope directive, enabled allocate and firstprivate
clauses, and added scope directive LIT test.
Testing
- LIT tests (including new scope test).
- OpenMP scope example test from 5.2 OpenMP API examples document.
- Three executable scope tests from OpenMP_VV/sollve_vv suite.
Commit: 1335a11176f99cc54f423fe173708bd2373b59f7
https://github.com/llvm/llvm-project/commit/1335a11176f99cc54f423fe173708bd2373b59f7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector][nfc] Clean-up VectorOps.{h|cpp} (#109316)
Commit: 21026073e3b0583caf0c81564c4d7ebf002fe67b
https://github.com/llvm/llvm-project/commit/21026073e3b0583caf0c81564c4d7ebf002fe67b
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
Log Message:
-----------
[lldb/Interpreter] Add requirements to Scripted Interface abstract methods (#109063)
This patch adds new requirements to the Scripted Interface abstract
method checker to check the minimum number of argument for abstract
methods.
This check is done when creating the interface object so the object is
not created if the user implementation doesn't match the abstract method
requirement.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 0347c1122625e3f8a0a2b602b2ef02fa334a13e1
https://github.com/llvm/llvm-project/commit/0347c1122625e3f8a0a2b602b2ef02fa334a13e1
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_common.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Remove unused field in BatchGroup (#109322)
Also fix the logic while determining the size of BatchClass and update
some legacy comments.
Commit: c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
https://github.com/llvm/llvm-project/commit/c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
Author: Evan Wilde <etceterawilde at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
Log Message:
-----------
Add missing deps edge: CodeGenAction.cpp.o -> GenVT.inc (#109306)
CodeGenAction.cpp.o depends on generating GenVT.inc before trying to
compile it through the following header chain:
```
GenVT.inc
MachineValueType.h
LowLevelType.h
MachineMemOperand.h
MachineInstr.h
MachineBasicBlock.h
MachineFunctionPass.h
MachineOptimizationRemarkEmitter.h
CodeGenAction.cpp
```
There is a dependency edge through LLVMCodeGenTypes, but that edge is
applied to the clangCodeGen link step, not the compile step of the files
that make up clangCodeGen. Usually the compile and link are close enough
in the build that GenVT.inc is scheduled early enough that it exists by
the time we're compiling CodeGenAction.cpp.o, but on machines with high
core counts, it seems to be more prevalent that the scheduling works out
just right to expose the missing edge. I've only been able to reproduce
this on machines with at least 64 cores (but even then it was not
reliable).
Additionally, llvm-tblgen depends on GenVT.inc, so to see the missing
dependency edge, one must be using a pre-built tablegen binary.
Adding the missing dependency edge to ensure that GenVT.inc is generated
before trying to compile CodeGenAction.cpp.o.
Found by inspecting the dependency graph generated from Ninja with:
```sh
cmake -G 'Ninja' \
...
-DLLVM_TABLEGEN=<path to native tblegen> \
-DCLANG_TABLEGEN=<path to native clang tblgen> \
-DLLVM_ENABLE_PROJECTS=clang \
...
ninja -t graph \
tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenAction.cpp.o | dot -Tpdf > CodeGenAction.pdf
```
Commit: f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
https://github.com/llvm/llvm-project/commit/f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/socklen_t.h
A libc/hdr/types/ssize_t.h
A libc/hdr/types/struct_msghdr.h
A libc/hdr/types/struct_sockaddr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_iovec.h
A libc/include/llvm-libc-types/struct_msghdr.h
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/spec/posix.td
M libc/src/sys/socket/CMakeLists.txt
R libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
R libc/src/sys/socket/linux/bind.cpp
A libc/src/sys/socket/linux/recv.cpp
A libc/src/sys/socket/linux/recvfrom.cpp
A libc/src/sys/socket/linux/recvmsg.cpp
A libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmsg.cpp
A libc/src/sys/socket/linux/sendto.cpp
A libc/src/sys/socket/linux/socketpair.cpp
A libc/src/sys/socket/recv.h
A libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/recvmsg.h
A libc/src/sys/socket/send.h
A libc/src/sys/socket/sendmsg.h
A libc/src/sys/socket/sendto.h
A libc/src/sys/socket/socketpair.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
R libc/test/src/sys/socket/linux/bind_test.cpp
A libc/test/src/sys/socket/linux/send_recv_test.cpp
A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
A libc/test/src/sys/socket/linux/socketpair_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
Log Message:
-----------
[libc] Add functions to send/recv messages (#106467)
This patch adds the necessary functions to send and receive messages
over a socket. Those functions are: recv, recvfrom, recvmsg, send,
sendto, sendmsg, and socketpair for testing.
Commit: 221f15fc145d46289781206f241ae564cd9510f0
https://github.com/llvm/llvm-project/commit/221f15fc145d46289781206f241ae564cd9510f0
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/unittests/Driver/CMakeLists.txt
Log Message:
-----------
[Clang] - Add libclangSerialization to clang driver unittests (#109329)
This PR is a fix for issue
[#109328](https://github.com/llvm/llvm-project/issues/109328).
libclangSerializaton.so is needed for building clang driver unittests
after
https://github.com/llvm/llvm-project/pull/76838 was merged. Needed for
builds with `BUILD_SHARED_LIBS=ON`
Commit: 36293eea68cae03a71389fb2e91dbc2cc0b43b4b
https://github.com/llvm/llvm-project/commit/36293eea68cae03a71389fb2e91dbc2cc0b43b4b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[NFC][ELF] Rename some ELFWriter methods (#109332)
More consistent casing + more accurate names.
Commit: 13dd2fd1e0ad428331ccbb65871574f9c1e3546f
https://github.com/llvm/llvm-project/commit/13dd2fd1e0ad428331ccbb65871574f9c1e3546f
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/src/sys/socket/CMakeLists.txt
A libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/bind.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/bind_test.cpp
Log Message:
-----------
[libc] Put bind back, fix gcc build (#109341)
Fixes #106467.
Bind was accidentally removed while trying to clean up functions that
didn't end up being needed. The GCC issue was just a warning treated as
an error.
Commit: 079f31c11fda00fe30e10f90fff72fa396470174
https://github.com/llvm/llvm-project/commit/079f31c11fda00fe30e10f90fff72fa396470174
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/half-zfa.ll
Log Message:
-----------
[RISCV] Move the rest of Zfa FLI instruction handling to lowerConstantFP. (#109217)
We already moved the fneg case. This moves the rest so we can drop the
custom isel.
Commit: 7db641af13670aa1f1ecd3106eda3ce447afd752
https://github.com/llvm/llvm-project/commit/7db641af13670aa1f1ecd3106eda3ce447afd752
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/AST/StmtDataCollectors.td
M clang/lib/AST/DataCollection.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
Log Message:
-----------
[clang] Don't call raw_string_ostream::flush() (NFC)
Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered
Commit: d2df2e41cae1413050935d6d27094569c29c473f
https://github.com/llvm/llvm-project/commit/d2df2e41cae1413050935d6d27094569c29c473f
Author: Prabhuk <prabhukr at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
R clang/lib/Driver/ToolChains/UEFI.cpp
R clang/lib/Driver/ToolChains/UEFI.h
R clang/test/CodeGen/X86/uefi-data-layout.c
R clang/test/Driver/uefi-constructed-args.c
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
Revert "[Driver] Add toolchain for X86_64 UEFI target" (#109340)
Reverts llvm/llvm-project#76838
Appears to be causing failures in MAC builders. First reverting the
patch and will investigate after.
Commit: e2983e5ad3eecc2f614844e8580f08a675e53292
https://github.com/llvm/llvm-project/commit/e2983e5ad3eecc2f614844e8580f08a675e53292
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port d2df2e41cae1
Commit: 0f488a0b7d3da3c736e9242e5dd110ba0322e45a
https://github.com/llvm/llvm-project/commit/0f488a0b7d3da3c736e9242e5dd110ba0322e45a
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/Verifier/rtsan-attrs.ll
Log Message:
-----------
[LLVM][rtsan] Add `sanitize_realtime_unsafe` attribute (#106754)
Commit: fc51c7f0cc1abf1679100d71d103fe5d943f580b
https://github.com/llvm/llvm-project/commit/fc51c7f0cc1abf1679100d71d103fe5d943f580b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/include/flang/Common/float128.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/runtime/Float128Math/acos.cpp
M flang/runtime/Float128Math/acosh.cpp
M flang/runtime/Float128Math/asin.cpp
M flang/runtime/Float128Math/asinh.cpp
M flang/runtime/Float128Math/atan.cpp
M flang/runtime/Float128Math/atan2.cpp
M flang/runtime/Float128Math/atanh.cpp
M flang/runtime/Float128Math/ceil.cpp
M flang/runtime/Float128Math/complex-math.c
M flang/runtime/Float128Math/complex-math.h
M flang/runtime/Float128Math/cos.cpp
M flang/runtime/Float128Math/cosh.cpp
M flang/runtime/Float128Math/erf.cpp
M flang/runtime/Float128Math/erfc.cpp
M flang/runtime/Float128Math/exp.cpp
M flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/floor.cpp
M flang/runtime/Float128Math/fma.cpp
M flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/hypot.cpp
M flang/runtime/Float128Math/j0.cpp
M flang/runtime/Float128Math/j1.cpp
M flang/runtime/Float128Math/jn.cpp
M flang/runtime/Float128Math/lgamma.cpp
M flang/runtime/Float128Math/llround.cpp
M flang/runtime/Float128Math/log.cpp
M flang/runtime/Float128Math/log10.cpp
M flang/runtime/Float128Math/lround.cpp
M flang/runtime/Float128Math/math-entries.h
M flang/runtime/Float128Math/mod-real.cpp
M flang/runtime/Float128Math/modulo-real.cpp
M flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/norm2.cpp
M flang/runtime/Float128Math/pow.cpp
M flang/runtime/Float128Math/random.cpp
M flang/runtime/Float128Math/round.cpp
M flang/runtime/Float128Math/rrspacing.cpp
M flang/runtime/Float128Math/scale.cpp
M flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/sin.cpp
M flang/runtime/Float128Math/sinh.cpp
M flang/runtime/Float128Math/spacing.cpp
M flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/Float128Math/tan.cpp
M flang/runtime/Float128Math/tanh.cpp
M flang/runtime/Float128Math/tgamma.cpp
M flang/runtime/Float128Math/trunc.cpp
M flang/runtime/Float128Math/y0.cpp
M flang/runtime/Float128Math/y1.cpp
M flang/runtime/Float128Math/yn.cpp
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
[flang][runtime] Disable LDBL_MANT_DIG == 113 for the offload builds. (#109339)
When compiling on aarch64 some `LDBL_MANT_DIG == 113` entries
end up trying to use `complex<long double>` for which there are
no certain specializations in `libcudacxx`. This change-set
includes a clean-up for `LDBL_MANT_DIG == 113` usage, which is replaced
with `HAS_LDBL128` that is set in `float128.h`.
Commit: 8c02f7053a1cf0bac14e38f14d40f08db71cae10
https://github.com/llvm/llvm-project/commit/8c02f7053a1cf0bac14e38f14d40f08db71cae10
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add VectorToXeGPU deps (#109348)
For 02d34d800b94937c42fb7cff2db2b2836d918ac6
Commit: b847076f55ba34374163fc8eca188fdf164a2a34
https://github.com/llvm/llvm-project/commit/b847076f55ba34374163fc8eca188fdf164a2a34
Author: anbbna <117081688+anbbna at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
A llvm/test/CodeGen/Mips/xor-and.ll
Log Message:
-----------
[Mips] Add test file for 'xor' and 'and' instructions (#106679)
Part of #99783
This test is meant to reflect the oncoming change as this test shows the
unoptimized result with unnecessary SLLs.
Commit: 72cacf1d992ea843522246976c91ca20b6e832f7
https://github.com/llvm/llvm-project/commit/72cacf1d992ea843522246976c91ca20b6e832f7
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll
Log Message:
-----------
[MIPS] Fix -msingle-float doesn't work with double on O32 (#107543)
Skip the following function 'CustomLowerNode' when the operand had done
`SoftenFloatResult`.
Fix #93052
Commit: d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
https://github.com/llvm/llvm-project/commit/d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
Log Message:
-----------
[flang] Fixed aarch64 buildbots after #109339.
Commit: 76883932014bcce2efb57be062f901de26317707
https://github.com/llvm/llvm-project/commit/76883932014bcce2efb57be062f901de26317707
Author: vporpo <vporpodas at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp
Log Message:
-----------
[SandboxVec] Simple Instruction Interval class (#108882)
An InstrInterval is a range of instructions in a block. The class will
eventually have an API for set operations, like union, intersection etc.
Commit: 594efd262519fb7508cfb44c7c65b608af1394cd
https://github.com/llvm/llvm-project/commit/594efd262519fb7508cfb44c7c65b608af1394cd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 76883932014b
Commit: b3533a156da92262eb19429d8c12f53e87f5ccec
https://github.com/llvm/llvm-project/commit/b3533a156da92262eb19429d8c12f53e87f5ccec
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Driver/frecord-command-line.f90
A flang/test/Lower/record-command-line.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/commandline.ll
A mlir/test/Target/LLVMIR/commandline.mlir
Log Message:
-----------
[clang][flang][mlir] Support -frecord-command-line option (#102975)
Add support for the -frecord-command-line option that will produce the
llvm.commandline metadata which will eventually be saved in the object
file. This behavior is also supported in clang. Some refactoring of the
code in flang to handle these command line options was carried out. The
corresponding -grecord-command-line option which saves the command line
in the debug information has not yet been enabled for flang.
Commit: 72a218056d68b7aa65ab3eda56837117bb59f11a
https://github.com/llvm/llvm-project/commit/72a218056d68b7aa65ab3eda56837117bb59f11a
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (#107664)
This adds support for:
* `muslabin32` (MIPS N32)
* `muslabi64` (MIPS N64)
* `muslf32` (LoongArch ILP32F/LP64F)
* `muslsf` (LoongArch ILP32S/LP64S)
As we start adding glibc/musl cross-compilation support for these
targets in Zig, it would make our life easier if LLVM recognized these
triples. I'm hoping this'll be uncontroversial since the same has
already been done for `musleabi`, `musleabihf`, and `muslx32`.
I intentionally left out a musl equivalent of `gnuf64` (LoongArch
ILP32D/LP64D); my understanding is that Loongson ultimately settled on
simply `gnu` for this much more common case, so there doesn't *seem* to
be a particularly compelling reason to add a `muslf64` that's basically
deprecated on arrival.
Note: I don't have commit access.
Commit: e90a73255b4cfb3f8abc369251c8035b837e0042
https://github.com/llvm/llvm-project/commit/e90a73255b4cfb3f8abc369251c8035b837e0042
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/docs/Dialects/Affine.md
Log Message:
-----------
[mlir][docs] Fix incorrect operation name(NFC) (#109261)
Commit: 6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
https://github.com/llvm/llvm-project/commit/6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/test/IR/print-ir-nesting.mlir
Log Message:
-----------
[mlir] Fix disagreement between document and test(NFC) (#109257)
Commit: f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
https://github.com/llvm/llvm-project/commit/f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/fmodules-embed-all-files.cpp
Log Message:
-----------
[C++20] [Modules] Offer -fmodules-embed-all-files option (#107194)
See
https://discourse.llvm.org/t/rfc-modules-should-we-embed-sources-to-the-bmi/81029
for details.
Close https://github.com/llvm/llvm-project/issues/72383
Commit: b5cdb039712d0c24b0d10c96b6b6d52456088f84
https://github.com/llvm/llvm-project/commit/b5cdb039712d0c24b0d10c96b6b6d52456088f84
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
Log Message:
-----------
[Coroutines] Better optimization remarks for CoroAnnotationElide pass (#109352)
Commit: 95d4c97a20bb46cd7ca9c5389f9ba33f1bf8f7a0
https://github.com/llvm/llvm-project/commit/95d4c97a20bb46cd7ca9c5389f9ba33f1bf8f7a0
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/wchar_t.h
A libc/hdr/types/wint_t.h
A libc/hdr/wchar_macros.h
A libc/hdr/wchar_overlay.h
M libc/include/llvm-libc-types/wchar_t.h
M libc/include/llvm-libc-types/wint_t.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wctype_utils.h
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/btowc.cpp
M libc/src/wchar/btowc.h
M libc/src/wchar/wctob.cpp
M libc/src/wchar/wctob.h
M libc/test/src/wchar/btowc_test.cpp
Log Message:
-----------
[libc][wchar] Move wchar's types to proxy headers. (#109334)
Also protect against extern inline function definitions added when
building with gcc: https://github.com/llvm/llvm-project/issues/60481.
Commit: 8c3b94f420a20a45dd07f3e12d6a6d649858f452
https://github.com/llvm/llvm-project/commit/8c3b94f420a20a45dd07f3e12d6a6d649858f452
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/test/MC/AVR/inst-rjmp.s
Log Message:
-----------
[AVR][MC] Fix incorrect range of relative jumps (#109124)
'rjmp .+4094' is legal but rejected by llvm-mc since
86a60e7f1e8f361f84ccb6e656e848dd4fbaa713, and this patch fixed that
range issue.
Commit: 3d0846bedcd18d546fd3733c93c2e144f2faab09
https://github.com/llvm/llvm-project/commit/3d0846bedcd18d546fd3733c93c2e144f2faab09
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[MC] Explicitly mark MCSymbol for MO_ExternalSymbol (#108880)
- [x] Mark `MCSymbol` for `MO_ExternalSymbol` to be external when
created.
Commit: 5326614e2f84677515c38a17cf2f30cf66deaadc
https://github.com/llvm/llvm-project/commit/5326614e2f84677515c38a17cf2f30cf66deaadc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
Log Message:
-----------
AtomicExpand: Really allow incremental legalization (#108613)
Fix up 100d9b89947bb1d42af20010bb594fa4c02542fc. The iterator
fixes ended up defeating the point, since newly inserted blocks
were not visited. This never erases the current block, so we can
simply not preincrement the block iterator.
The AArch64 FP atomic tests now expand the cmpxchg in the second
round of legalization.
Commit: 1bc59e55ecec984ccdc665c5bf8468d3d65ec086
https://github.com/llvm/llvm-project/commit/1bc59e55ecec984ccdc665c5bf8468d3d65ec086
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
github: Add tablegen directories to PR autolabeler (#109129)
Commit: 528bcf3a55ca520c31c77ed5fbacf09bff8f39ec
https://github.com/llvm/llvm-project/commit/528bcf3a55ca520c31c77ed5fbacf09bff8f39ec
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
Log Message:
-----------
AMDGPU: Restore deleted test checks from test
These were accidentally removed in 758444ca3e7163a1504eeced3383af861d01d761
Commit: dab3c6d39458fcc0607c678263132d7ca184cddd
https://github.com/llvm/llvm-project/commit/dab3c6d39458fcc0607c678263132d7ca184cddd
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/examples/Attribute/CMakeLists.txt
Log Message:
-----------
[Clang] Change Attribute plugin to link clang-cpp like other examples (#109319)
Change the Attribute example plugin to use clang_target_link_libraries
instead of target_link_libraries so libclang-cpp is linked when the
CLANG_LINK_CLANG_DYLIB CMake option is used.
This change will allow building the plugin on windows when building llvm
and clang as a shared library with explicit visibility macros enabled.
Commit: 5b17f85a7d722439a39f1ac1c554aed7858adab4
https://github.com/llvm/llvm-project/commit/5b17f85a7d722439a39f1ac1c554aed7858adab4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/MC/MCRegister.h
Log Message:
-----------
[CodeGen][MC] Improve DenseMapInfo for Register/MCRegister.
Make getEmptyKey() and getTombstoneKey() return a
Register/MCRegister instead of `unsigned`. Use operator==
isEqual.
Commit: 4f0187d1442273ac54ac11acbbd3b4e1c02008d8
https://github.com/llvm/llvm-project/commit/4f0187d1442273ac54ac11acbbd3b4e1c02008d8
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/src/include/config_elast.h
Log Message:
-----------
[libcxx] No _LIBCPP_ELAST needed for LLVM libc (#108739)
LLVM libc can handle out-of-range errno values.
Commit: e8a739062490ce1bb30974f216ba187cd7b5a2a4
https://github.com/llvm/llvm-project/commit/e8a739062490ce1bb30974f216ba187cd7b5a2a4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/basic.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] [LLVM IR] Introduce VaArgOp (#109260)
I find there is no LLVMOp corresponding to LLVM's [va_arg
instruction](https://llvm.org/docs/LangRef.html#va-arg-instruction) so I
tried to add one. This is helpful for clangir
(https://github.com/llvm/clangir/pull/865).
New to MLIR and not sure who are the appropriate reviewers. Appreciated
in ahead for reviewing and triaging.
Commit: b0e68a9a53e6bc1396271ee3d79cb86c8049fe17
https://github.com/llvm/llvm-project/commit/b0e68a9a53e6bc1396271ee3d79cb86c8049fe17
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/test/CodeGen/ptrauth-init-fini.c
Log Message:
-----------
[PAC][clang] Use cc1 instead of driver in init-fini codegen test (#109247)
Commit: d2d78e584b7489066772638d1c48db9d61f5a3f7
https://github.com/llvm/llvm-project/commit/d2d78e584b7489066772638d1c48db9d61f5a3f7
Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
A llvm/include/llvm/CodeGen/MachineLICM.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
M llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir
M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
M llvm/test/CodeGen/AMDGPU/licm-valu.mir
M llvm/test/CodeGen/AMDGPU/machinelicm-convergent.mir
M llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
M llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessNoProfileData.mir
M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir
M llvm/test/CodeGen/PowerPC/machinelicm-cse-dead-flag.mir
M llvm/test/CodeGen/X86/machine-licm-vs-wineh.mir
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
Log Message:
-----------
[NewPM][CodeGen] Port MachineLICM to NPM (#107376)
Commit: 5e7810882c8b58431358cd8da3a329a3c505de2c
https://github.com/llvm/llvm-project/commit/5e7810882c8b58431358cd8da3a329a3c505de2c
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/src/support/runtime/exception_fallback.ipp
M libcxx/src/support/runtime/exception_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
Log Message:
-----------
[libcxx] Use __libcpp_verbose_abort for error messages (#108873)
Rather than using the following sequence of calls:
```
fprintf(stderr, "...");
::abort();
```
We should use the following:
```
__libcpp_verbose_abort("...")
```
This simplifies the code and ensures the behavior is consistent across
all call sites.
Commit: 173841cc56a12410e6ca7e4a37151d7057c6d20f
https://github.com/llvm/llvm-project/commit/173841cc56a12410e6ca7e4a37151d7057c6d20f
Author: braw-lee <93831198+braw-lee at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add basic support for fdim libcall (#108702)
first PR to fix #108695
Signed-off-by: Kushal Pal <kushalpal109 at gmail.com>
Commit: ea578804c81bbad1f31a0c940c8f4378d6893ede
https://github.com/llvm/llvm-project/commit/ea578804c81bbad1f31a0c940c8f4378d6893ede
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/RawCommentForDeclTest.cpp
Log Message:
-----------
[AST] Ensure getRawCommentsForAnyRedecl() does not miss any redecl with a comment (#108475)
The previous implementation had a bug where, if it was called on a Decl
later in the redecl chain than `LastCheckedDecl`, it could incorrectly
skip and overlook a Decl with a comment.
The patch addresses this by only using `LastCheckedDecl` if the input
Decl `D` is on the path from the first (canonical) Decl to
`LastCheckedDecl`.
An alternative that was considered was to start the iteration from the
(canonical) Decl, however this ran into problems with the modelling of
explicit template specializations in the AST where the canonical Decl
can be unusual. With the current solution, if no Decls were checked yet,
we prefer to check the input Decl over the canonical one.
Fixes https://github.com/llvm/llvm-project/issues/108145
Commit: f9bd08382a4ad84c06e0b572d3b7fc3ecdb81898
https://github.com/llvm/llvm-project/commit/f9bd08382a4ad84c06e0b572d3b7fc3ecdb81898
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
Log Message:
-----------
AMDGPU: Explicitly disable verifier in failing tests
This should fix expensive_checks failures.
These now hit a new verifier error. The first test is explicitly
testing the failing case produces an error, so it should skip
the verifier. The unsupported call tests should also error (although
it would be better if it errored via a different path).
Commit: 1e131ddfa8f1d7b18c85c6e4079458be8b419421
https://github.com/llvm/llvm-project/commit/1e131ddfa8f1d7b18c85c6e4079458be8b419421
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBExecutionContext.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb/Interpreter] Introduce `ScriptedStopHook{,Python}Interface` & make use of it (#105449)
This patch introduces new `ScriptedStopHook{,Python}Interface` classes
that make use of the Scripted Interface infrastructure and makes use of
it in `StopHookScripted`.
It also relax the requirement on the number of argument for initializing
scripting extension if the size of the interface parameter pack contains
1 less element than the extension maximum number of positional arguments
for this initializer.
This addresses the cases where the embedded interpreter session
dictionary is passed to the extension initializer which is not used most
of the time.
---------
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 2c6e5ef6873e9c80190beb62c625e16802c9901d
https://github.com/llvm/llvm-project/commit/2c6e5ef6873e9c80190beb62c625e16802c9901d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
Log Message:
-----------
TLI: Fix test after "Add basic support for fdim libcall"
Commit: 92da37b08f95844576c5d5502712bab0961e2f27
https://github.com/llvm/llvm-project/commit/92da37b08f95844576c5d5502712bab0961e2f27
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
Log Message:
-----------
[Object][NFC] Add extern template declarations needed by llvm-objdump (#109156)
These symbols are implicitly imported from the LLVM shared library by
llvm-objdump on ELF like platforms, but for windows they need to be
explicitly exported when LLVM is built as shared library.
I also add visibility macros for XCOFFObjectFile::getExceptionEntries
that can't automatically be added by clang tooling since it doesn't
store the source locations for explicit function template
instantiations.
Commit: 6611efdf76f6a5355eed05f49d4ec324a224b281
https://github.com/llvm/llvm-project/commit/6611efdf76f6a5355eed05f49d4ec324a224b281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[X86] Use X86AS::GS and X86AS::FS instead of 256 and 257. NFC (#109342)
Commit: ce47e57161fdb51f1eb99b5ca75bcbde2a5c7b03
https://github.com/llvm/llvm-project/commit/ce47e57161fdb51f1eb99b5ca75bcbde2a5c7b03
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[gn build] Port ea578804c81b
Commit: 400b725c2740ee29560bac9ad870b4ddb56bf3f2
https://github.com/llvm/llvm-project/commit/400b725c2740ee29560bac9ad870b4ddb56bf3f2
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/abs.ll
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-transpose.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-vector-bits-min from cost model tests. NFC
It looks like they were added to prevent fixed length vectors from
being expanded, but that's no longer the case today:
https://reviews.llvm.org/D121447#3376520
Commit: 96ae7c4f1aa02cb10455dda22abbb0b3b2ceaa6b
https://github.com/llvm/llvm-project/commit/96ae7c4f1aa02cb10455dda22abbb0b3b2ceaa6b
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/test/Interpreter/multiline.cpp
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] Implement continuation for preprocessor directives. (#107552)
Commit: f322f4a55e8a60b996a0a9f0b3fe924c7af2cb1b
https://github.com/llvm/llvm-project/commit/f322f4a55e8a60b996a0a9f0b3fe924c7af2cb1b
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Provide dummy ThreadDescriptorSize on Solaris (#109285)
Since 2c69a09bee94acca859a1adf5b04d01dc13f7295, the Solaris build is
broken like
```
Undefined first referenced
symbol in file
_ZN11__sanitizer20ThreadDescriptorSizeEv projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.i386.dir/sanitizer_linux_libcdep.cpp.o
```
The `ThreadDescriptorSize` reference is from
`sanitizer_linux_libcdep.cpp` (`GetTls`), l.590. This isn't actually
needed on non-glibc targets AFAICS, so this patch provides a dummy to
restore the build.
Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and
`x86_64-pc-linux-gnu`.
Commit: 9e7315912656628b606e884e39cdeb261b476f16
https://github.com/llvm/llvm-project/commit/9e7315912656628b606e884e39cdeb261b476f16
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
Log Message:
-----------
[NFC][EarlyIfConverter] Replace boolean Predicate for a class (#108519)
Currently SSAIfConv is used in 2 scenarios. Generalize them to support
more scenarios.
Commit: 3c83102f0615c7d66f6df698ca472ddbf0e9483d
https://github.com/llvm/llvm-project/commit/3c83102f0615c7d66f6df698ca472ddbf0e9483d
Author: Juan Manuel Martinez Caamaño <juamarti at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
Log Message:
-----------
[NFC][EarlyIfConverter] Remove unused member variables
Commit: eaeb1fbcc05e15728f5fc96f08da3bcd24b0fc73
https://github.com/llvm/llvm-project/commit/eaeb1fbcc05e15728f5fc96f08da3bcd24b0fc73
Author: David Green <david.green at arm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
Log Message:
-----------
[AArch64] Cleanup and extend arm64-fp128.ll. NFC
This rewrites the existing tests that load from globals to a more modern style,
and adds vector and GIsel test coverage.
Commit: 0f235573de6386260afcd8fa144d24366927288c
https://github.com/llvm/llvm-project/commit/0f235573de6386260afcd8fa144d24366927288c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr29222.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
Log Message:
-----------
[X86] Fold broadcast(scalar) -> scalar_to_vector(scalar) if only the lowest element is demanded.
Commit: 9a32f28366b1099b0f5214e62473c0a2a2155434
https://github.com/llvm/llvm-project/commit/9a32f28366b1099b0f5214e62473c0a2a2155434
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix a problem with array size limits (#109383)
Descriptor::MaxArrayElemBytes is an unsigned value, which might overflow
the SizeT we have in CheckArraySize.
Commit: 1ed65febd996eaa018164e880c87a9e9afc6f68d
https://github.com/llvm/llvm-project/commit/1ed65febd996eaa018164e880c87a9e9afc6f68d
Author: Nathan Gauër <brioche at google.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
A clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
R llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.const-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-and.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-or.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.void.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.literal.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
A llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
M llvm/tools/spirv-tools/CMakeLists.txt
Log Message:
-----------
[SPIR-V] Add SPIR-V structurizer (#107408)
This commit adds an initial SPIR-V structurizer.
It leverages the previously merged passes, and the convergence region
analysis to determine the correct merge and continue blocks for SPIR-V.
The first part does a branch cleanup (simplifying switches, and
legalizing them), then merge instructions are added to cycles,
convergent and later divergent blocks.
Then comes the important part: splitting critical edges, and making sure
the divergent construct boundaries don't cross.
- we split blocks with multiple headers into 2 blocks.
- we split blocks that are a merge blocks for 2 or more constructs:
SPIR-V spec disallow a merge block to be shared by 2
loop/switch/condition construct.
- we split merge & continue blocks: SPIR-V spec disallow a basic block
to be both a continue block, and a merge block.
- we remove superfluous headers: when a header doesn't bring more info
than the parent on the divergence state, it must be removed.
This PR leverages the merged SPIR-V simulator for testing, as long as
spirv-val. For now, most DXC structurization tests are passing. The
unsupported ones are either caused by unsupported features like switches
on boolean types, or switches in region exits, because the MergeExit
pass doesn't support those yet (there is a FIXME).
This PR is quite large, and the addition not trivial, so I tried to keep
it simple. E.G: as soon as the CFG changes, I recompute the dominator
trees and other structures instead of updating them.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 2da70572a2564c4250534efd9399a751cde1e962
https://github.com/llvm/llvm-project/commit/2da70572a2564c4250534efd9399a751cde1e962
Author: David Green <david.green at arm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
Log Message:
-----------
[AArch64][GISel] Scalarize fp128 fadd/fsub/fmul/etc.
Like other fp128/i128 vectors, we scalarize these operations to allow them to
be libcalled.
Commit: 76b827bb4d5b4cc4d3229c4c6de2529e8b156810
https://github.com/llvm/llvm-project/commit/76b827bb4d5b4cc4d3229c4c6de2529e8b156810
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Fix SWIG wrapper compilation error
Introduced by 1e131ddfa8f1d7b18c85c6e4079458be8b419421.
https://lab.llvm.org/buildbot/#/builders/59/builds/5272
Commit: e6eb94d3982cc55b16f62a17177dab7da46ae0f0
https://github.com/llvm/llvm-project/commit/e6eb94d3982cc55b16f62a17177dab7da46ae0f0
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add missing verifier check for `tosa.reshape` (#109301)
This PR adds a missing verifier check for `tosa.reshape`, ensuring that
the number of elements in `new_shape` matches the number of elements in
the input tensor. Fixes #108151 and fixes #107969.
Commit: 413b12a5aba09f136c51923fe568c7269ef93c35
https://github.com/llvm/llvm-project/commit/413b12a5aba09f136c51923fe568c7269ef93c35
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
Log Message:
-----------
[LV] Add additional tests for UDiv expansion.
Additional tests for https://github.com/llvm/llvm-project/issues/89958,
following discussion at https://github.com/llvm/llvm-project/pull/92177.
Commit: 801046e3303eed43bffebb84e9e505cc19cad5c0
https://github.com/llvm/llvm-project/commit/801046e3303eed43bffebb84e9e505cc19cad5c0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBExecutionContext.h
R lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Revert "[lldb] Fix SWIG wrapper compilation error"
...and "[lldb/Interpreter] Introduce `ScriptedStopHook{,Python}Interface` & make use of it (#105449)"
This reverts commit 76b827bb4d5b4cc4d3229c4c6de2529e8b156810, and commit 1e131ddfa8f1d7b18c85c6e4079458be8b419421
because the first commit caused the test command-stop-hook-output.test to fail.
Commit: 37e5319a12ba47c18049728804d3d1e1b10c4eb4
https://github.com/llvm/llvm-project/commit/37e5319a12ba47c18049728804d3d1e1b10c4eb4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/APSIntTest.cpp
M llvm/unittests/ADT/StringExtrasTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Support/DivisionByConstantTest.cpp
Log Message:
-----------
[UnitTests] Fix APInt signed flags (NFC)
This makes unit tests compatible with the assertion added in
https://github.com/llvm/llvm-project/pull/106524, by setting the
isSigned flag to the correct value or changing how the value is
constructed.
Commit: a861ed411a359b7cb2b58d642e4a7f2fdcf92057
https://github.com/llvm/llvm-project/commit/a861ed411a359b7cb2b58d642e4a7f2fdcf92057
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
Log Message:
-----------
[VPlan] Add initial loop-invariant code motion transform. (#107894)
Add initial transform to move out loop-invariant recipes.
This also helps to fix a divergence between legacy and VPlan-based cost
model due to legacy using ScalarEvolution::isLoopInvariant in some
cases.
Fixes https://github.com/llvm/llvm-project/issues/107501.
PR: https://github.com/llvm/llvm-project/pull/107894
Commit: af4dcbbfe6c7b2c7390a202580e0d2093d2aeb49
https://github.com/llvm/llvm-project/commit/af4dcbbfe6c7b2c7390a202580e0d2093d2aeb49
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[mlir][affine] Verify `map` of affineMaxMinOp has at least one result (#108699)
This PR fixes a bug in `verifyAffineMinMaxOp` that allowed `map` of
`affine.max` and `affine.min` to have an empty result. Fixes #108368.
Commit: e5717fb61d844895d4ca88659646d04ac749bc82
https://github.com/llvm/llvm-project/commit/e5717fb61d844895d4ca88659646d04ac749bc82
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/wasm_simd128.h
M clang/test/CodeGen/builtins-wasm.c
Log Message:
-----------
[clang][wasm] Replace the target iminmax intrinsics with the equivalent generic `__builtin_elementwise_min/max` intrinsics (#109259)
Noticed while working on #109160
Commit: 2c90eb990af176f2b57baecd2920481243845bb9
https://github.com/llvm/llvm-project/commit/2c90eb990af176f2b57baecd2920481243845bb9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/wasm_simd128.h
M clang/test/CodeGen/builtins-wasm.c
Log Message:
-----------
[clang][wasm] Replace the target integer add saturate intrinsics with the equivalent generic `__builtin_elementwise_add_sat` intrinsics (#109269)
Noticed while working on #109160
I've left out the sub_sat intrinsics for now - not sure about the history behind them using Intrinsic::wasm_sub_sat_* instead of Intrinsic::*sub_sat
Commit: 8a36eb83e5309ca14ffa0f9b567206bab7506f94
https://github.com/llvm/llvm-project/commit/8a36eb83e5309ca14ffa0f9b567206bab7506f94
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change AsmMatcherEmitter to use const RecordKeeper (#109174)
Change AsmMatcherEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: b594b93024bbe24bddbcc0e54cb5551e0df642cf
https://github.com/llvm/llvm-project/commit/b594b93024bbe24bddbcc0e54cb5551e0df642cf
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[LLVM][TableGen] Change DisassemblerEmitter to use const RecordKeeper (#109177)
Change DisassemblerEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: d109636c2ee55f872e846ce11e0e1882382703c1
https://github.com/llvm/llvm-project/commit/d109636c2ee55f872e846ce11e0e1882382703c1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Change GISelCombinerEmitter to use const RecordKeeper (#109187)
Change GISelCombinerEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 2b01452c208877e20043c0a643c89bc10be5ca4d
https://github.com/llvm/llvm-project/commit/2b01452c208877e20043c0a643c89bc10be5ca4d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/PredicateExpander.cpp
M llvm/utils/TableGen/Common/PredicateExpander.h
Log Message:
-----------
[LLVM][TableGen] Use const Record pointers in PredicateExpander (#109365)
Use const Record pointers in PredicateExpander.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: 708567ab0b585be90f1378ed15b55c31813d23c8
https://github.com/llvm/llvm-project/commit/708567ab0b585be90f1378ed15b55c31813d23c8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Adopt `indent` for indentation (#109275)
Adopt `indent` for indentation DAGISelMatcher and DecoderEmitter.
Commit: 737c414e1d9578e5037e68e3b3f6ddea507f8243
https://github.com/llvm/llvm-project/commit/737c414e1d9578e5037e68e3b3f6ddea507f8243
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
R flang/test/Driver/frecord-command-line.f90
R flang/test/Lower/record-command-line.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
R mlir/test/Target/LLVMIR/Import/commandline.ll
R mlir/test/Target/LLVMIR/commandline.mlir
Log Message:
-----------
Revert "[clang][flang][mlir] Support -frecord-command-line option (#102975)"
This reverts commit b3533a156da92262eb19429d8c12f53e87f5ccec.
It caused test failures in shared library builds:
https://lab.llvm.org/buildbot/#/builders/80/builds/3854
Commit: 766ec7d50f207b7e17f23b16bdf4fca1cdc8dd23
https://github.com/llvm/llvm-project/commit/766ec7d50f207b7e17f23b16bdf4fca1cdc8dd23
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
Log Message:
-----------
[SandboxIR] Silence warning with Clang 19.1.0 on Windows
This fixes:
```
[1832/3777] Building CXX object
lib\SandboxIR\CMakeFiles\LLVMSandboxIR.dir\SandboxIR.cpp.obj
In file included from
C:\src\git\llvm-project\llvm\lib\SandboxIR\SandboxIR.cpp:9:
C:\src\git\llvm-project\llvm\include\llvm/SandboxIR/SandboxIR.h(4400,16):
warning: unqualified friend declaration referring to type outside of the
nearest enclosing namespace is a Microsoft extension; add a nested name
specifier [-Wmicrosoft-unqualified-friend]
4400 | friend class TargetExtType; // For LLVMCtx.
| ^
| ::llvm::
1 warning generated.
```
Commit: d6f91200fe95dbf30a091af3ba039a817e7ddf14
https://github.com/llvm/llvm-project/commit/d6f91200fe95dbf30a091af3ba039a817e7ddf14
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M llvm/lib/Support/FileCollector.cpp
Log Message:
-----------
Revert "[SystemZ][z/OS] Propagate IsText flag continuation"
This reverts commit 3b3accb598ec87a6a30b0e18ded06071030bb78f.
Commit: efdb3ae23247850d3886e3708400f0d991ed59e1
https://github.com/llvm/llvm-project/commit/efdb3ae23247850d3886e3708400f0d991ed59e1
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Driver/DistroTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M lldb/unittests/Utility/MockSymlinkFileSystem.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
Revert "[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)"
This reverts commit edf3b277a5f2ebe144827ed47463c22743cac5f9.
Commit: 3127b659fad358b135721bd937fead49e5c73de5
https://github.com/llvm/llvm-project/commit/3127b659fad358b135721bd937fead49e5c73de5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/add.ll
M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
M llvm/test/Transforms/CorrelatedValuePropagation/cond-using-block-value.ll
M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[CVP] Infer range return attribute (#99620)
We already infer this in IPSCCP (which runs very early, so cannot
benefit from inlining and simplifications) and SCCP (which runs without
PredicateInfo, so does not use assumes). Do it in CVP as well, so it can
handle cases that IPSCCP/SCCP can't.
Fixes https://github.com/llvm/llvm-project/issues/98946 (everything
apart from f2, where the assume is dropped by the frontend).
Commit: cee0bf962648cf69a07e58dd8b02977d2a7e6007
https://github.com/llvm/llvm-project/commit/cee0bf962648cf69a07e58dd8b02977d2a7e6007
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Use Lo_32 and Hi_32 helpers (NFC) (#109413)
Commit: 3bcffe5ccc694d7c40f4bc84bd9ced1cc0e30d5c
https://github.com/llvm/llvm-project/commit/3bcffe5ccc694d7c40f4bc84bd9ced1cc0e30d5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix MSVC implicit shift extension warning.
Commit: 73b8074e68e4b01bd7cb0dd2372af5adc2e89231
https://github.com/llvm/llvm-project/commit/73b8074e68e4b01bd7cb0dd2372af5adc2e89231
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Do not use APInt for simple 64-bit arithmetic. NFC. (#109414)
Commit: 1808fc13c83c0bffb7e61adf1bb26a3097bc3c81
https://github.com/llvm/llvm-project/commit/1808fc13c83c0bffb7e61adf1bb26a3097bc3c81
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
Log Message:
-----------
[AArch64][InstCombine] Bail from combining SRAD on +/-1 divisor (#109274)
This fixes a crash when svdiv's third parameter is svdup_s64(1)
Commit: 2f50b280dc8e995ef67ad31a5f71adc4c270890d
https://github.com/llvm/llvm-project/commit/2f50b280dc8e995ef67ad31a5f71adc4c270890d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/examples/IRTransforms/SimplifyCFG.cpp
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[DebugInfo] Enable deprecation of iterator-insertion methods (#102608)
This is an almost-final step in eliminating debug-intrinsics -- read more
about that here: https://llvm.org/docs/RemoveDIsDebugInfo.html . To
correctly update variable location information in the background when
inserting instructions, we need some information carried at runtime in
BasicBlock::iterator, hence deprecating pointer-insertion.
An immediate fix for any deprecation warnings is to call "getIterator"
on the insertion position pointer. If you intend on inserting at the start
of a block, use BB->begin() or similar methods to fetch the appropriate
iterator.
Commit: c3371a675750b3869354a490aad045c7dcef6891
https://github.com/llvm/llvm-project/commit/c3371a675750b3869354a490aad045c7dcef6891
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallSet.h
Log Message:
-----------
[ADT][NFC] Style and nit fixes in SmallSet (#108582)
Commit: 03635b3215180f71c81a2ec61008e27f84b09aad
https://github.com/llvm/llvm-project/commit/03635b3215180f71c81a2ec61008e27f84b09aad
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
Log Message:
-----------
[rtsan][compiler-rt] Add 64 bit file interceptors, test for _FILE_OFFSET_BITS (#108057)
>From #107988
We were not intercepting the 64 bit versions of these calls, leading to
tests failing when _FILE_OFFSET_BITS = 64.
Commit: da36603148baf37d3625aa030b4c05bf5785cae2
https://github.com/llvm/llvm-project/commit/da36603148baf37d3625aa030b4c05bf5785cae2
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/ext_vector_casts.c
Log Message:
-----------
[Clang] prevented assertion failure by handling integral to boolean conversions for boolean vectors (#108657)
Fixes #108326
Commit: 42b696d7b9942fdf07d65267da40ab178464adaa
https://github.com/llvm/llvm-project/commit/42b696d7b9942fdf07d65267da40ab178464adaa
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[libc][bazel] Enable software prefetching for memcpy (#108939)
This will affect only Bazel configuration for now.
Commit: 28646d0cc12a01b0de2e4eb982cb91590bc2f84a
https://github.com/llvm/llvm-project/commit/28646d0cc12a01b0de2e4eb982cb91590bc2f84a
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
A llvm/test/MC/ELF/debug-loc-label.s
Log Message:
-----------
[MC] Add .loc_label instruction (#99710)
As discussed in [the
RFC](https://discourse.llvm.org/t/rfc-extending-llvm-mc-loc-directive-with-labeling-support/79608)
we need a way to create labels in the assembler-generated line section
in order to support the future addition of the
[DW_AT_LLVM_stmt_sequence](https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434)
attribute.
We have a similar precedent for such behavior with the
[.cfi_label](https://github.com/llvm/llvm-project/pull/97922)
instruction - so we add the `.loc_label THE_LABEL_NAME` instruction
which:
- Terminates the current line sequence in the line section
- Creates a new label with the specified label name in the `.debug_line`
section
Commit: c320df4a2c9d7be10caea9a423d2bfbdcaae6a39
https://github.com/llvm/llvm-project/commit/c320df4a2c9d7be10caea9a423d2bfbdcaae6a39
Author: Michal Rostecki <vadorovsky at protonmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
[LLVM-C] Add bindings to `Instruction::getDbgRecordRange()` (#107802)
Since the migration from `@llvm.dbg.value` intrinsic to `#dbg_value`
records, there is no way to retrieve the debug records for an
`Instruction` in LLVM-C API.
Previously, with debug info intrinsics, retrieving debug info for an
`Instruction` could be done with `LLVMGetNextInstructions`, because the
intrinsic call was also an instruction.
However, to be able to retrieve debug info with the current LLVM, where
debug records are used, the `getDbgRecordRange()` iterator needs to be
exposed.
Add new functions for DbgRecord sequence traversal:
LLVMGetFirstDbgRecord
LLVMGetLastDbgRecord
LLVMGetNextDbgRecord
LLVMGetPreviousDbgRecord
See llvm/docs/RemoveDIsDebugInfo.md and release notes.
Commit: ef44e4659878f256a46476efcf0398f3dd510f54
https://github.com/llvm/llvm-project/commit/ef44e4659878f256a46476efcf0398f3dd510f54
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/src/algorithm.cpp
Log Message:
-----------
Revert "[libc++] Simplify the implementation of std::sort a bit (#104902)"
This reverts commit d4ffccfce103b01401b8a9222e373f2d404f8439, which
caused a performance regression that needs to be investigated further.
Commit: 57b12e8fbc9bb29ebe8f9d2a0f2c5085b38c2454
https://github.com/llvm/llvm-project/commit/57b12e8fbc9bb29ebe8f9d2a0f2c5085b38c2454
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Log Message:
-----------
[clangd] Improve robustness when clang-tidy check names contain leading spaces. (#109421)
The current logic assumes that check names do not have leading spaces.
In cases like "-*, clang-diagnostic*", when processing the second check
" clang-diagnostics-*" (with a leading space), the check fails on
`CDPrefix.starts_with(Check)`, resulting in all diagnostics remaining
disabled.
Commit: 0b48b3b939b95b36b2844e6ad3dbaaa79609db9a
https://github.com/llvm/llvm-project/commit/0b48b3b939b95b36b2844e6ad3dbaaa79609db9a
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/commit-access-review.py
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/test/lit.local.cfg
M bolt/test/perf2bolt/lit.local.cfg
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/CODE_OWNERS.TXT
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/SemanticSelection.cpp
A clang-tools-extra/clangd/support/Bracket.cpp
A clang-tools-extra/clangd/support/Bracket.h
M clang-tools-extra/clangd/support/CMakeLists.txt
A clang-tools-extra/clangd/support/DirectiveTree.cpp
A clang-tools-extra/clangd/support/DirectiveTree.h
A clang-tools-extra/clangd/support/Lex.cpp
A clang-tools-extra/clangd/support/Token.cpp
A clang-tools-extra/clangd/support/Token.h
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/docs/clang-rename.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/docs/index.rst
A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
R clang-tools-extra/pseudo/CMakeLists.txt
R clang-tools-extra/pseudo/DesignNotes.md
R clang-tools-extra/pseudo/Disambiguation.md
R clang-tools-extra/pseudo/README.md
R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
R clang-tools-extra/pseudo/fuzzer/Main.cpp
R clang-tools-extra/pseudo/gen/CMakeLists.txt
R clang-tools-extra/pseudo/gen/Main.cpp
R clang-tools-extra/pseudo/include/CMakeLists.txt
R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
R clang-tools-extra/pseudo/lib/Bracket.cpp
R clang-tools-extra/pseudo/lib/CMakeLists.txt
R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
R clang-tools-extra/pseudo/lib/Disambiguate.cpp
R clang-tools-extra/pseudo/lib/Forest.cpp
R clang-tools-extra/pseudo/lib/GLR.cpp
R clang-tools-extra/pseudo/lib/Lex.cpp
R clang-tools-extra/pseudo/lib/Token.cpp
R clang-tools-extra/pseudo/lib/cli/CLI.cpp
R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
R clang-tools-extra/pseudo/test/.clang-format
R clang-tools-extra/pseudo/test/CMakeLists.txt
R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/check-cxx-bnf.test
R clang-tools-extra/pseudo/test/crash/backslashes.c
R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
R clang-tools-extra/pseudo/test/cxx/keyword.cpp
R clang-tools-extra/pseudo/test/cxx/literals.cpp
R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
R clang-tools-extra/pseudo/test/fuzzer.cpp
R clang-tools-extra/pseudo/test/glr-variant-start.cpp
R clang-tools-extra/pseudo/test/glr.cpp
R clang-tools-extra/pseudo/test/html-forest.c
R clang-tools-extra/pseudo/test/lex.c
R clang-tools-extra/pseudo/test/lit.cfg.py
R clang-tools-extra/pseudo/test/lit.local.cfg
R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/lr-build-basic.test
R clang-tools-extra/pseudo/test/lr-build-conflicts.test
R clang-tools-extra/pseudo/test/strip-directives.c
R clang-tools-extra/pseudo/tool/CMakeLists.txt
R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.css
R clang-tools-extra/pseudo/tool/HTMLForest.html
R clang-tools-extra/pseudo/tool/HTMLForest.js
R clang-tools-extra/pseudo/unittests/BracketTest.cpp
R clang-tools-extra/pseudo/unittests/CMakeLists.txt
R clang-tools-extra/pseudo/unittests/CXXTest.cpp
R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
R clang-tools-extra/pseudo/unittests/ForestTest.cpp
R clang-tools-extra/pseudo/unittests/GLRTest.cpp
R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
R clang-tools-extra/pseudo/unittests/TokenTest.cpp
M clang-tools-extra/test/CMakeLists.txt
R clang-tools-extra/test/clang-apply-replacements/ClangRenameClassReplacements.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
R clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics-c11.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-pointer-arithmetics.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/flp30-c.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/avoid-endl.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
M clang/docs/ClangFormattedStatus.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/examples/Attribute/CMakeLists.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtDataCollectors.td
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/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/AMDGPUTypes.def
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/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/PartialDiagnostic.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicExtent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Tooling/CompilationDatabase.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/DataCollection.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/StmtViz.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OperatorPrecedence.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/MacroPPCallbacks.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
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/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPUtility.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/MinGW.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTConsumers.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/altivec.h
M clang/lib/Headers/arm_acle.h
A clang/lib/Headers/avx10_2copyintrin.h
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
A clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/llvm_libc_wrappers/ctype.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/vecintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/lib/Lex/Lexer.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/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/DynamicExtent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/Tooling/CMakeLists.txt
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/lib/Tooling/Core/Replacement.cpp
A clang/lib/Tooling/LocateToolCompilationDatabase.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/test/AST/ByteCode/codegen.c
M clang/test/AST/ByteCode/cxx20.cpp
A clang/test/AST/ByteCode/extern.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/shifts.cpp
M clang/test/AST/ByteCode/weak.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
M clang/test/Analysis/NewDelete-atomics.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/NewDelete-intersections.mm
A clang/test/Analysis/cstring-uninitread-notes.c
M clang/test/Analysis/malloc-interprocedural.c
A clang/test/Analysis/malloc-refcounted.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream.c
A clang/test/Analysis/z3-unarysymexpr.c
A clang/test/C/C23/n3030.c
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
A clang/test/ClangScanDeps/resolve-executable-path.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma-types.c
A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64-error.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
A clang/test/CodeGen/X86/avx512copy-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/debug-info-codeview-buildinfo.c
M clang/test/CodeGen/ptrauth-init-fini.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/builtins/asfloat.hlsl
A clang/test/CodeGenHLSL/builtins/asuint.hlsl
A clang/test/CodeGenHLSL/builtins/countbits.hlsl
A clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
A clang/test/CodeGenHLSL/inline-constructors.hlsl
A clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
A clang/test/CodeGenHLSL/wavesize.hlsl
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/codegen-data.c
A clang/test/Driver/fmodules-embed-all-files.cpp
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/ps4-linker.c
M clang/test/Driver/ps4-ps5-header-search.c
M clang/test/Driver/ps4-sdk-root.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/ps5-sdk-root.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/x86-march.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Interpreter/multiline.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Modules/cxx20-10-3-ex1.cpp
A clang/test/Modules/pr108732.cppm
R clang/test/OpenMP/error_unsupport_feature.c
A clang/test/OpenMP/scope_codegen.cpp
A clang/test/PCH/race-condition.cpp
A clang/test/Parser/cxx-bad-cast-diagnose-broken-template.cpp
A clang/test/Parser/static_assert.cpp
M clang/test/ParserHLSL/group_shared.hlsl
M clang/test/ParserHLSL/group_shared_202x.hlsl
A clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
A clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/complex-arithmetic.c
A clang/test/Sema/countbits-errors.hlsl
M clang/test/Sema/ext_vector_casts.c
M clang/test/Sema/fixed-enum.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/weak-init.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
M clang/test/SemaHLSL/group_shared.hlsl
M clang/test/SemaHLSL/group_shared_202x.hlsl
M clang/test/SemaHLSL/prohibit_reference.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
A clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaOpenCL/unsupported.cl
M clang/test/SemaTemplate/GH18291.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/cwg2398.cpp
R clang/test/clang-rename/ClassAsTemplateArgument.cpp
R clang/test/clang-rename/ClassFindByName.cpp
R clang/test/clang-rename/ClassSimpleRenaming.cpp
R clang/test/clang-rename/ClassTestMulti.cpp
R clang/test/clang-rename/ClassTestMultiByName.cpp
R clang/test/clang-rename/ComplexFunctionOverride.cpp
R clang/test/clang-rename/ComplicatedClassType.cpp
R clang/test/clang-rename/Ctor.cpp
R clang/test/clang-rename/CtorInitializer.cpp
R clang/test/clang-rename/DeclRefExpr.cpp
R clang/test/clang-rename/ForceMulti.cpp
R clang/test/clang-rename/ForwardClassDecl.cpp
R clang/test/clang-rename/FunctionMacro.cpp
R clang/test/clang-rename/FunctionOverride.cpp
R clang/test/clang-rename/FunctionTemplate.cpp
R clang/test/clang-rename/FunctionWithClassFindByName.cpp
R clang/test/clang-rename/IncludeHeaderWithSymbol.cpp
R clang/test/clang-rename/Inputs/HeaderWithSymbol.h
R clang/test/clang-rename/Inputs/OffsetToNewName.yaml
R clang/test/clang-rename/Inputs/QualifiedNameToNewName.yaml
R clang/test/clang-rename/InvalidNewName.cpp
R clang/test/clang-rename/InvalidOffset.cpp
R clang/test/clang-rename/InvalidQualifiedName.cpp
R clang/test/clang-rename/MemberExprMacro.cpp
R clang/test/clang-rename/Namespace.cpp
R clang/test/clang-rename/NoNewName.cpp
R clang/test/clang-rename/NonExistFile.cpp
R clang/test/clang-rename/TemplateClassInstantiation.cpp
R clang/test/clang-rename/TemplateCtor.cpp
R clang/test/clang-rename/TemplateTypename.cpp
R clang/test/clang-rename/TemplatedClassFunction.cpp
R clang/test/clang-rename/Typedef.cpp
R clang/test/clang-rename/UserDefinedConversion.cpp
R clang/test/clang-rename/Variable.cpp
R clang/test/clang-rename/VariableMacro.cpp
R clang/test/clang-rename/VariableTemplate.cpp
R clang/test/clang-rename/YAMLInput.cpp
M clang/tools/CMakeLists.txt
M clang/tools/clang-refactor/ClangRefactor.cpp
R clang/tools/clang-rename/CMakeLists.txt
R clang/tools/clang-rename/ClangRename.cpp
R clang/tools/clang-rename/clang-rename.el
R clang/tools/clang-rename/clang-rename.py
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/include-mapping/gen_std.py
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/RawCommentForDeclTest.cpp
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/AST/TemplateNameTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestBase.h
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestProto.cpp
M clang/unittests/Format/FormatTestTextProto.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
R clang/unittests/Rename/CMakeLists.txt
R clang/unittests/Rename/ClangRenameTest.h
R clang/unittests/Rename/RenameAliasTest.cpp
R clang/unittests/Rename/RenameClassTest.cpp
R clang/unittests/Rename/RenameEnumTest.cpp
R clang/unittests/Rename/RenameFunctionTest.cpp
R clang/unittests/Rename/RenameMemberTest.cpp
M clang/unittests/StaticAnalyzer/RangeSetTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
M clang/unittests/Tooling/DiagnosticsYamlTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/TemplateArgumentLocTraverser.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/RewriterTestContext.h
M clang/utils/TableGen/ASTTableGen.cpp
M clang/utils/TableGen/ClangASTNodesEmitter.cpp
M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/ClangSACheckersEmitter.cpp
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
M clang/utils/TableGen/ClangTypeNodesEmitter.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/TableGenBackends.h
M clang/utils/check_cfc/obj_diff.py
M clang/utils/module-deps-to-rsp.py
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
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/fp_trunc.h
A compiler-rt/lib/builtins/truncxfbf2.c
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/dfsan/dfsan_thread.cpp
M compiler-rt/lib/hwasan/hwasan.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/lsan/lsan.cpp
M compiler-rt/lib/lsan/lsan_posix.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/nsan_thread.cpp
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/rtsan_flags.cpp
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_linux_test.cpp
M compiler-rt/lib/scudo/standalone/allocator_common.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/lib/ubsan/ubsan_init.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp
M compiler-rt/test/asan/TestCases/global-overflow.cpp
M compiler-rt/test/asan/TestCases/large_func_test.cpp
M compiler-rt/test/rtsan/basic.cpp
M compiler-rt/test/rtsan/lit.cfg.py
A compiler-rt/test/rtsan/sanity_check_pure_c.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
M compiler-rt/test/sanitizer_common/TestCases/dlsym_alloc.c
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/tsan/ignore_lib3.cpp
M flang/include/flang/Common/float128.h
A flang/include/flang/Common/float80.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Support/DataLayout.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
A flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
A flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/CUDA/descriptor.h
A flang/include/flang/Runtime/CUDA/memory.h
A flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.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/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Optimizer/Transforms/StackReclaim.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/lib/Semantics/expression.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/scope.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
A flang/runtime/CUDA/memory.cpp
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/acos.cpp
M flang/runtime/Float128Math/acosh.cpp
M flang/runtime/Float128Math/asin.cpp
M flang/runtime/Float128Math/asinh.cpp
M flang/runtime/Float128Math/atan.cpp
M flang/runtime/Float128Math/atan2.cpp
M flang/runtime/Float128Math/atanh.cpp
M flang/runtime/Float128Math/ceil.cpp
M flang/runtime/Float128Math/complex-math.c
M flang/runtime/Float128Math/complex-math.h
M flang/runtime/Float128Math/cos.cpp
M flang/runtime/Float128Math/cosh.cpp
M flang/runtime/Float128Math/erf.cpp
M flang/runtime/Float128Math/erfc.cpp
M flang/runtime/Float128Math/exp.cpp
M flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/floor.cpp
M flang/runtime/Float128Math/fma.cpp
M flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/hypot.cpp
M flang/runtime/Float128Math/j0.cpp
M flang/runtime/Float128Math/j1.cpp
M flang/runtime/Float128Math/jn.cpp
M flang/runtime/Float128Math/lgamma.cpp
M flang/runtime/Float128Math/llround.cpp
M flang/runtime/Float128Math/log.cpp
M flang/runtime/Float128Math/log10.cpp
M flang/runtime/Float128Math/lround.cpp
M flang/runtime/Float128Math/math-entries.h
M flang/runtime/Float128Math/mod-real.cpp
M flang/runtime/Float128Math/modulo-real.cpp
M flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/norm2.cpp
M flang/runtime/Float128Math/pow.cpp
M flang/runtime/Float128Math/random.cpp
M flang/runtime/Float128Math/round.cpp
M flang/runtime/Float128Math/rrspacing.cpp
M flang/runtime/Float128Math/scale.cpp
M flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/sin.cpp
M flang/runtime/Float128Math/sinh.cpp
M flang/runtime/Float128Math/spacing.cpp
M flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/Float128Math/tan.cpp
M flang/runtime/Float128Math/tanh.cpp
M flang/runtime/Float128Math/tgamma.cpp
M flang/runtime/Float128Math/trunc.cpp
M flang/runtime/Float128Math/y0.cpp
M flang/runtime/Float128Math/y1.cpp
M flang/runtime/Float128Math/yn.cpp
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/io-api.cpp
M flang/runtime/io-stmt.cpp
M flang/runtime/matmul-transpose.cpp
M flang/runtime/matmul.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/random.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
A flang/test/Driver/nostdlib.f90
M flang/test/Evaluate/fold-spacing.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90
A flang/test/Lower/HLFIR/ignore-type-f77-character.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/distribute-parallel-do.f90
M flang/test/Lower/OpenMP/parallel.f90
A flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/block.f90
M flang/test/Lower/call-suspect.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/implicit-call-mismatch.f90
M flang/test/Lower/io-write.f90
A flang/test/Semantics/OpenMP/bad_module_subroutine.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/ordered03.f90
A flang/test/Semantics/OpenMP/private-assoc.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/OpenMP/workshare02.f90
M flang/test/Semantics/call11.f90
M flang/test/Semantics/get_team.f90
A flang/test/Semantics/implicit16.f90
A flang/test/Semantics/modfile68.f90
M flang/test/Semantics/modproc01.f90
A flang/test/Transforms/debug-107988.fir
M flang/test/Transforms/debug-assumed-size-array.fir
M flang/test/Transforms/debug-fn-info.fir
M flang/test/Transforms/stack-arrays.fir
M flang/unittests/Evaluate/real.cpp
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Frontend/CompilerInstanceTest.cpp
A flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
M libc/benchmarks/MemorySizeDistributions.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/gpu/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/date_and_time.rst
M libc/docs/dev/printf_behavior.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/socklen_t.h
A libc/hdr/types/ssize_t.h
A libc/hdr/types/struct_msghdr.h
A libc/hdr/types/struct_sockaddr.h
A libc/hdr/types/wchar_t.h
A libc/hdr/types/wint_t.h
A libc/hdr/wchar_macros.h
A libc/hdr/wchar_overlay.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_iovec.h
A libc/include/llvm-libc-types/struct_msghdr.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/include/llvm-libc-types/wchar_t.h
M libc/include/llvm-libc-types/wint_t.h
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_gettime.h
M libc/src/__support/wctype_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/fmul.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter_atlas.h
M libc/src/stdio/printf_core/parser.h
A libc/src/stdio/printf_core/strerror_converter.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
M libc/src/sys/socket/linux/bind.cpp
A libc/src/sys/socket/linux/recv.cpp
A libc/src/sys/socket/linux/recvfrom.cpp
A libc/src/sys/socket/linux/recvmsg.cpp
A libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmsg.cpp
A libc/src/sys/socket/linux/sendto.cpp
A libc/src/sys/socket/linux/socketpair.cpp
A libc/src/sys/socket/recv.h
A libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/recvmsg.h
A libc/src/sys/socket/send.h
A libc/src/sys/socket/sendmsg.h
A libc/src/sys/socket/sendto.h
A libc/src/sys/socket/socketpair.h
M libc/src/time/CMakeLists.txt
A libc/src/time/ctime.cpp
A libc/src/time/ctime.h
A libc/src/time/ctime_r.cpp
A libc/src/time/ctime_r.h
M libc/src/time/time_utils.h
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/btowc.cpp
M libc/src/wchar/btowc.h
M libc/src/wchar/wctob.cpp
M libc/src/wchar/wctob.h
M libc/test/src/math/fmul_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/fmul_perf.cpp
M libc/test/src/math/smoke/fmul_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/send_recv_test.cpp
A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
A libc/test/src/sys/socket/linux/socketpair_test.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/ctime_r_test.cpp
A libc/test/src/time/ctime_test.cpp
M libc/test/src/wchar/btowc_test.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
M libcxx/docs/Contributing.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/UserDocumentation.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/count.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax_element.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_find_last.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__assert
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__chrono/day.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/month.h
M libcxx/include/__chrono/monthday.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__chrono/year.h
M libcxx/include/__chrono/year_month.h
M libcxx/include/__chrono/year_month_day.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__compare/ordering.h
M libcxx/include/__concepts/predicate.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__expected/expected.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/invoke.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/perfect_forward.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/unique_ptr.h
A libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__random/uniform_random_bit_generator.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/range_adaptor.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__split_buffer
M libcxx/include/__std_clang_module
M libcxx/include/__string/char_traits.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__type_traits/desugars_to.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/algorithm
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/istream
M libcxx/include/list
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/set
M libcxx/include/sstream
M libcxx/include/stdatomic.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/src/algorithm.cpp
M libcxx/src/atomic.cpp
M libcxx/src/include/config_elast.h
M libcxx/src/locale.cpp
M libcxx/src/support/ibm/mbsnrtowcs.cpp
M libcxx/src/support/ibm/wcsnrtombs.cpp
M libcxx/src/support/ibm/xlocale_zos.cpp
M libcxx/src/support/runtime/exception_fallback.ipp
M libcxx/src/support/runtime/exception_msvc.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
M libcxx/src/support/win32/support.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
M libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/test_data.json
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
R libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
M libcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/alignof.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/sizeof.compile.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/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.verify.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v1.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
M libcxx/test/std/atomics/stdatomic.h.syn/types.compile.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type.pass.cpp
M libcxx/test/std/containers/unord/unord.set/insert_node_type.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
M libcxx/test/std/depr/depr.c.headers/wchar_h.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.hash/error_code.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.hash/error_condition.pass.cpp
M libcxx/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_arith_operators.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_bitwise_operators.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible_propagate_const.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.move_ctor.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/move_ctor.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/equal_to.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater_equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less_equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/not_equal_to.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/equal.pass.cpp
M libcxx/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/not_equal.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/sfinae.compile.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp
M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/assign.pass.cpp
M libcxx/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/construct.pass.cpp
M libcxx/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
M libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/numerics/rand/rand.adapt/rand.adapt.disc/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval_param.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.sub/result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
M libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/types.pass.cpp
M libcxx/test/std/strings/c.strings/cwchar.pass.cpp
M libcxx/test/std/strings/c.strings/cwchar_include_order1.compile.verify.cpp
M libcxx/test/std/strings/c.strings/cwchar_include_order2.compile.verify.cpp
M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.md/time.cal.md.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mdlast/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mdlast/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/weekday_indexed.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/weekday_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/index.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.year_month_day_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/day.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month_day_last.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/index.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday_indexed.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ok.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_local_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_sys_days.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/weekday.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/year.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/types.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.zonedtraits/const_time_zone_default_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/const_time_zone_locate_zone.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.msvc/test.hpp
M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.pass.cpp
M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_to.locale.pass.cpp
M libcxx/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp
M libcxx/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp
M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp
M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/is_placeholder.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.types/difference_type.compile.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_unbounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/default_type.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater_equal/cmp_greater_equal.pass.cpp
M libcxx/test/support/format.functions.common.h
M libcxx/test/support/hexfloat.h
M libcxx/test/support/operator_hijacker.h
M libcxx/test/support/test.workarounds/c1xx_broken_za_ctor_check.pass.cpp
M libcxx/test/support/test_convertible.h
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/synchronize_csv_status_files.py
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MapFile.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SPARCV9.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/MachO/CMakeLists.txt
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.h
M lld/MachO/Options.td
M lld/include/lld/Common/CommonLinkerContext.h
M lld/test/CMakeLists.txt
M lld/test/COFF/Inputs/loadconfig-arm64ec.s
M lld/test/COFF/arm64ec-import.test
A lld/test/COFF/export-imp.test
A lld/test/COFF/import_weak_alias.test
M lld/test/ELF/hexagon-eflag.s
M lld/test/ELF/icf10.s
M lld/test/ELF/partitions.s
A lld/test/MachO/cgdata-generate.s
M lld/test/lit.cfg.py
A lld/test/wasm/unsupported-pic-relocations.s
A lld/test/wasm/unsupported-pic-relocations64.s
M lld/wasm/OutputSections.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/docs/resources/sbapi.rst
M lldb/docs/use/python-reference.rst
M lldb/examples/python/cmdtemplate.py
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/examples/synthetic/libcxx.py
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Utility/Instrumentation.h
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/Utility/Status.h
R lldb/packages/Python/lldbsuite/test/bench.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Commands/CommandObjectRegexCommand.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/Log.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/Utility/Status.cpp
R lldb/test/API/benchmarks/continue/Makefile
R lldb/test/API/benchmarks/continue/TestBenchmarkContinue.py
R lldb/test/API/benchmarks/continue/main.cpp
R lldb/test/API/benchmarks/expression/Makefile
R lldb/test/API/benchmarks/expression/TestExpressionCmd.py
R lldb/test/API/benchmarks/expression/TestRepeatedExprs.py
R lldb/test/API/benchmarks/expression/main.cpp
R lldb/test/API/benchmarks/frame_variable/TestFrameVariableResponse.py
R lldb/test/API/benchmarks/libcxxlist/Makefile
R lldb/test/API/benchmarks/libcxxlist/TestBenchmarkLibcxxList.py
R lldb/test/API/benchmarks/libcxxlist/main.cpp
R lldb/test/API/benchmarks/libcxxmap/Makefile
R lldb/test/API/benchmarks/libcxxmap/TestBenchmarkLibcxxMap.py
R lldb/test/API/benchmarks/libcxxmap/main.cpp
R lldb/test/API/benchmarks/startup/TestStartupDelays.py
R lldb/test/API/benchmarks/stepping/TestSteppingSpeed.py
R lldb/test/API/benchmarks/turnaround/TestCompileRunToBreakpointTurnaround.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/main.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
A lldb/test/API/lang/cpp/fpnan/Makefile
A lldb/test/API/lang/cpp/fpnan/TestFPNaN.py
A lldb/test/API/lang/cpp/fpnan/main.cpp
A lldb/test/API/lang/cpp/no_unique_address/Makefile
A lldb/test/API/lang/cpp/no_unique_address/TestNoUniqueAddress.py
A lldb/test/API/lang/cpp/no_unique_address/main.cpp
A lldb/test/API/tools/lldb-dap/locations/Makefile
A lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
A lldb/test/API/tools/lldb-dap/locations/main.c
A lldb/test/API/tools/lldb-dap/memory/Makefile
A lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
A lldb/test/API/tools/lldb-dap/memory/main.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback-user-leaf.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-max-depth.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-nested.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback-user-leaf.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-nested.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl.test
M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
M lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
M lldb/tools/debugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-instr/Instrument.cpp
M lldb/tools/lldb-server/LLDBServerUtilities.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
M lldb/unittests/Symbol/PostfixExpressionTest.cpp
M lldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
M lldb/unittests/Utility/StatusTest.cpp
M llvm/RELEASE_TESTERS.TXT
M llvm/cmake/config-ix.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodeReview.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/HowToReleaseLLVM.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/examples/IRTransforms/SimplifyCFG.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/TinyPtrVector.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
A llvm/include/llvm/CodeGen/MachineLICM.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/GlobPattern.h
A llvm/include/llvm/Support/OptionStrCmp.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/raw_ostream.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
R llvm/include/llvm/Transforms/Instrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
M llvm/include/llvm/Transforms/Instrumentation/GCOVProfiler.h
M llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
A llvm/include/llvm/Transforms/Utils/Instrumentation.h
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Region.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
A llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
M llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
M llvm/lib/Object/BuildID.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Option/Option.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/FormatVariadic.cpp
A llvm/lib/Support/OptionStrCmp.cpp
M llvm/lib/Support/YAMLParser.cpp
M llvm/lib/TableGen/Parser.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
A llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/R600Subtarget.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXIL.td
A llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCombine.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
A llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrMMX.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrVecCompiler.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86ReplaceableInstrs.def
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86SchedSandyBridge.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86SchedSkylakeClient.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
M llvm/lib/Target/X86/X86ScheduleBdVer2.td
M llvm/lib/Target/X86/X86ScheduleBtVer2.td
M llvm/lib/Target/X86/X86ScheduleZnver1.td
M llvm/lib/Target/X86/X86ScheduleZnver2.td
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86TileConfig.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
A llvm/lib/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.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/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Instrumentation/InstrOrderFile.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
R llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/lib/Transforms/Utils/Instrumentation.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Region.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
A llvm/test/Analysis/CostModel/AArch64/extract_float.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/abs.ll
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
M llvm/test/Analysis/CostModel/RISCV/fp-trig-log-exp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/CostModel/RISCV/int-bit-manip.ll
M llvm/test/Analysis/CostModel/RISCV/int-min-max.ll
M llvm/test/Analysis/CostModel/RISCV/int-sat-math.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-transpose.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
A llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
R llvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/AArch64/GlobalISel/combine-cannonicalize-fcmp.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-icmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
A llvm/test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/arm64-fp128.ll
M llvm/test/CodeGen/AArch64/arm64-ld-from-st.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/arm64_32.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/bitfield-extract.ll
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/cpus.ll
A llvm/test/CodeGen/AArch64/ctlo.ll
M llvm/test/CodeGen/AArch64/expand-select.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/fast-isel-int-ext3.ll
M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/icmp.ll
A llvm/test/CodeGen/AArch64/init-undef.mir
M llvm/test/CodeGen/AArch64/load-insert-undef.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/ptrauth-call.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/sme-machine-licm-vg.mir
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
A llvm/test/CodeGen/AArch64/sve-scmp.ll
A llvm/test/CodeGen/AArch64/sve-ucmp.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
A llvm/test/CodeGen/AArch64/vararg.ll
A llvm/test/CodeGen/AArch64/vecreduce-bitext.ll
M llvm/test/CodeGen/AArch64/xbfiz.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-sdag-emitcopyfromreg.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
M llvm/test/CodeGen/AMDGPU/licm-valu.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/machinelicm-convergent.mir
M llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
M llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-i1.ll
M llvm/test/CodeGen/AMDGPU/select-vectors.ll
M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
A llvm/test/CodeGen/AMDGPU/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
A llvm/test/CodeGen/DirectX/countbits.ll
M llvm/test/CodeGen/DirectX/frac.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/reversebits.ll
M llvm/test/CodeGen/DirectX/rsqrt.ll
A llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
A llvm/test/CodeGen/Hexagon/autohvx/addi-opt-predicated-def-bug.ll
M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
A llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
M llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll
A llvm/test/CodeGen/Mips/xor-and.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
A llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
A llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessNoProfileData.mir
M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir
M llvm/test/CodeGen/PowerPC/machinelicm-cse-dead-flag.mir
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
A llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
A llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/gisel-commandline-option.ll
M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/splat_vector.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-ceil-floor.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-zfa.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/frint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ftrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfclass-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt-no-prop.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchUnreachable.ll
M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
R llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
M llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
R llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.cond-op.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.do.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.const-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.for.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.if.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-and.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.logical-or.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.early.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.return.void.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.literal.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.simple.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.break.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
A llvm/test/CodeGen/SPIRV/structurizer/condition-linear.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-break.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-continue.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-nested.ll
A llvm/test/CodeGen/SPIRV/structurizer/do-plain.ll
A llvm/test/CodeGen/SPIRV/structurizer/logical-or.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
A llvm/test/CodeGen/SPIRV/structurizer/return-early.ll
A llvm/test/CodeGen/SystemZ/args-14.ll
A llvm/test/CodeGen/SystemZ/args-15.ll
A llvm/test/CodeGen/SystemZ/args-16.ll
A llvm/test/CodeGen/SystemZ/args-17.ll
A llvm/test/CodeGen/SystemZ/args-18.ll
A llvm/test/CodeGen/SystemZ/args-19.ll
A llvm/test/CodeGen/SystemZ/args-20.ll
A llvm/test/CodeGen/SystemZ/args-21.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
A llvm/test/CodeGen/Thumb2/mve-scmp.ll
A llvm/test/CodeGen/Thumb2/mve-ucmp.ll
M llvm/test/CodeGen/Thumb2/pr52817.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec512.mir
M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec256.mir
M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec512.mir
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
A llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
M llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/comi-flags.ll
M llvm/test/CodeGen/X86/cpus-amd.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/domain-reassignment.mir
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/fsafdo_test1.ll
M llvm/test/CodeGen/X86/fsafdo_test4.ll
M llvm/test/CodeGen/X86/machine-licm-vs-wineh.mir
M llvm/test/CodeGen/X86/masked_compressstore_isel.ll
M llvm/test/CodeGen/X86/masked_expandload_isel.ll
M llvm/test/CodeGen/X86/opt_phis2.mir
A llvm/test/CodeGen/X86/pr108728.ll
M llvm/test/CodeGen/X86/pr29222.ll
M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
M llvm/test/CodeGen/X86/rdpru.ll
M llvm/test/CodeGen/X86/shuffle-as-shifts.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
M llvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilps-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckps-avx512.ll
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
A llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-fast-per-lane.ll
M llvm/test/CodeGen/X86/vmaskmov-offset.ll
M llvm/test/CodeGen/X86/vpdpwssd.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
A llvm/test/CodeGen/Xtensa/frameaddr-returnaddr.ll
M llvm/test/DebugInfo/COFF/build-info.ll
M llvm/test/DebugInfo/COFF/global-type-hashes.ll
M llvm/test/DebugInfo/COFF/types-basic.ll
M llvm/test/DebugInfo/COFF/types-data-members.ll
M llvm/test/DebugInfo/MIR/X86/empty-inline.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
M llvm/test/DebugInfo/X86/discriminator.ll
M llvm/test/DebugInfo/X86/empty-line-info.ll
R llvm/test/DebugInfo/X86/is_stmt-at-block-start.ll
A llvm/test/Demangle/ms-placeholder-return-type.test
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
A llvm/test/Instrumentation/sanitizers-naked.ll
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-com-ef-64.txt
A llvm/test/MC/Disassembler/X86/avx10.2-copy-32.txt
A llvm/test/MC/Disassembler/X86/avx10.2-copy-64.txt
A llvm/test/MC/ELF/debug-loc-label.s
M llvm/test/MC/WebAssembly/annotations.s
M llvm/test/MC/WebAssembly/basic-assembly-errors.s
M llvm/test/MC/WebAssembly/basic-assembly.s
A llvm/test/MC/WebAssembly/eh-assembly-legacy.s
A llvm/test/MC/WebAssembly/eh-assembly.s
M llvm/test/MC/WebAssembly/func-end-errors.s
M llvm/test/MC/WebAssembly/funcref-from-table.s
M llvm/test/MC/WebAssembly/type-checker-br.s
A llvm/test/MC/X86/avx10.2-com-ef-32-att.s
A llvm/test/MC/X86/avx10.2-com-ef-32-intel.s
A llvm/test/MC/X86/avx10.2-com-ef-64-att.s
A llvm/test/MC/X86/avx10.2-com-ef-64-intel.s
A llvm/test/MC/X86/avx10.2-copy-32-att.s
A llvm/test/MC/X86/avx10.2-copy-32-intel.s
A llvm/test/MC/X86/avx10.2-copy-64-att.s
A llvm/test/MC/X86/avx10.2-copy-64-intel.s
M llvm/test/MC/X86/x86_long_nop.s
A llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
M llvm/test/MachineVerifier/test_g_extract_subvector.mir
M llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/test/TableGen/GlobalISelEmitter.td
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
A llvm/test/TableGen/intrinsic-duplicate-name.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/ctxprof.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/CorrelatedValuePropagation/add.ll
M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
M llvm/test/Transforms/CorrelatedValuePropagation/cond-using-block-value.ll
M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
A llvm/test/Transforms/EarlyCSE/materialize-align-assumptions.ll
M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/bitcast.ll
M llvm/test/Transforms/InstCombine/fmod.ll
A llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
M llvm/test/Transforms/InstCombine/icmp-shl-nuw.ll
A llvm/test/Transforms/InstCombine/phi-with-multiple-unsimplifiable-values.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/LICM/hoist-deref-load.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
M llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-addrec-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
A llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr36983.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
A llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/vector-freeze.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
M llvm/test/Transforms/SCCP/ip-constant-ranges.ll
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
M llvm/test/Transforms/SCCP/ip-ranges-phis.ll
M llvm/test/Transforms/SCCP/ip-ranges-select.ll
M llvm/test/Transforms/SCCP/musttail-call.ll
M llvm/test/Transforms/SCCP/pointer-nonnull.ll
M llvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll
M llvm/test/Transforms/SCCP/switch.ll
A llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-user-not-min.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr63668.ll
A llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
A llvm/test/Transforms/SLPVectorizer/X86/trunc-node-reused.ll
A llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
A llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
A llvm/test/Transforms/SimplifyCFG/patchpoint-invalid-sink.ll
M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll
A llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
M llvm/test/Transforms/Util/assume-builder.ll
M llvm/test/Transforms/VectorCombine/AArch64/shrink-types.ll
A llvm/test/Verifier/AMDGPU/intrinsic-prefetch.ll
M llvm/test/Verifier/intrinsic-immarg.ll
A llvm/test/Verifier/rtsan-attrs.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-ALU.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_D.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-FPALU_S.s
A llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR7-LSU.s
A llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
M llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
M llvm/test/tools/llvm-ml/rip_relative_addressing.asm
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/tools/dsymutil/MachODebugMapParser.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-cat/llvm-cat.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.h
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/spirv-tools/CMakeLists.txt
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/APSIntTest.cpp
M llvm/unittests/ADT/Interleave.cpp
M llvm/unittests/ADT/RewriteBufferTest.cpp
M llvm/unittests/ADT/StringExtrasTest.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/CFGTest.cpp
M llvm/unittests/Analysis/CtxProfAnalysisTest.cpp
M llvm/unittests/Analysis/DXILResourceTest.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/Analysis/VectorUtilsTest.cpp
M llvm/unittests/Bitcode/BitReaderTest.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
M llvm/unittests/IR/AsmWriterTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/ManglerTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/IR/ModuleSummaryIndexTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/InterfaceStub/ELFYAMLTest.cpp
M llvm/unittests/MC/MCInstPrinter.cpp
M llvm/unittests/MIR/MachineMetadata.cpp
M llvm/unittests/Object/SymbolicFileTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
M llvm/unittests/Support/ARMAttributeParser.cpp
M llvm/unittests/Support/CSKYAttributeParserTest.cpp
M llvm/unittests/Support/Chrono.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/CrashRecoveryTest.cpp
M llvm/unittests/Support/DivisionByConstantTest.cpp
M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
M llvm/unittests/Support/ErrorTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/JSONTest.cpp
M llvm/unittests/Support/LEB128Test.cpp
M llvm/unittests/Support/ModRefTest.cpp
M llvm/unittests/Support/NativeFormatTests.cpp
M llvm/unittests/Support/RISCVAttributeParserTest.cpp
M llvm/unittests/Support/ScopedPrinterTest.cpp
M llvm/unittests/Support/SourceMgrTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/unittests/Support/WithColorTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/Support/raw_ostream_test.cpp
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Coroutines/ExtraRematTest.cpp
M llvm/unittests/Transforms/Instrumentation/PGOInstrumentationTest.cpp
M llvm/unittests/Transforms/Utils/MemTransferLowering.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
M llvm/unittests/XRay/FDRRecordPrinterTest.cpp
M llvm/unittests/XRay/FDRRecordsTest.cpp
M llvm/unittests/XRay/FDRTraceWriterTest.cpp
M llvm/unittests/tools/llvm-exegesis/ProgressMeterTest.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.h
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.h
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/OptEmitter.cpp
M llvm/utils/TableGen/Common/OptEmitter.h
M llvm/utils/TableGen/Common/PredicateExpander.cpp
M llvm/utils/TableGen/Common/PredicateExpander.h
M llvm/utils/TableGen/Common/Utils.cpp
M llvm/utils/TableGen/Common/Utils.h
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
M llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
Merge branch 'main' into users/vhscampos/smallset-simplify
Compare: https://github.com/llvm/llvm-project/compare/3d83c5456c35...0b48b3b939b9
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