[all-commits] [llvm/llvm-project] 82912f: [libclc] Update license headers (#132070)
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Fri Mar 21 10:36:22 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slpnfc-redesign-schedule-bundle-separate-from-schedule-data-nfc
Home: https://github.com/llvm/llvm-project
Commit: 82912fd6200b4f99d3f1b42dc6c08af27c1cba4f
https://github.com/llvm/llvm-project/commit/82912fd6200b4f99d3f1b42dc6c08af27c1cba4f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libclc/clc/include/clc/math/clc_subnormal_config.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_bitselect.inc
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/common/clc_degrees.cl
M libclc/clc/lib/generic/common/clc_radians.cl
M libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/generic/math/clc_frexp.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/math/clc_hypot.inc
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_log_base.h
M libclc/clc/lib/generic/math/clc_modf.cl
M libclc/clc/lib/generic/math/clc_modf.inc
M libclc/clc/lib/generic/math/clc_rsqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.inc
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_bitselect.inc
M libclc/clspv/lib/subnormal_config.cl
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/degrees.inc
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/radians.inc
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/smoothstep.inc
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/common/step.inc
M libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/fast_distance.h
M libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
M libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
M libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/fract.h
M libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/ldexp.h
M libclc/generic/include/clc/math/ldexp.inc
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/modf.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/bitselect.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/geometric/distance.cl
M libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
M libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/geometric/normalize.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/fract.cl
M libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/ldexp.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
M libclc/generic/lib/subnormal_config.cl
M libclc/spirv/lib/subnormal_config.cl
Log Message:
-----------
[libclc] Update license headers (#132070)
This commit bulk-updates the libclc license headers to the current
Apache-2.0 WITH LLVM-exception license in situations where they were
previously attributed to AMD - and occasionally under an additional
single individual contributor - under an MIT license.
AMD signed the LLVM relicensing agreement and so agreed for their past
contributions under the new LLVM license.
The LLVM project also has had a long-standing, unwritten, policy of not
adding copyright notices to source code. This policy was recently
written up [1]. This commit therefore also removes these copyright
notices at the same time.
Note that there are outstanding copyright notices attributed to others -
and many files missing copyright headers - which will be dealt with in
future work.
[1]
https://llvm.org/docs/DeveloperPolicy.html#embedded-copyright-or-contributed-by-statements
Commit: 68180d8d16f07db8200dfce7bae26a80c43ebc5e
https://github.com/llvm/llvm-project/commit/68180d8d16f07db8200dfce7bae26a80c43ebc5e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Semantics/OpenMP/depobj-construct-v50.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in standalone directives (#131163)
This uses OmpDirectiveSpecification in the rest of the standalone
directives.
Commit: 8c6f309023a9c5b6d8488e89ed0be8da7d117a68
https://github.com/llvm/llvm-project/commit/8c6f309023a9c5b6d8488e89ed0be8da7d117a68
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/Preprocessor/embed_constexpr.c
Log Message:
-----------
[clang] Introduce "binary" StringLiteral for #embed data (#127629)
StringLiteral is used as internal data of EmbedExpr and we directly use
it as an initializer if a single EmbedExpr appears in the initializer
list of a char array. It is fast and convenient, but it is causing
problems when string literal character values are checked because #embed
data values are within a range [0-2^(char width)] but ordinary
StringLiteral is of maybe signed char type.
This PR introduces new kind of StringLiteral to hold binary data coming
from an embedded resource to mitigate these problems. The new kind of
StringLiteral is not assumed to have signed char type. The new kind of
StringLiteral also helps to prevent crashes when trying to find
StringLiteral token locations since these simply do not exist for binary
data.
Fixes https://github.com/llvm/llvm-project/issues/119256
Commit: c65fa9163e47af5e86b2a187dd45ae665cf5a996
https://github.com/llvm/llvm-project/commit/c65fa9163e47af5e86b2a187dd45ae665cf5a996
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/C/C23/n2819.c
M clang/www/c_status.html
Log Message:
-----------
[C23] Fix compound literals within function prototype (#132097)
WG14 N2819 clarified that a compound literal within a function prototype
has a lifetime similar to that of a local variable within the function,
not a file scope variable.
Commit: a5d4b50f936628209ca0c53249f28bc212c138c0
https://github.com/llvm/llvm-project/commit/a5d4b50f936628209ca0c53249f28bc212c138c0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Change the inner loop and outer loop of appendOperandsOfVL. (#132152)
Commit: 9dc854ccbd3d29c8dcf6b81b691724c9fc4bfc6c
https://github.com/llvm/llvm-project/commit/9dc854ccbd3d29c8dcf6b81b691724c9fc4bfc6c
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
Log Message:
-----------
[libc++] Improve test coverage for copy/move ctors for vector<bool> (#120132)
The current tests for `vector<bool>` fail to adequately cover realistic
scenarios, as they are limited to cases of up to 3 bytes, representing
less than 1/2 of a word size on a 64-bit system. However, most
`vector<bool>` operations rely on code paths triggered only when
handling multiple storage words (8 bytes each). To address this gap,
this PR rewrites the tests for copy and move constructors, as well as
allocator-extended copy and move constructors, ensuring that previously
untested code paths are now thoroughly validated.
Commit: 7dc550473c5239399707804c9466519d165aa7fd
https://github.com/llvm/llvm-project/commit/7dc550473c5239399707804c9466519d165aa7fd
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir
Log Message:
-----------
[LLVM][CodeGen][AArch64] Improve PTEST removal by looking through copies. (#132041)
The general predicates of the PTEST and PTEST_like instructions may
belong to different register classes. This can lead to the insertion of
a COPY instruction, making them appear different. However, for the
purpose of PTEST removal, such copies are irrelevant, and we can look
through them to improve the likelihood of finding a match.
Commit: 1a2539ec929f01c33c1c667cc8f21064d61526e7
https://github.com/llvm/llvm-project/commit/1a2539ec929f01c33c1c667cc8f21064d61526e7
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir:bufferization] Make `LayoutMapOption` CL args enums. (#132121)
This PR changes the type of the command-line arguments representing
`LayoutMapOption` from `std::string` to the enum with the same name.
This allows for checking the values of programmable usages of the
corresponding options at compile time.
Commit: 73558dc329ee44465672fc492ec8dcee8afad2fa
https://github.com/llvm/llvm-project/commit/73558dc329ee44465672fc492ec8dcee8afad2fa
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getStoreMinimumVF.ll
Log Message:
-----------
[SLP][REVEC] Fix getStoreMinimumVF only accept scalar types. (#132181)
Fix "Element type of a VectorType must " "be an integer, floating point,
or " "pointer type.".
Commit: 345748e02722ce81ecd11beac18121b23325b853
https://github.com/llvm/llvm-project/commit/345748e02722ce81ecd11beac18121b23325b853
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDescriptor] Explicitly check for isMinMaxRecurrenceKind in getReductionOpChain. NFC (#132025)
There are other types of recurrences with an icmp/fcmp opcode, AnyOf and
FindLastIV, so don't rely on the opcode to detect them.
This makes adding support for AnyOf in #131830 easier.
Note that these currently fail the ExpectedUses/isCorrectOpcode checks
anyway, so there shouldn't be any functional change.
Commit: cb1e91c18dd20f6b2d1c38ce93befab87f77ce0f
https://github.com/llvm/llvm-project/commit/cb1e91c18dd20f6b2d1c38ce93befab87f77ce0f
Author: Wenju He <wenju.he at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] add --only-needed to llvm-link when INTERNALIZE flag is set (#130871)
When -internalize flag is passed to llvm-link, we only need to link in
needed symbols. This PR reduces size of linked bitcode, e.g. by removing
following symbols:
_Z12__clc_sw_fmaDv16_fS_S_
_Z12__clc_sw_fmaDv2_fS_S_
_Z12__clc_sw_fmaDv3_fS_S_
_Z12__clc_sw_fmaDv4_fS_S_
_Z12__clc_sw_fmaDv8_fS_S_
_Z12__clc_sw_fmafff
Commit: 9b1f905b483a2b42e4681bbef42b2641f8ccf5ad
https://github.com/llvm/llvm-project/commit/9b1f905b483a2b42e4681bbef42b2641f8ccf5ad
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[clang] improve class type sugar preservation in pointers to members (#130537)
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntactically, and it
also represents the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements, and removing some duplications, for example
CheckBaseClassAccess is deduplicated from across SemaAccess and
SemaCast.
Commit: e6a87da8fe314a009eed769f9737b4b281a06fba
https://github.com/llvm/llvm-project/commit/e6a87da8fe314a009eed769f9737b4b281a06fba
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[CodeGen] Don't explicitly set intrinsic attributes (NFCI)
The intrinsic attributes are automatically set when the function
is created, there is no need to assign them explicitly.
Commit: 6cd62ad08c974b7d4f7171c66f6567de82bd236f
https://github.com/llvm/llvm-project/commit/6cd62ad08c974b7d4f7171c66f6567de82bd236f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Revert "[clang] improve class type sugar preservation in pointers to members" (#132215)
Reverts llvm/llvm-project#130537
This missed updating lldb, which we didn't notice due to lack of
pre-commit CI.
Commit: 97213b39edea06f78b76d4baf299c0ffa323a9d6
https://github.com/llvm/llvm-project/commit/97213b39edea06f78b76d4baf299c0ffa323a9d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
[MC] Return MCRegister from MCRegisterClass::getRegister. NFC (#132126)
Replace unsigned with MCRegister at some of the call sites.
Commit: 55d3a55cc14d77db1c5d254aeb925b2340b11f91
https://github.com/llvm/llvm-project/commit/55d3a55cc14d77db1c5d254aeb925b2340b11f91
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen]disable true16 on fneg test (#132221)
This is a NFC change.
Revert the failed test case in
https://github.com/llvm/llvm-project/pull/131206
Commit: ff3341ca35fe4ce05b52e89d654ff4c696d3602e
https://github.com/llvm/llvm-project/commit/ff3341ca35fe4ce05b52e89d654ff4c696d3602e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
Log Message:
-----------
[MLIR][OpenMP] Simplify OpenMP to LLVM dialect conversion (#132009)
This patch makes a few changes to unify the conversion process from the
'omp' to the 'llvm' dialect. The main goal of this change is to
consolidate the logic used to identify legal and illegal ops, and to
consolidate the conversion logic into a single class.
Changes introduced are the following:
- Removal of `getNumVariableOperands()` and `getVariableOperand()` extra
class declarations from OpenMP operations. These are redundant, as they
are equivalent to `mlir::Operation::getNumOperands()` and
`mlir::Operation::getOperands()`, respectively.
- Consolidation of `RegionOpConversion`,
`RegionLessOpWithVarOperandsConversion`,
`RegionOpWithVarOperandsConversion`, `RegionLessOpConversion`,
`AtomicReadOpConversion`, `MapInfoOpConversion`,
`DeclMapperOpConversion` and `MultiRegionOpConversion` into a single
`OpenMPOpConversion` class. This is possible because all of the previous
were doing parts of the same set of operations based on whether they
defined any regions, whether they took operands, type attributes, etc.
- Update of `mlir::configureOpenMPToLLVMConversionLegality` to use a
single generic set of checks for all operations, removing the need to
list every operation manually.
- Update of `mlir::populateOpenMPToLLVMConversionPatterns` to
automatically populate the list of patterns to include all dialect operations.
Commit: fdeb2ff30407afbfc3596aaf417a2a91cdff20c9
https://github.com/llvm/llvm-project/commit/fdeb2ff30407afbfc3596aaf417a2a91cdff20c9
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
Log Message:
-----------
[lldb] Fix prologue size calculation for discontinuous functions (#131597)
When searching for the end of prologue, I'm only iterating through the
address range (~basic block) which contains the function entry point.
The reason for that is that even if some other range somehow contained
the end-of-prologue marker, the fact that it's in a different range
would imply it's reachable through some form of control flow, and that's
usually not a good place to set an function entry breakpoint.
Commit: 3b3f8c50b646600dc1846c7d3d018fdb39fbfe0b
https://github.com/llvm/llvm-project/commit/3b3f8c50b646600dc1846c7d3d018fdb39fbfe0b
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
Log Message:
-----------
[asan] Re-exec without ASLR if needed on 32-bit Linux (#131975)
High-entropy ASLR allows up to 16-bits of entropy (2**16 4KB pages ==
256MB; a bit more in practice because of implementation details), which
is a significant chunk of the user address space on 32-bit systems (4GB
or less). This, combined with ASan's shadow (512MB) and ASan's fixed
shadow offset (512MB), makes it possible for large binaries to fail to
map the shadow.
This patch changes ASan to do a one-time re-exec without ASLR if it
cannot map the shadow, thus reclaiming the ~256MB of address space.
Alternatives considered:
1) We don't lower ASan's fixed shadow offset, because that would limit
non-PIE binaries.
2) We don't switch to a dynamic shadow offset, because ASan for 32-bit
Linux relies on the compile-time constant offset to optimize its
instrumentation and compiler-rt.
This is loosely inspired by
https://github.com/llvm/llvm-project/pull/78351,
https://github.com/llvm/llvm-project/pull/85142, and
https://github.com/llvm/llvm-project/pull/85674, though those were
required because there were no static shadow mappings that could fully
shadow the range of user mappings; this is not the case for ASan.
Commit: 7063419460d1e8cef9017aa51a61fb95669cf85f
https://github.com/llvm/llvm-project/commit/7063419460d1e8cef9017aa51a61fb95669cf85f
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/dirent.yaml
Log Message:
-----------
[libc][docs] Add dirent implementation status doc and include in CMakeLists (#132151)
These changes tracks `dirent.h` for the implementation status of
functions and macros, with respect to the issue (
https://github.com/llvm/llvm-project/issues/122006 ).
Commit: 392b8f3e6353a1bcb980b73491a26cd5d04020bd
https://github.com/llvm/llvm-project/commit/392b8f3e6353a1bcb980b73491a26cd5d04020bd
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang] Handle Binary StingLiteral kind in one more place (#132201)
The bots are upset by https://github.com/llvm/llvm-project/pull/127629 .
Fix that.
Commit: cebc4a167c518d83bb95fddd1c0dd6eebed3d505
https://github.com/llvm/llvm-project/commit/cebc4a167c518d83bb95fddd1c0dd6eebed3d505
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Lex/HeaderMap.cpp
Log Message:
-----------
[Lex][Clang] Add checking to HeaderMapImpl::getString to make it more robust (#131677)
Static analysis identified the Len - 1 expression in
HeaderMapImpl::getString as problematic if Len is zero. After filing
this issue:
https://github.com/llvm/llvm-project/issues/130185
Indeed we should be checking MaxLen and verify it is not zero as well.
Fixes: https://github.com/llvm/llvm-project/issues/130185
Commit: eb77061a428c28e9297c7a35cdbe568811025b2b
https://github.com/llvm/llvm-project/commit/eb77061a428c28e9297c7a35cdbe568811025b2b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvqdotq-invalid.s
A llvm/test/MC/RISCV/rvv/zvqdotq.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add assembler support for Zvqdotq. (#132118)
Based on the 0.0.1 spec here
https://github.com/riscv/riscv-dot-product/releases/tag/v0.0.1
Commit: b231f6f86237fc1a15377b4aad6cf9be4808d727
https://github.com/llvm/llvm-project/commit/b231f6f86237fc1a15377b4aad6cf9be4808d727
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-nullary-record-ptr-member-map.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve omp.map.info verification (#132066)
This patch makes the `map_type` and `map_capture_type` arguments of the
`omp.map.info` operation required, which was already an invariant being
verified by its users via `verifyMapClause()`. This makes it clearer, as
getters no longer return misleading `std::optional` values.
Checks for the `mapper_id` argument are moved to a verifier for the
operation, rather than being checked by users.
Functionally NFC, but not marked as such due to a reordering of
arguments in the assembly format of `omp.map.info`.
Commit: 03ceb26b55b855c64385c52020846eaa86dd278b
https://github.com/llvm/llvm-project/commit/03ceb26b55b855c64385c52020846eaa86dd278b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
Log Message:
-----------
[RISCV] Fix incorrect slide offset when using vnsrl to de-interleave (#132123)
Given this shuffle:
```
shufflevector <8 x i8> %0, <8 x i8> %1, <8 x i32> <i32 0, i32 4, i32 8, i32 12, i32 undef, i32 undef, i32 undef, i32 undef>
```
#127272 lowers it with a bunch of vnsrl. If we describe the result in
terms of the shuffle mask, we expect:
```
<0, 4, 8, 12, u, u, u, u>
```
but we actually got:
```
<0, 4, u, u, 8, 12, u, u>
```
for factor larger than 2. This is caused by `CONCAT_VECTORS` on
incorrect (sub) vector types. This patch fixes the said issue by
building an aggregate vector with the correct sub vector types.
Fix #132071
Commit: 7c1f473524abe4d85af9ea390d3516848c9ba31e
https://github.com/llvm/llvm-project/commit/7c1f473524abe4d85af9ea390d3516848c9ba31e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
Log Message:
-----------
[NFC][analyzer] Multipart checker refactor 1: VirtualCallChecker (#132072)
Simplify `VirtualCallChecker.cpp` with the help of the new framework for
multipart checkers that was introduced by commit
27099982da2f5a6c2d282d6b385e79d080669546. This is part of a commit
series that will perform analogous changes in all checker classes that
implement multiple user-facing checker parts (with separate names).
In this commit I'm removing the undocumented hidden
`cplusplus.VirtualCallModeling` checker, because (to my best
understanding) it was just a hacky implementation detail within the old
way of registering the "real" checker parts.
Note that keeping or re-adding an extra checker part like this modeling
checker would be very easy within the new framework; I'm removing it
only because I'm convinced that it is no longer useful.
Commit: 71935281e02cfaef2bd109bcb58f0d80039ffd15
https://github.com/llvm/llvm-project/commit/71935281e02cfaef2bd109bcb58f0d80039ffd15
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/ARM/ARMConstantPoolValue.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
Log Message:
-----------
[Target] Use *Set::insert_range (NFC) (#132140)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: c38ef58557e26394e330f6ba16ff71b492cf50bb
https://github.com/llvm/llvm-project/commit/c38ef58557e26394e330f6ba16ff71b492cf50bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[ByteCode] Avoid repeated hash lookups (NFC) (#132141)
Commit: 69b70110b78930b942a5e92db40bcefd0ac7890b
https://github.com/llvm/llvm-project/commit/69b70110b78930b942a5e92db40bcefd0ac7890b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#132142)
Commit: ac269e6d94c29711616991a8d714e9a05e1bbce6
https://github.com/llvm/llvm-project/commit/ac269e6d94c29711616991a8d714e9a05e1bbce6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#132143)
Commit: bc9cee163c35262efab2805649c0a566ec8951fb
https://github.com/llvm/llvm-project/commit/bc9cee163c35262efab2805649c0a566ec8951fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
Log Message:
-----------
[IPO] Avoid repeated map lookups (NFC) (#132144)
Commit: 93507f6c6779d9585e5b2d0eb775354929626757
https://github.com/llvm/llvm-project/commit/93507f6c6779d9585e5b2d0eb775354929626757
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#132145)
Commit: 2df51fd9c491ef1ad90fbad5ce18ea8ff8bd3117
https://github.com/llvm/llvm-project/commit/2df51fd9c491ef1ad90fbad5ce18ea8ff8bd3117
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#132146)
Commit: 482b95217e9d77c8c5ddb601579ef8b6d86c188c
https://github.com/llvm/llvm-project/commit/482b95217e9d77c8c5ddb601579ef8b6d86c188c
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: factor out utility code (#131895)
Factor out the code for mapping from physical registers to consecutive
array indexes.
Introduce helper functions to print instructions and registers to
prevent mixing of analysis logic and implementation details of debug
output.
Removed the debug printing from `Gadget::generateReport`, as it doesn't
seem to add important information to what was already printed in the
report itself.
Commit: 15ad84fffd76e845ce48f7cb8a917eb6532b93c9
https://github.com/llvm/llvm-project/commit/15ad84fffd76e845ce48f7cb8a917eb6532b93c9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
Log Message:
-----------
[clang][deps] Explicitly link pthreads
This is a speculative fix for link failure found by the RHEL 8 bot: https://lab.llvm.org/buildbot/#/builders/204/builds/3862.
FAILED: lib/libclangDependencyScanning.so.21.0git
/InProcessModuleCache.cpp.o: In function `(anonymous namespace)::ReaderWriterLock::tryLock()':
InProcessModuleCache.cpp:(.text._ZN12_GLOBAL__N_116ReaderWriterLock7tryLockEv+0x1d): undefined reference to `pthread_rwlock_trywrlock'
Commit: 99b1a2ac078fe52300d270b3e77ddbababa8f951
https://github.com/llvm/llvm-project/commit/99b1a2ac078fe52300d270b3e77ddbababa8f951
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
Log Message:
-----------
[clang] Remove deprecated `FileManager` APIs (#132063)
This PR removes the `FileManager` APIs that have been deprecated for a
while.
LLVM 20.1.0 that was released earlier this month contains the formal
deprecation of these APIs, so these should be fine to remove in the next
major release.
Commit: 73cd84a90e074e32160de9216b12c1737e96362d
https://github.com/llvm/llvm-project/commit/73cd84a90e074e32160de9216b12c1737e96362d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__functional/operations.h
M libcxx/include/__fwd/functional.h
A libcxx/include/__fwd/map.h
A libcxx/include/__fwd/set.h
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/set
Log Message:
-----------
[NFC][libc++] Adds (multi|)(map|set) forward declarations. (#131541)
This removes duplicated forward declarations of these classes.
closes: #131518
Commit: 10624e67c3f26ce733a01de891e43602b6253395
https://github.com/llvm/llvm-project/commit/10624e67c3f26ce733a01de891e43602b6253395
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
Log Message:
-----------
[BOLT] Fix warnings
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:62:13: error: unused
function 'traceInst' [-Werror,-Wunused-function]
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:68:13: error: unused
function 'traceReg' [-Werror,-Wunused-function]
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:80:13: error: unused
function 'traceRegMask' [-Werror,-Wunused-function]
Commit: 5f6d9b45e90a261810e347a7de092545dbb46fc6
https://github.com/llvm/llvm-project/commit/5f6d9b45e90a261810e347a7de092545dbb46fc6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
Log Message:
-----------
[BOLT] Make Relocations a class and add optional field (#131638)
This patch converts `Relocations` from a struct to a class, and
introduces the `Optional` field. Patch #116964 will use it.
Some optimizations, like `scanExternalRefs`, create relocations that
patch the old code. Under certain circumstances these may be skipped
without correctness implications.
Commit: e202ff45df206859b6e3c2142a735348a0d449bb
https://github.com/llvm/llvm-project/commit/e202ff45df206859b6e3c2142a735348a0d449bb
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/test/profile/Posix/instrprof-fork.c
A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
Log Message:
-----------
[profile] Implement a non-mmap path when reading profile files from a non-local filesystem (#131177)
On AIX, when accessing mmap'ed memory associated to a file on NFS, a
SIGBUS might be raised at random.
The problem is still in open state with the OS team.
This PR teaches the profile runtime, under certain conditions, to avoid
the mmap when reading the profile file during online merging.
This PR has no effect on any platform other than AIX because I'm not
aware of this problem on other platforms.
Other platforms can easily opt-in to this functionality in the future.
The logic in function `is_local_filesystem` was copied from
[llvm/lib/Support/Unix/Path.inc](https://github.com/llvm/llvm-project/blob/f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d/llvm/lib/Support/Unix/Path.inc#L515)
(https://reviews.llvm.org/D58801), because it seems that the
compiler-rt/profile cannot reuse code from llvm except through
`InstrProfData.inc`.
Thanks to @hubert-reinterpretcast for substantial feedback downstream.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 4d4d9d5d333cd8c3cfa0822157ded5ff735aed29
https://github.com/llvm/llvm-project/commit/4d4d9d5d333cd8c3cfa0822157ded5ff735aed29
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[TTI] Use TypeSize in isLoadFromStackSlot and isStoreToStackSlot [nfc] (#132244)
Motivation is supporting scalable spills and reloads, e.g. in
https://github.com/llvm/llvm-project/pull/120524.
Looking at this API, I'm suspicious that the access size should just be
coming from the memory operand on the load or store, but we don't appear
to be consistently setting that up. That's a larger change so I may or
may not bother pursuing that.
Commit: b62e149f06f0cfe4f197bc7228616c4b83c4e9bf
https://github.com/llvm/llvm-project/commit/b62e149f06f0cfe4f197bc7228616c4b83c4e9bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/arith-fma.ll
Log Message:
-----------
[CostModel][X86] check fma cost kinds using -cost-kind=all
Commit: fa52a54891a9ac460c7311c2618515c5f1e319d2
https://github.com/llvm/llvm-project/commit/fa52a54891a9ac460c7311c2618515c5f1e319d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add tests showing failure to concatenate X86ISD::VPERMILPV nodes.
Commit: 89a1197c1f4ff11178109efe51bc82223c68f513
https://github.com/llvm/llvm-project/commit/89a1197c1f4ff11178109efe51bc82223c68f513
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[asan] Fix-forward by adding SANITIZER_LINUX guard to 131975
Fix Solaris build breakage reported in https://github.com/llvm/llvm-project/pull/131975#issuecomment-2741097471
Commit: adb57757b9640768e5070e0e3f6b217c774f9205
https://github.com/llvm/llvm-project/commit/adb57757b9640768e5070e0e3f6b217c774f9205
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[asan] Fix-forward by removing sys/personality.h for non-Linux in #131975
Fix Solaris build breakage reported in https://github.com/llvm/llvm-project/pull/131975#issuecomment-2741097471
Commit: 5356a9bcbb0b8364ce11276444055d8769bd5bae
https://github.com/llvm/llvm-project/commit/5356a9bcbb0b8364ce11276444055d8769bd5bae
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
Log Message:
-----------
[gn] port 3c657ceef9ced (llvm-ml64)
Commit: 0489447b0782da6dd6493019465f175efcfdec16
https://github.com/llvm/llvm-project/commit/0489447b0782da6dd6493019465f175efcfdec16
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] dmr extract update assembly operand order (#132083)
The operand order of the assembly for dmr extract instructions has
changed since they were added. The results now come before the uses.
Commit: 909bff82b06aae32d27dfae0e878c3ffc40c4ee2
https://github.com/llvm/llvm-project/commit/909bff82b06aae32d27dfae0e878c3ffc40c4ee2
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
gn build: libcxx: Sync file list and always define _LIBCPP_ABI_VERSION.
The CMake side always defines _LIBCPP_ABI_VERSION. If we do not, we will
at least get -Wundef warnings in the test suite (upgraded to errors)
and it looks like we will end up building the library incorrectly as well.
With that, most of the libc++ test suite passes (with a manually written
lit.site.cfg) aside from some parts related to C++ modules which we
don't support yet.
Reviewers: nico, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/132135
Commit: 382b707e52ee6a0ca9a799795362dee67ade993f
https://github.com/llvm/llvm-project/commit/382b707e52ee6a0ca9a799795362dee67ade993f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-modules-cxx17-lsv.cmake
R libcxx/cmake/caches/Generic-modules-lsv.cmake
M libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++] Add coverage for C++17 and Clang Modules with LSV (#131815)
In recent versions of Clang, using -std=c++20 (and later) implies LSV
when compiling with modules. This change resulted in making our LSV job
redundant with the regular modules job, which uses the latest Standard.
This patch increases the coverage of our CI without increasing its cost
by pinning the LSV job to use C++17, which normally doesn't use LSV. A
related question is whether we should add coverage for non-LSV builds
using Clang modules.
Commit: dd3addf954ac7e704fccc7d011217ba10461c883
https://github.com/llvm/llvm-project/commit/dd3addf954ac7e704fccc7d011217ba10461c883
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for ff3341ca35fe4ce05b52e89d654ff4c696d3602e
Commit: 882082ae405d086b61588169fe31102c58b7d74e
https://github.com/llvm/llvm-project/commit/882082ae405d086b61588169fe31102c58b7d74e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
Log Message:
-----------
[HLSL] Buffer handle globals should not be constants (#130231)
If these are constants their initializers will be removed by
InstCombine. Change them to not be constants and initialize them with
poison.
Commit: 49f06075a6d298bd13564c9bffcf51281bed4962
https://github.com/llvm/llvm-project/commit/49f06075a6d298bd13564c9bffcf51281bed4962
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix union copy/move operator active check (#132238)
Don't call CheckActive for copy/move operators. They will activate the
union member.
Commit: ebe5c660608c1c830236c1e379c9720292343cda
https://github.com/llvm/llvm-project/commit/ebe5c660608c1c830236c1e379c9720292343cda
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILConstants.h
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DXIL] Remove definition and any uses of DXIL `Property` (#130796)
- Remove definitions from DXIL.td and any emissions/definitions that
were previously planned to be used
See resolved issue for motivations of deletion
Resolves #126298
Commit: 578f38cd08ba71300b013644e5ae8c8a64598800
https://github.com/llvm/llvm-project/commit/578f38cd08ba71300b013644e5ae8c8a64598800
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Reland: [clang] preserve class type sugar when taking pointer to member (#132234)
Original PR: #130537
Reland after updating lldb too.
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the base class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntatically, and
they represent the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements.
Commit: 468452b0814a3ad04700455af2d225e25a6aecaf
https://github.com/llvm/llvm-project/commit/468452b0814a3ad04700455af2d225e25a6aecaf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[CodeGen] Fix unused variable warning (NFC)
Commit: 541d6c3189cc04b5d6236972093ea3a4892a0ba8
https://github.com/llvm/llvm-project/commit/541d6c3189cc04b5d6236972093ea3a4892a0ba8
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] update VGPRimm for t16 (#131021)
added a `bitcast_fpimm_to_i16` and update the VGPRImm pattern for t16
flow.
This change is following the pattern from the 32bit case
Commit: 7c11d053f6619e9feb73b75353cf6d40f989b8d2
https://github.com/llvm/llvm-project/commit/7c11d053f6619e9feb73b75353cf6d40f989b8d2
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
Log Message:
-----------
[mlir][TosaToLinalg] Exit after `notifyMatchFailure` (#132012)
This PR adds `return nullptr` when the shift value of `tosa.mul` is not
constant to prevent a crash. Fixes #131766.
Commit: 221b0117fd21d45098ead779a040a4b939a5c84f
https://github.com/llvm/llvm-project/commit/221b0117fd21d45098ead779a040a4b939a5c84f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/amdhsa.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
A llvm/tools/llvm-gpu-loader/nvptx.cpp
Log Message:
-----------
[LLVM] Make the GPU loader utilities an LLVM tool (#132096)
Summary:
These tools `amdhsa-loader` and `nvptx-loader` are used to execute unit
tests directly on the GPU. We use this for `libc` and `libcxx` unit
tests as well as general GPU experimentation. It looks like this.
```console
> clang++ main.cpp --target=amdgcn-amd-amdhsa -mcpu=native -flto -lc ./lib/amdgcn-amd-amdhsa/crt1.o
> llvm-gpu-loader a.out
Hello World!
```
Currently these are a part of the `libc` project, but this creates
issues as `libc` itself depends on them to run tests. Right now we get
around this by force-including the `libc` project prior to running the
runtimes build so that this dependency can be built first. We should
instead just make this a simple LLVM tool so it's always available.
This has the effect of installing these by default now instead of just
when `libc` was enabled, but they should be relatively small. Right now
this only supports a 'static' configuration. That is, we locate the CUDA
and HSA dependencies at LLVM compile time. In the future we should be
able to provide this by default using `dlopen` and some API.
I don't know if it's required to reformat all of these names since they
used the `libc` naming convention so I just left it for now.
Commit: 00fabd21bce85259a74a64a435874d290ed2da38
https://github.com/llvm/llvm-project/commit/00fabd21bce85259a74a64a435874d290ed2da38
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
A llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
Log Message:
-----------
[RISCV][RegAlloc] Add getCSRFirstUseCost for RISC-V (#131349)
This is based off of 63efd8e7e68bc.
The following table shows the percent change to the dynamic instruction
count when the function in this patch returns 0 (default) versus other
values.
| benchmark | % speedup 1 over 0 | % speedup 4 over 0 | % speedup 16
over 0 | % speedup 64 over 0 | % speedup 128 over 0 |
| --------------- | ---------------------- | --------------------- |
--------------------- | -------------------- | -------------------- |
| 500.perlbench_r | 0.001018570165 | 0.001049508358 | 0.001001106529 |
0.03382582818 | 0.03395354577 |
| 502.gcc_r | 0.02850551412 | 0.02170512371 | 0.01453021263 |
0.06011008637 | 0.1215691521 |
| 505.mcf_r | -0.00009506373338 | -0.00009090057642 | -0.0000860991497 |
-0.00005027849766 | 0.00001251173791 |
| 520.omnetpp_r | 0.2958940288 | 0.2959715925 | 0.2961141505 |
0.2959823497 | 0.2963124341 |
| 523.xalancbmk_r | -0.0327074721 | -0.01037021046 | -0.3226810542 |
0.02127133714 | 0.02765388389 |
| 525.x264_r | 0.0000001381714403 | -0.00000007041540345 |
-0.00000002156399465 | 0.0000002108993364 | 0.0000002463382874 |
| 531.deepsjeng_r | 0.00000000339777238 | 0.000000003874652714 |
0.000000003636212547 | 0.000000003874652714 | 0.000000003159332213 |
| 541.leela_r | 0.0009186059953 | -0.000424159199 | 0.0004984456879 |
0.274948447 | 0.8135521414 |
| 557.xz_r | -0.000000003547118854 | -0.00004896449559 |
-0.00004910691576 | -0.0000491109983 | -0.00004895599589 |
| geomean | 0.03265937388 | 0.03424232324 | -0.00107917442 |
0.07629116165 | 0.1439913192 |
The following table shows the percent change to the runtime when the
function in this patch returns 0 (default) versus other values.
| benchmark | % speedup 1 over 0 | % speedup 4 over 0 | % speedup 16
over 0 | % speedup 64 over 0 | %speedup 128 over 0 |
| --------------- | ------------------ | ------------------ |
------------------- | ------------------- | ------------------- |
| 500.perlbench_r | 0.1722356761 | 0.2269681109 | 0.2596825578 |
0.361573851 | 1.15041305 |
| 502.gcc_r | -0.548415855 | -0.06187002799 | -0.5553684674 |
-0.8876686237 | -0.4668665535 |
| 505.mcf_r | -0.8786414258 | -0.4150938441 | -1.035517726 |
-0.1860770377 | -0.01904825648 |
| 520.omnetpp_r | 0.4130256072 | 0.6595976188 | 0.897332171 |
0.6252625622 | 0.3869467278 |
| 523.xalancbmk_r | 1.318132014 | -0.003927574 | 1.025962975 |
1.090320253 | -0.789206202 |
| 525.x264_r | -0.03112871796 | -0.00167557587 | 0.06932423155 |
-0.1919840015 | -0.1203585732 |
| 531.deepsjeng_r | -0.259516072 | -0.01973455652 | -0.2723227894 |
-0.005417022257 | -0.02222388177 |
| 541.leela_r | -0.3497178495 | -0.3510447393 | 0.1274508001 |
0.6485542452 | 0.2880651727 |
| 557.xz_r | 0.7683565263 | -0.2197509447 | -0.0431183874 |
0.07518130872 | 0.5236853039 |
| geomean | 0.06506952742 | -0.0211865386 | 0.05072694648 | 0.1684530637
| 0.1020533557 |
I chose to set the value to 5 on RISC-V because it has improvement to
both the dynamic IC and the runtime and because it showed good results
empirically and had a similar effect as setting it to higher numbers.
I looked at some diff and it seems like this patch leads to two things:
1. Less spilling -- not spilling the CSR led to better register
allocation and helped us avoid spills down the line
2. Avoid spilling CSR but spill more on paths that static heuristics
estimate as cold.
Commit: df2a56767d7eeb09413e38737d598db749d1bc6d
https://github.com/llvm/llvm-project/commit/df2a56767d7eeb09413e38737d598db749d1bc6d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
A libc/utils/gpu/CMakeLists.txt
A libc/utils/gpu/loader/CMakeLists.txt
A libc/utils/gpu/loader/Loader.h
A libc/utils/gpu/loader/Main.cpp
A libc/utils/gpu/loader/amdgpu/CMakeLists.txt
A libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
A libc/utils/gpu/loader/nvptx/CMakeLists.txt
A libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
R llvm/tools/llvm-gpu-loader/CMakeLists.txt
R llvm/tools/llvm-gpu-loader/amdhsa.cpp
R llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
R llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
R llvm/tools/llvm-gpu-loader/nvptx.cpp
Log Message:
-----------
Revert "[LLVM] Make the GPU loader utilities an LLVM tool (#132096)"
This reverts commit 221b0117fd21d45098ead779a040a4b939a5c84f.
Some build failures requiring TargetParser and some warnings to clean
up.
Commit: 523cf65b668e2c7c572c8b5a54e28388d5e955a4
https://github.com/llvm/llvm-project/commit/523cf65b668e2c7c572c8b5a54e28388d5e955a4
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
Log Message:
-----------
[Clang] Do not create dependent CallExpr having UnresolvedLookupExpr inside non-dependent context (#124609)
The `UnresolvedLookupExpr` doesn't get looked up and resolved again
while it is inside the non-dependent context. It propagates into the
codegen phase, causing the assertion failure.
We attempt to determine if the current context is dependent before
moving on with the substitution introduced in the
https://github.com/llvm/llvm-project/commit/20a05677f9394d4bc9467fe7bc93a4ebd3aeda61.
This fixes https://github.com/llvm/llvm-project/issues/122892.
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: c73ad7ba204fa05b074c1316b2244063aa10410f
https://github.com/llvm/llvm-project/commit/c73ad7ba204fa05b074c1316b2244063aa10410f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
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
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Add transformation to narrow interleave groups.
This patch adds a new narrowInterleaveGroups transfrom, which tries
convert a plan with interleave groups with VF elements to a plan that
instead replaces the interleave groups with wide loads and stores
processing VF elements.
This effectively is a very simple form of loop-aware SLP, where we
use interleave groups to identify candidates.
This initial version is quite restricted and hopefully serves as a
starting point for how to best model those kinds of transforms. For now
it only transforms load interleave groups feeding store groups.
Depends on #106431.
This lands the main parts of the approved
https://github.com/llvm/llvm-project/pull/106441 as suggested to break
things up a bit more.
Commit: dd191d3d4f970a1a17e180668c3e50e2e7938cdc
https://github.com/llvm/llvm-project/commit/dd191d3d4f970a1a17e180668c3e50e2e7938cdc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
Log Message:
-----------
[ctxprof][nfc] Share the definition of FunctionData between compiler-rt and llvm (#132136)
Mechanism to keep the compiler-rt and llvm view of `FunctionData` in sync. Since CtxInstrContextNode.h is exactly the same on both sides (there's an existing test, `compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test`, checking that), we capture the structure in a macro that is then generated as `struct` fields on the compiler-rt side, and as `Type` objects on the llvm side. The macro needs to be told how to render a few kinds of fields.
If we add more fields to FunctionData that can be described by the current known types of fields, then the llvm side would automatically be updated. If we need to add more kinds of fields, which we do by adding parameters to the macro, the llvm side (if not updated) would trigger a compilation error.
Commit: 864a83deb0b613a2e957b6c106a4412b54949131
https://github.com/llvm/llvm-project/commit/864a83deb0b613a2e957b6c106a4412b54949131
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrFormats.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/inline/type.coop-matrix.ll
A llvm/test/CodeGen/SPIRV/inline/type.ll
Log Message:
-----------
[SPIR-V] Add support for inline SPIR-V types (#125316)
Using HLSL's [Inline
SPIR-V](https://microsoft.github.io/hlsl-specs/proposals/0011-inline-spirv.html)
features, users have the ability to use
[`SpirvType`](https://microsoft.github.io/hlsl-specs/proposals/0011-inline-spirv.html#types)
to have fine-grained control over the SPIR-V representation of a type.
As explained in the spec, this is useful because it enables vendors to
author headers with types for their own extensions.
As discussed in [Target Extension Types for Inline SPIR-V and Decorated
Types](https://github.com/llvm/wg-hlsl/pull/105), we would like to
represent the HLSL SpirvType type using a 'spirv.Type' target extension
type in LLVM IR. This pull request lowers that type to SPIR-V.
Commit: 3520dc5e7a9a30de2db7e9f6b8b4863aed261ca8
https://github.com/llvm/llvm-project/commit/3520dc5e7a9a30de2db7e9f6b8b4863aed261ca8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix a build
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2263:19: error:
expected ';' after return statement
Commit: 7492666482aececf2a470a8b8a44580d7f8712c3
https://github.com/llvm/llvm-project/commit/7492666482aececf2a470a8b8a44580d7f8712c3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_wmemchr (#132254)
Commit: be36f41ff9341c660b59320ede784314c1ece200
https://github.com/llvm/llvm-project/commit/be36f41ff9341c660b59320ede784314c1ece200
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
Log Message:
-----------
[libc++][NFC] Run two tests I'm about to modify a bunch under clang-format
Commit: e60e0641583a144703433579b8f241276637fdb0
https://github.com/llvm/llvm-project/commit/e60e0641583a144703433579b8f241276637fdb0
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
Log Message:
-----------
[lldb][debugserver] Interrupt should reset outstanding SIGSTOP (#132128)
This fixes an uncommon bug with debugserver controlling an inferior
process that is hitting an internal breakpoint & continuing when
multiple interrupts are sent by SB API to lldb -- with the result being
that lldb never stops the inferior process, ignoring the interrupt/stops
being sent by the driver layer (Xcode, in this case).
In the reproducing setup (which required a machine with unique timing
characteristics), lldb is sent SBProcess::Stop and then shortly after,
SBProcess::SendAsyncInterrupt. The driver process only sees that the
inferior is publicly running at this point, even though it's hitting an
internal breakpoint (new dylib being loaded), disabling the bp, step
instructioning, re-enabling the breakpoint, then continuing.
The packet sequence lldb sends to debugserver looks like
1. vCont;s // instruction step
2. ^c // async interrupt
3. Z.... // re-enable breakpoint
4. c // resume inferior execution
5. ^c // async interrupt
When debugserver needs to interrupt a running process
(`MachProcess::Interrupt`), the main thread in debugserver sends a
SIGSTOP posix signal to the inferior process, and notes that it has sent
this signal by setting `m_sent_interrupt_signo`.
When we send the first async interrupt while instruction stepping, the
signal is sent (probably after the inferior has already stopped) but
lldb can only *receive* the mach exception that includes the SIGSTOP
when the process is running. So at the point of step (3), we have a
SIGSTOP outstanding in the kernel, and
`m_sent_interrupt_signo` is set to SIGSTOP.
When we resume the inferior (`c` in step 4), debugserver sees that
`m_sent_interrupt_signo` is still set for an outstanding SIGSTOP, but at
this point we've already stopped so it's an unnecessary stop. It records
that (1) we've got a SIGSTOP still coming that debugserver sent and (2)
we should ignore it by also setting `m_auto_resume_signo` to the same
signal value.
Once we've resumed the process, the mach exception thread
(`MachTask::ExceptionThread`) receives the outstanding mach exception,
adds it to a queue to be processed
(`MachProcess::ExceptionMessageReceived`) and when we've collected all
outstanding mach exceptions, it calls
`MachProcess::ExceptionMessageBundleComplete` top evaluate them.
`MachProcess::ExceptionMessageBundleComplete` halts the process (without
updating the MachProcess `m_state`) while evaluating them. It sees that
this incoming SIGSTOP was meant to be ignored (`m_auto_resume_signo` is
set), so it `MachProcess::PrivateResume`'s the process again.
At the same time `MachTask::ExceptionThread` is receiving and processing
the ME, `MachProcess::Interrupt` is called with another interrupt that
debugserver received. This method checks that we're still eStateRunning
(we are) but then sees that we have an outstanding SIGSTOP already
(`m_sent_interrupt_signo`) and does nothing, assuming that we will stop
shortly from that one. It then returns to call
`RNBRemote::HandlePacket_last_signal` to print the status -- but because
the process is still `eStateRunning`, this does nothing.
So the first ^c (resulting in a pending SIGSTOP) is received and we
resume the process silently. And the second ^c is ignored because we've
got one interrupt already being processed.
The fix was very simple. In `MachProcess::Interrupt` when we detect that
we have a SIGSTOP out in the wild (`m_sent_interrupt_signo`), we need to
clear `m_auto_resume_signo` which is used to indicate that this SIGSTOP
is meant to be ignored, because it was from before our most recent
resume.
MachProcess::Interrupt holds the `m_exception_and_signal_mutex` mutex
already (after Jonas's commit last week), and all of
`MachProcess::ExceptionMessageBundleComplete` holds that same mutex, so
we know we can modify `m_auto_resume_signo` here and it will be handled
correctly when the outstanding mach exception is finally processed.
rdar://145872120
Commit: ad5cac3b06c3cb41397acc1fc96beae9b460f20c
https://github.com/llvm/llvm-project/commit/ad5cac3b06c3cb41397acc1fc96beae9b460f20c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
Log Message:
-----------
[lldb][debugserver] remove g/G packet handling from debugserver (#132127)
In 2013 we added the QSaveRegisterState and QRestoreRegisterState
packets to checkpoint a thread's register state while executing an
inferior function call, instead of using the g packet to read all
registers into lldb, then the G packet to set them again after the func
call.
Since then, lldb has not sent g/G (except as a bug) - it either asks for
registers individually (p/P) or or asks debugserver to save and restore
the entire register set with these lldb extensions.
Felipe recently had a codepath that fell back to using g/G and found
that it does not work with the modern signed fp/sp/pc/lr registers that
we can get -- it sidesteps around the clearing of the non-addressable
bits that we do when reading/writing them, and results in a crash. (
https://github.com/llvm/llvm-project/pull/132079 )
Instead of fixing that issue, I am removing g/G from debugserver because
it's not needed by lldb, and it will would be easy for future bugs to
creep in to this packet that lldb should not use, but it can
accidentally fall back to and result in subtle bugs.
This does mean that a debugger using debugserver on darwin which doesn't
use QSaveRegisterState/QRestoreRegisterState will need to fall back to
reading & writing each register individually. I'm open to re-evaluating
this decision if this proves to be needed, and supporting these lldb
extensions is onerous.
Commit: 5151e6d7febb73ed7085667b4ef55d8af7d058b5
https://github.com/llvm/llvm-project/commit/5151e6d7febb73ed7085667b4ef55d8af7d058b5
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "Reland: [clang] preserve class type sugar when taking pointer to member" (#132280)
Reverts llvm/llvm-project#132234
Needs to be reverted due to dependency.
This blocks reverting another PR, see here:
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
Commit: 335a4614dee4123ff4f86e6400fc6a305766e227
https://github.com/llvm/llvm-project/commit/335a4614dee4123ff4f86e6400fc6a305766e227
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
Revert "[clang] NFC: Clear some uses of MemberPointerType::getClass" (#132281)
Reverts llvm/llvm-project#131965
Reverted due to issue reported here:
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
Commit: a87a64b2e487995f9de90a614c7caa7a888147df
https://github.com/llvm/llvm-project/commit/a87a64b2e487995f9de90a614c7caa7a888147df
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
Log Message:
-----------
[clang-doc] Avoid deref of invalid std::optional (#131939)
Since our existing guard is insufficient to prevent accessing the
std::optional when in an invalid state, guard the access with
`.value_or()`. This maintains the desired behavior, without running into
UB.
The new test should prevent regressions.
Fixes #131697
Commit: 3923a6b09c4e104391e2dd12b984190066fed6ec
https://github.com/llvm/llvm-project/commit/3923a6b09c4e104391e2dd12b984190066fed6ec
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
Log Message:
-----------
[clang-doc][NFC] Remove unnecessary directory cleanup (#132101)
The tests all remove the directory at test start, and it only prevents
inspecting the test artifacts to remove them at the end of the test run.
Commit: 3fbc9b9efc669a236ab21ab06f854bd9ad751af3
https://github.com/llvm/llvm-project/commit/3fbc9b9efc669a236ab21ab06f854bd9ad751af3
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/index.js
Log Message:
-----------
[clang-doc] Correct improper file paths in HTML output (#132103)
In index.js the logic of the ternary operator was backwards, preventing
us from generating the correct file paths, or relative paths in the HTML
output.
Commit: 09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05
https://github.com/llvm/llvm-project/commit/09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep to errno_test_helpers (#132278)
Bazel doesn't complain, but downstream it's causing build failures.
Commit: f23a6ef54c104b357e140e7782fd66248d9382f1
https://github.com/llvm/llvm-project/commit/f23a6ef54c104b357e140e7782fd66248d9382f1
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
Log Message:
-----------
[flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device (#132165)
Fixes a bug introduced by
https://github.com/llvm/llvm-project/pull/130078.
For non-BlockArgOpenMPOpInterface ops, we also want to map their entry
block arguments to their operands, if any. For the current support in
the OpenMP dialect, the table below lists all ops that have arguments
(SSA operands and/or attributes) and not target-related. Of all these
ops, we need to only process `omp.atomic.update` since it is the only op
that has SSA operands & an attached region. Therefore, the region's
entry block arguments must be mapped to the op's operands in case they
are referenced inside the region.
| op | operands? | region(s)? | parent is func? | processed? |
|--------------|-------------|------------|------------------|-------------|
| atomic.read | yes | no | yes | no |
| atomic.write | yes | no | yes | no |
| atomic.update | yes | yes | yes | yes |
| critical | no | no | yes | no |
| declare_mapper | no | yes | no | no |
| declare_reduction | no | yes | no | no |
| flush | yes | no | yes | no |
| private | no | yes | yes | no |
| threadprivate | yes | no | yes | no |
| yield | yes | no | yes | no |
Commit: 3dc98087c8cacde1634b8ae7ac05e3c080d2a1f1
https://github.com/llvm/llvm-project/commit/3dc98087c8cacde1634b8ae7ac05e3c080d2a1f1
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port 08dda4dcbf64
Commit: 8e777ff5bb1ad46794f8cbbad27724f59e0f2ce0
https://github.com/llvm/llvm-project/commit/8e777ff5bb1ad46794f8cbbad27724f59e0f2ce0
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 73cd84a90e07
Commit: cc86d7cb191a64489e837c68f299abb930f5c6cb
https://github.com/llvm/llvm-project/commit/cc86d7cb191a64489e837c68f299abb930f5c6cb
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
Initialize aarch64-cond-br-tuning pass (#132087)
The call to the initializeAArch64CondBrTuningPass function is missing in
the AArch64TargetMachine LLVMInitializeAArch64Target function.
This means that the pass is not in the pass registry and options such as
-run-pass=aarch64-cond-br-tuning and
-stop-after=aarch64-cond-br-tuning cannot be used. This patch fixes that
issue.
Commit: e86d627a8b0278556d18e73b9823761ca8fe24a5
https://github.com/llvm/llvm-project/commit/e86d627a8b0278556d18e73b9823761ca8fe24a5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
Log Message:
-----------
[RISCV] Add coverage for vector stack slot coloring and dead copy elim
Stack slot coloring already works, but we didn't have coverage.
Dead stack slot copy elimination (after stack slot coloring) does not, and will
be included in an upcoming change.
Commit: ff21b50509c88606a8220002865c3e42e825a3b3
https://github.com/llvm/llvm-project/commit/ff21b50509c88606a8220002865c3e42e825a3b3
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
Reapply LLDB-Telemetry TargetInfo branch (pr/127834) (#132043)
New changes: add check to avoid accessing invalid obj
Commit: 30bb0c443e163b244d663c88821524b6e747747b
https://github.com/llvm/llvm-project/commit/30bb0c443e163b244d663c88821524b6e747747b
Author: John Harrison <harjohn at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/DAPError.cpp
A lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
Log Message:
-----------
[lldb-dap] Adding a DAPError for showing users error messages. (#132255)
The `DAPError` can be used to craft an error message that is displayed
to a user (with showUser=true).
Any request handler implementation using subclassing `RequestHandler<>`
should be able to use this.
I updated SourceRequestHandler to report DAPError's specifically.
Commit: 88a51d23927aa36694166fe5edd7831ab90e5a75
https://github.com/llvm/llvm-project/commit/88a51d23927aa36694166fe5edd7831ab90e5a75
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang][NFC] Code cleanup in CGBuiltin.cpp (#132060)
- Use `Intrinsic::` directly instead of `llvm::Intrinsic::`.
- Eliminate redundant `nullptr` for some `CreateIntrinsic` calls.
- Eliminate redundant `ArrayRef` casts.
- Use C++17 structured binding instead of `std::tie`.
Commit: afae7c91e19f0e9d6f1e03ebada64d740894abc7
https://github.com/llvm/llvm-project/commit/afae7c91e19f0e9d6f1e03ebada64d740894abc7
Author: Petr Hosek <phosek at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
A libc/src/stdio/baremetal/scanf.cpp
A libc/src/stdio/baremetal/scanf_internal.h
A libc/src/stdio/baremetal/vscanf.cpp
R libc/src/stdio/fscanf.cpp
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fscanf.cpp
A libc/src/stdio/generic/scanf.cpp
A libc/src/stdio/generic/vfscanf.cpp
A libc/src/stdio/generic/vscanf.cpp
R libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/vfscanf.cpp
R libc/src/stdio/vscanf.cpp
Log Message:
-----------
[libc] Support for scanf on baremetal (#131043)
This uses the templatized scanf Reader interface introduced in #131037.
Commit: a5c7f81a9aaa1995aeaa534e7a7bc1449e7a1595
https://github.com/llvm/llvm-project/commit/a5c7f81a9aaa1995aeaa534e7a7bc1449e7a1595
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Add test coverage for DAG store merging of floating point values
Commit: 6038077dde965926d621860382e00e147cb7fbe8
https://github.com/llvm/llvm-project/commit/6038077dde965926d621860382e00e147cb7fbe8
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Bump `__cpp_lib_constexpr_algorithms` for P2562R1 in C++26 (#132075)
Completes P2562R1.
Commit: f25185b57985e34c03517008d5af311689895819
https://github.com/llvm/llvm-project/commit/f25185b57985e34c03517008d5af311689895819
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/test/CIR/Transforms/canonicalize.cir
Log Message:
-----------
[CIR] Fix unary op folding (#132269)
Unary ops had previously been omitted from the list of ops handled in
the CIRCanonicalizePass. Although the incubator code doesn't use them
directly, the mlir folding code does.
This change enables folding of unary ops by adding them to the list.
Commit: fe6bced9e40f7d4c35550c51ef9cdc7be2a055e7
https://github.com/llvm/llvm-project/commit/fe6bced9e40f7d4c35550c51ef9cdc7be2a055e7
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] fix scanf after #131043 (#132305)
The scanf and fscanf implementations were moved into /generic, update
the bazel targets.
Commit: 7e4029d52a4bfb101f7d009799e54c51e7ca7467
https://github.com/llvm/llvm-project/commit/7e4029d52a4bfb101f7d009799e54c51e7ca7467
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/isel-sqrt.ll
R llvm/test/CodeGen/X86/sqrt.ll
Log Message:
-----------
[X86][NFC] Added/Updated SQRT function testcases (#132205)
- Added test for x86_fp80 type for SQRT.
- Added global-isel runs as precommit testing for SQRT.
Commit: 92fc748f0e6b4cc3a06b5d1de15b8b91404b7296
https://github.com/llvm/llvm-project/commit/92fc748f0e6b4cc3a06b5d1de15b8b91404b7296
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
Log Message:
-----------
[ORC] Remove extraneous whitespace. NFC.
Commit: 0ffe83feaca02cf1c7a25c559c72cc16813a2f86
https://github.com/llvm/llvm-project/commit/0ffe83feaca02cf1c7a25c559c72cc16813a2f86
Author: yonghong-song <yhs at fb.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/test/CodeGen/WebAssembly/naked-fn-with-frame-pointer.ll
A llvm/test/CodeGen/X86/naked-fn-with-unreachable-trap.ll
Log Message:
-----------
[SelectionDAG] Not issue TRAP node if naked function (#132147)
In [1], Nikita Popov suggested that during lowering 'unreachable' insn
should not generate extra code for naked functions, and this applies to
all architectures. Note that for naked functions, 'unreachable' insn is
necessary in IR since the basic block needs a terminator to end.
This patch checked whether a function is naked function or not. If it is
a naked function, 'unreachable' insn will not generate ISD::TRAP.
[1] https://github.com/llvm/llvm-project/pull/131731
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 902078350e0dd2b5a7333328153032f05dc4b81c
https://github.com/llvm/llvm-project/commit/902078350e0dd2b5a7333328153032f05dc4b81c
Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/src/math/generic/cbrtf.cpp
Log Message:
-----------
[libc][math] Add missing parenthesis in sollya command (#132298)
This PR adds the missing opening parenthesis for sollya command comment
in `libc/src/math/generic/cbrtf.cpp#L28`.
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Commit: 631769f2a05a082eafa03b7f99502381da704d7d
https://github.com/llvm/llvm-project/commit/631769f2a05a082eafa03b7f99502381da704d7d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/riscv-relax-hi20-lo12.s
Log Message:
-----------
[LLD][RISCV] Add relaxation for absolute int12 Hi20Lo12 (#86124)
If we have an absolute address whose high bits are known to be a sign
extend of the low 12 bits, we can avoid emitting the LUI entirely. This
is implemented in an analogous manner to the gp relative relocations -
defining an internal usage relocation type.
Since 12 bits (really 11 since the high bit must be zero in user code)
is less than one page, all of these offsets fit in the null page. As
such, the only application of these is likely to be undefined weak
symbols except for embedded use cases. I'm mostly posting this for
completeness sake.
Commit: 2d876ed33ee38145ae7b44f3d82a8142a78fd5b8
https://github.com/llvm/llvm-project/commit/2d876ed33ee38145ae7b44f3d82a8142a78fd5b8
Author: hev <wangrui at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/calling-conv-common.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/double-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/double-lround.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/float-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/float-lround.ll
M llvm/test/CodeGen/LoongArch/fp-expand.ll
M llvm/test/CodeGen/LoongArch/fp-max-min.ll
M llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/LoongArch/fp-reciprocal.ll
M llvm/test/CodeGen/LoongArch/fp-rounding.ll
M llvm/test/CodeGen/LoongArch/fp-trunc-store.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frint.ll
M llvm/test/CodeGen/LoongArch/fsqrt.ll
M llvm/test/CodeGen/LoongArch/ghc-cc.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg-128.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/naked-fn-with-frame-pointer.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/spill-reload-cfr.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
M llvm/test/CodeGen/LoongArch/vararg.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
Log Message:
-----------
[llvm][LoongArch] Changing the default code model from `small` to `medium` for 64-bit (#132173)
Link: https://discourse.llvm.org/t/rfc-changing-the-default-code-model-for-loongarch
Commit: 30ff508614c90311509adc0890e32e7f86ec4fb8
https://github.com/llvm/llvm-project/commit/30ff508614c90311509adc0890e32e7f86ec4fb8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade llvm.nvvm.swap.lo.hi.b64 to llvm.fshl (#132098)
After 3c8c2914e067e132af951f70d2b3577fe049e19a the lowering of 64-bit
funnel shifts has been improved to the point where this intrinsic is no
longer needed.
Commit: 969ac10cb3c0e7aaf1e09fffc92b56170576433a
https://github.com/llvm/llvm-project/commit/969ac10cb3c0e7aaf1e09fffc92b56170576433a
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Support/MD5.cpp
Log Message:
-----------
[support][nfc] MD5: Undef macros after use (#132132)
I'm experimenting with amalgamating Support lib into single cpp and
leaking a bunch of 1-letter macros is not nice.
Commit: 8d825cb4e2d28161ad498d6651ce4413f7d96125
https://github.com/llvm/llvm-project/commit/8d825cb4e2d28161ad498d6651ce4413f7d96125
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
Log Message:
-----------
[DirectX] Address PR comments to #131221 (#131706)
- [x] [Don't include static inside anonymous
namespace](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999924822)
- [x] [Use
DenseMap](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999922148)
- [x] [remove
{}](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999921283)
- [x] [remove std::stack with llvm::reverse of
SmallVector](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999946122)
- [x] [replace std::vector with
llvm::SmallVector](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999915308)
- [x] [Remove legalize comment
block](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999903366)
and [double comment
block](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999903747)
- [x] [Refactor fixI8TruncUseChain to remove
nesting](https://github.com/llvm/llvm-project/pull/131221#discussion_r2004157432)
- [x] [add asserts on
assumptions](https://github.com/llvm/llvm-project/pull/131221#discussion_r2004170759)
Commit: f01b56ffb3bee6606063ab4e6e8883eb2e4a48ea
https://github.com/llvm/llvm-project/commit/f01b56ffb3bee6606063ab4e6e8883eb2e4a48ea
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ByteCode/if.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaObjCXX/message.mm
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
Log Message:
-----------
[Clang] [NFC] Introduce helpers for defining compatibilty warnings (#132129)
This introduces some tablegen helpers for defining compatibility
warnings. The main aim of this is to both simplify adding new
compatibility warnings as well as to unify the naming of compatibility
warnings.
I’ve refactored ~half of the compatiblity warnings (that follow the
usual scheme) in `DiagnosticSemaKinds.td` for illustration purposes and
also to simplify/unify the wording of some of them (I also corrected a
typo in one of them as a drive-by fix).
I haven’t (yet) migrated *all* warnings even in that one file, and there
are some more specialised ones for which the scheme I’ve established
here doesn’t work (e.g. because they’re warning+error instead of
warning+extwarn; however, warning+extension *is* supported), but the
point of this isn’t to implement *all* compatibility-related warnings
this way, only to make the common case a bit easier to handle.
This currently also only handles C++ compatibility warnings, but it
should be fairly straight-forward to extend the tablegen code so it can
also be used for C compatibility warnings (if this gets merged, I’m
planning to do that in a follow-up pr).
The vast majority of compatibility warnings are emitted by writing
```c++
Diag(Loc, getLangOpts().CPlusPlusYZ ? diag::ext_... : diag::warn_...)
```
in accordance with which I’ve chosen the following naming scheme:
```c++
Diag(Loc, getLangOpts().CPlusPlusYZ ? diag::compat_cxxyz_foo : diag::compat_pre_cxxyz_foo)
```
That is, for a warning about a C++20 feature—i.e. C++≤17
compatibility—we get:
```c++
Diag(Loc, getLangOpts().CPlusPlus20 ? diag::compat_cxx20_foo : diag::compat_pre_cxx20_foo)
```
While there is an argument to be made against writing ‘`compat_cxx20`’
here since is technically a case of ‘C++17 compatibility’ and not ‘C++20
compatibility’, I at least find this easier to reason about, because I
can just write the same number 3 times instead of having to use
`ext_cxx20_foo` but `warn_cxx17_foo`. Instead, I like to read this as a
warning about the ‘compatibility *of* a C++20 feature’ rather than
‘*with* C++17’.
I also experimented with moving all compatibility warnings to a separate
file, but 1. I don’t think it’s worth the effort, and 2. I think it
hurts compile times a bit because at least in my testing I felt that I
had to recompile more code than if we just keep e.g. Sema-specific
compat warnings in the Sema diagnostics file.
Instead, I’ve opted to put them all in the same place within any one
file; currently this is a the very top but I don’t really have strong
opinions about this.
Commit: 19d2023a6668cb4964484fb93cf0a076aaef6fbc
https://github.com/llvm/llvm-project/commit/19d2023a6668cb4964484fb93cf0a076aaef6fbc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
M clang/lib/Headers/avx10_2_512satcvtintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
Log Message:
-----------
[X86][AVX10.2] Use 's_' for saturate-convert intrinsics (#131592)
- Add '_' after cvt[t]s intrinsics when 's' is for saturation;
- Add 's_' for all ipcvt[t] intrinsics since they are all saturation
ones;
- Move 's' after 'cvt' and add '_' after it for prior `biass`
intrinsics;
This is to solve potential confusion since 's' before a type usually
represents for scalar.
Synced with GCC folks and they will change in the same way.
Commit: 0ca10ef51bc977c1c0cacd2fce15eec37968b8a4
https://github.com/llvm/llvm-project/commit/0ca10ef51bc977c1c0cacd2fce15eec37968b8a4
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/mips-abi.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
[MIPS] Add MIPS i6400 and i6500 processors (#130587)
The i6400 and i6500 are high performance multi-core microprocessors from
MIPS that provide best in class power efficiency for use in
system-on-chip (SoC) applications. i6400 and i6500 implements Release 6
of the MIPS64 Instruction Set Architecture with full hardware
multithreading and hardware virtualization support.
Commit: c177dbe484b8844874e096dc825fa9a9a1dc1e6b
https://github.com/llvm/llvm-project/commit/c177dbe484b8844874e096dc825fa9a9a1dc1e6b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.h
Log Message:
-----------
Move X86-specific MCSymbolRefExpr::VariantKind to X86MCExpr::Specifier
Move target-specific members outside of MCSymbolRefExpr::VariantKind
(a legacy interface I am eliminating). Most changes are mechanic,
except:
* ELFObjectWriter::shouldRelocateWithSymbol
* The legacy generic code uses `ELFObjectWriter::fixSymbolsInTLSFixups`
to set `STT_TLS` (and use an unnecessary expression walk). The better
way is to do this in `getRelocType`, which I have done for
AArch64, PowerPC, and RISC-V.
In the future, we should encode expressions with a relocation specifier
as X86MCExpr and use MCValue::RefKind to hold the specifier of the
relocatable expression.
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
While here, rename "Modifier' to "Specifier":
> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
Pull Request: https://github.com/llvm/llvm-project/pull/132149
Commit: 87adafcd2e248fa69d1f776a9e60f95df03b885d
https://github.com/llvm/llvm-project/commit/87adafcd2e248fa69d1f776a9e60f95df03b885d
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
Log Message:
-----------
[LoongArch] Pre-commit test for fixing tls-le symbol type
The symbol type of tls-le must be `TLS`, it was incorrectly set
as `NOTYPE`.
A later commit will fix it.
Commit: 7d742f97b035f8dd9adaeccb98a28d1b7586f343
https://github.com/llvm/llvm-project/commit/7d742f97b035f8dd9adaeccb98a28d1b7586f343
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][test] Guard uses of `_LIBCPP_HAS_THREADS` in FTM tests (#132258)
Commit: 4d5a963eaf6ad209487a321dee7f0cd2a0f98477
https://github.com/llvm/llvm-project/commit/4d5a963eaf6ad209487a321dee7f0cd2a0f98477
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEMCInstLower.cpp
Log Message:
-----------
[VE] Rename VariantKind to Specifier and clean up code
Commit: c8a9a4109ac7756af3f0f5aab8c70e686a2f30b7
https://github.com/llvm/llvm-project/commit/c8a9a4109ac7756af3f0f5aab8c70e686a2f30b7
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/operation.py
Log Message:
-----------
[MLIR] [python] A few improvements to the Python bindings (#131686)
* `PyRegionList` is now sliceable. The dialect bindings generator seems
to assume it is sliceable already (!), yet accessing e.g. `cases` on
`scf.IndexedSwitchOp` raises a `TypeError` at runtime.
* `PyBlockList` and `PyOperationList` support negative indexing. It is
common for containers to do that in Python, and most container in the
MLIR Python bindings already allow the index to be negative.
Commit: aa4e6d846fceed9e0fe275f6486dc8ccee9caf0a
https://github.com/llvm/llvm-project/commit/aa4e6d846fceed9e0fe275f6486dc8ccee9caf0a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
Log Message:
-----------
[Mips] Rename MipsExprKind to Specifier
Follow the X86 renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
In addition, rename MipsMCExpr::getKind, which confusingly shadows the base class getKind.
Commit: c2692afc0a92cd5da140dfcdfff7818a5b8ce997
https://github.com/llvm/llvm-project/commit/c2692afc0a92cd5da140dfcdfff7818a5b8ce997
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
Log Message:
-----------
[PowerPC] Rename VariantKind to Specifier
Follow the X86 and Mips renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: 13bb2f450ef9f64f393fe5527e5ac68362af8ccd
https://github.com/llvm/llvm-project/commit/13bb2f450ef9f64f393fe5527e5ac68362af8ccd
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
Log Message:
-----------
[MC] Rename some VariantKind functions to use Specifier
Use the more appropriate term "relocation specifier" and avoid the
variable name `Kind`, which conflicts with MCExpr and FixupKind.
Commit: 599005686a1c27ffe97bb4eb07fcd98359a2af99
https://github.com/llvm/llvm-project/commit/599005686a1c27ffe97bb4eb07fcd98359a2af99
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/PhiValues.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/tools/llvm-exegesis/lib/Clustering.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#132325)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 3041fa6c7a3033040dce0933455be014760c6cb1
https://github.com/llvm/llvm-project/commit/3041fa6c7a3033040dce0933455be014760c6cb1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Analysis/TopologicalSortUtils.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Use *Set::insert_range (NFC) (#132326)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 42a8813757dca4eed0ac462ed371f15b4ff004eb
https://github.com/llvm/llvm-project/commit/42a8813757dca4eed0ac462ed371f15b4ff004eb
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISCV] Rename VariantKind to Specifier
Follow the X86 and Mips renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: c9055e9780683735392ac0e74163020015eabf15
https://github.com/llvm/llvm-project/commit/c9055e9780683735392ac0e74163020015eabf15
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[RISCV] Remove Specifier::VK_Invalid
Commit: 75c6fd3c8324d82daf713bcd1c6031dae64759f6
https://github.com/llvm/llvm-project/commit/75c6fd3c8324d82daf713bcd1c6031dae64759f6
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcMCInstLower.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
[Sparc] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: f5f6af8e7c0168327015717fc0b452f6152319af
https://github.com/llvm/llvm-project/commit/f5f6af8e7c0168327015717fc0b452f6152319af
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
A llvm/test/CodeGen/AArch64/cond-br-tuning-instr-ref.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-cond-br-tuning. (#132081)
The aarch64-cond-br-tuning pass transforms a CBZX instruction into a
conditional branch (B.cond). One of the by products of the
transformation is that the source instruction of the CBZX, which is an
ANDXri instruction, gets transformed into a ANDSXri instruction, however
this transformation doesn't preserve it's debug instruction number.
This patch fixes that issue.
Commit: 910f7f45f27d1f3cfad779669d0e0f15ff5b9686
https://github.com/llvm/llvm-project/commit/910f7f45f27d1f3cfad779669d0e0f15ff5b9686
Author: Brad Smith <brad at comstyle.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
Log Message:
-----------
[Driver] Haiku address sanitizer support (#132335)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: 111cc472d1297386bc3220659d3faec2c29795cf
https://github.com/llvm/llvm-project/commit/111cc472d1297386bc3220659d3faec2c29795cf
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
[AVR] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: ad0827d364293a42540885ae41b78995e2818581
https://github.com/llvm/llvm-project/commit/ad0827d364293a42540885ae41b78995e2818581
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/pr14166.ll
Log Message:
-----------
[GVN] Add MemorySSA checks in tests 1/N (#130261)
Add MemorySSA checks in some GVN tests. This is first patch of the series and many more might come based on tests pass/fail.
Commit: 1667a2afd86ffbfc376cb2550205abf0f1a4f064
https://github.com/llvm/llvm-project/commit/1667a2afd86ffbfc376cb2550205abf0f1a4f064
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
Log Message:
-----------
[clang][ExprConst] Check record base classes for valid structs (#132270)
In error cases, the base might be None.
Fixes https://github.com/llvm/llvm-project/issues/132257
Commit: 2089b081ff2b8acb50bc0b9da7a3cf44387d797e
https://github.com/llvm/llvm-project/commit/2089b081ff2b8acb50bc0b9da7a3cf44387d797e
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
Log Message:
-----------
[ARM] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: 103119a435c9cd1c73da92758a503abee1bac3da
https://github.com/llvm/llvm-project/commit/103119a435c9cd1c73da92758a503abee1bac3da
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/wide-simd-mul.ll
Log Message:
-----------
[WebAssembly] Lower wide SIMD i8 muls (#130785)
Currently, 'wide' i32 simd multiplication, with extended i8 elements,
will perform the multiplication with i32 So, for IR like the following:
```
%wide.a = sext <8 x i8> %a to <8 x i32>
%wide.b = sext <8 x i8> %a to <8 x i32>
%mul = mul <8 x i32> %wide.a, %wide.b
ret <8 x i32> %mul
```
We would generate the following sequence:
```
i16x8.extend_low_i8x16_s $push6=, $1
local.tee $push5=, $3=, $pop6
i32x4.extmul_low_i16x8_s $push0=, $pop5, $3
v128.store 0($0), $pop0
i8x16.shuffle $push1=, $1, $1, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
i16x8.extend_low_i8x16_s $push4=, $pop1
local.tee $push3=, $1=, $pop4
i32x4.extmul_low_i16x8_s $push2=, $pop3, $1
v128.store 16($0), $pop2
return
```
But now we perform the multiplication with i16, resulting in:
```
i16x8.extmul_low_i8x16_s $push3=, $1, $1
local.tee $push2=, $1=, $pop3
i32x4.extend_high_i16x8_s $push0=, $pop2
v128.store 16($0), $pop0
i32x4.extend_low_i16x8_s $push1=, $1
v128.store 0($0), $pop1
return
```
Commit: 058a4e8170f2c66764b78c88e574d5c364c6bd93
https://github.com/llvm/llvm-project/commit/058a4e8170f2c66764b78c88e574d5c364c6bd93
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
[LoongArch] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
The parseSpecifier name follows Sparc.
Commit: be258a2c2de0417716800fd07ef91572fbf20fce
https://github.com/llvm/llvm-project/commit/be258a2c2de0417716800fd07ef91572fbf20fce
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
M llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
Log Message:
-----------
[SSAUpdaterBulk] Fix incorrect live-in values for a block. (#131762)
The previous implementation incorrectly calculated incoming values from
loop backedges, as demonstrated by the tests. The issue was that it did
not distinguish between live-in and live-out values for blocks. This
patch addresses the problem and fixes
https://github.com/llvm/llvm-project/pull/131761.
To avoid bloating storage in `R.Defines`, processing data has been moved
to a temporary map `BBInfos`. This change helps manage heap allocation
more efficiently and likely improves caching.
Commit: 17b202fc17f2b4b1df3e8fc842226597a0ed364e
https://github.com/llvm/llvm-project/commit/17b202fc17f2b4b1df3e8fc842226597a0ed364e
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Add an option to prioritize vectorization (#131988)
The LoopInterchange cost-model consists of several decision rules. They
are called one by one, and if some rule can determine the profitability,
then the subsequent rules aren't called. In the current implementation,
the rule for `CacheCostAnalysis` is called first, and if it fails to
determine the profitability, then the rule for vectorization is called.
However, there are cases where interchanging loops for vectorization
makes the code faster even if such exchanges are detrimental to the
cache. For example, exchanging the inner two loops in the following
example looks about x3 faster in my local (compiled with `-O3
-mcpu=neoverse-v2 -mllvm -cache-line-size=64`), even though it's
rejected by the rule based on cache cost. (NOTE: LoopInterchange cannot
exchange these loops due to legality checks. This should also be
improved.)
```c
__attribute__((aligned(64))) float aa[256][256],bb[256][256],cc[256][256],
dd[256][256],ee[256][256],ff[256][256];
// Alternative of TSVC s231 with more array accesses than the original.
void s231_alternative() {
for (int nl = 0; nl < 100*(100000/256); nl++) {
for (int i = 0; i < 256; ++i) {
for (int j = 1; j < 256; j++) {
aa[j][i] = aa[j-1][i] + bb[j][i] + cc[i][j]
+ dd[i][j] + ee[i][j] + ff[i][j];
}
}
}
}
```
This patch introduces a new option to prioritize the vectorization rule
over the cache cost rule.
Related issue: #131130
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: d6dc74e19f5cdb6995b13329480e330aff113f96
https://github.com/llvm/llvm-project/commit/d6dc74e19f5cdb6995b13329480e330aff113f96
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
Log Message:
-----------
[LoongArch] Fix the type of tls-le symbols (#132324)
Commit: 29e1a7673c969e702f0b86527d811e7160cfe4ef
https://github.com/llvm/llvm-project/commit/29e1a7673c969e702f0b86527d811e7160cfe4ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
[llvm-exegesis] Avoid repeated hash lookups (NFC) (#132331)
Commit: 03557169e0ad0fe6bdfc680473c5ebdeb63d9ddb
https://github.com/llvm/llvm-project/commit/03557169e0ad0fe6bdfc680473c5ebdeb63d9ddb
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
R bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: streamline issue reporting (#131896)
In preparation for adding more gadget kinds to detect, streamline
issue reporting.
Rename classes representing issue reports. In particular, rename
`Annotation` base class to `Report`, as it has nothing to do with
"annotations" in `MCPlus` terms anymore. Remove references to "return
instructions" from variable names and report messages, use generic
terms instead. Rename NonPacProtectedRetAnalysis to PAuthGadgetScanner.
Remove `GeneralDiagnostic` as a separate class, make `GenericReport`
(former `GenDiag`) store `std::string Text` directly. Remove unused
`operator=` and `operator==` methods, as `Report`s are created on the
heap and referenced via `shared_ptr`s.
Introduce `GadgetKind` class - currently, it only wraps a `const char *`
description to display to the user. This description is intended to be
a per-gadget-kind constant (or a few hard-coded constants), so no need
to store it to `std::string` field in each report instance. To handle
both free-form `GenericReport`s and statically-allocated messages
without unnecessary overhead, move printing of the report header to the
base class (and take the message argument as a `StringRef`).
Commit: 6da8f5661961416c704061a9d401ea6ae480cbc1
https://github.com/llvm/llvm-project/commit/6da8f5661961416c704061a9d401ea6ae480cbc1
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/parallel_for_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
Log Message:
-----------
[OpenMP 6.0] Parse/Sema support for reduction over private variable with reduction clause. (#129938)
Initial Parse/Sema support for reduction over private variable with
reduction clause.
Section 7.6.10 in in OpenMP 6.0 spec.
- list item in a reduction clause can now be private in the enclosing
context.
- Added support for _original-sharing-modifier_ with reduction clause.
---------
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: f4ec179bf5295f92aa0346392a58fad54f9b458e
https://github.com/llvm/llvm-project/commit/f4ec179bf5295f92aa0346392a58fad54f9b458e
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Fix undefined behavior in `isLegalAddImmediate` (#132219)
Building clang under UBsan, it reported an integer overflow in this
function when the input value was -2^63, because it's UB to pass the
maximum negative value of an integer type to `std::abs`.
Fixed by adding a new absolute-value function in `MathExtras.h` whose
return type is the unsigned version of the argument type, and using that
instead.
(This seems like the kind of thing C++ should have already had, but
apparently it doesn't, and I couldn't find an existing one in LLVM
Support either.)
Commit: 2170d77e5dfd0a096ab16ecb3c3d82b86dc83a45
https://github.com/llvm/llvm-project/commit/2170d77e5dfd0a096ab16ecb3c3d82b86dc83a45
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[MLIR][Affine] Fix getAccessRelation for 0-d memrefs (#132347)
Fix getAccessRelation for 0-d memref accesses in certain cases. Fixes
corner case crashes when using scalrep, affine dep analysis, etc.
Fixes: https://github.com/llvm/llvm-project/issues/132163
Commit: f89a7fa319ccd903a9db69a9e32e1e63d866c5f8
https://github.com/llvm/llvm-project/commit/f89a7fa319ccd903a9db69a9e32e1e63d866c5f8
Author: Robert O'Callahan <rocallahan at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Ignore registers that the debugserver fails to read (#132122)
On Mac x86-64, the debugserver reports a register ('ds' at least) but
returns an error when we try to read it. Just skip storing such
registers in snapshots so we won't try to restore them.
Commit: cd6b7448d5fd18cfc69efaa03c082eed51d53009
https://github.com/llvm/llvm-project/commit/cd6b7448d5fd18cfc69efaa03c082eed51d53009
Author: Josep Pinot <josep.pinot at bsc.es>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_tasking.cpp
R openmp/runtime/test/tasking/omp_record_replay_random_id.cpp
R openmp/runtime/test/tasking/omp_record_replay_reset.cpp
Log Message:
-----------
Revert "Update OpenMP runtime to adopt taskgraph clause from 6.0 Specs" (#131571)
Commit: 77edfbb96cf5978bd2719978a34dfb4cf62d37c9
https://github.com/llvm/llvm-project/commit/77edfbb96cf5978bd2719978a34dfb4cf62d37c9
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Don't count canceled buildkite builds (#132015)
We don't count canceled jobs on GCP, so we shouldn't count canceled jobs
on Buildkite neither.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 7f8451c868cdc91481f9629517db3f53349514b7
https://github.com/llvm/llvm-project/commit/7f8451c868cdc91481f9629517db3f53349514b7
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
Log Message:
-----------
[RISCV] Use vsetvli instead of vlenb in Prologue/Epilogue (#113756)
Currently, we use `csrr` with `vlenb` to obtain the `VLEN`, but this is
not the only option. We can also use `vsetvli` with `e8`/`m1` to get
`VLENMAX`, which is equal to the VLEN. This method is preferable on some
microarchitectures and makes it easier to obtain values like `VLEN * 2`,
`VLEN * 4`, or `VLEN * 8`, reducing the number of instructions needed to
calculate VLEN multiples.
However, this approach is *NOT* always interchangeable, as it changes
the state of `VTYPE` and `VL`, which can alter the behavior of vector
instructions, potentially causing incorrect code generation if applied
after a vsetvli insertion. Therefore, we limit its use to the
prologue/epilogue for now, as there are no vector operations within the
prologue/epilogue sequence.
With further analysis, we may extend this approach beyond the
prologue/epilogue in the future, but starting here should be a good
first step.
This feature is gurded by the `+prefer-vsetvli-over-read-vlenb` feature,
which is disabled by default for now.
Commit: 690b8b4e942e28988fc35bfd13ddc69db20b8de9
https://github.com/llvm/llvm-project/commit/690b8b4e942e28988fc35bfd13ddc69db20b8de9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld] Avoid repeated map lookups (NFC) (#132327)
Commit: 4e69258bf390b51ed5bc65e7cea4cbcfbb62bd44
https://github.com/llvm/llvm-project/commit/4e69258bf390b51ed5bc65e7cea4cbcfbb62bd44
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
Log Message:
-----------
[LoopVectorize] Add cost of generating tail-folding mask to the loop (#130565)
At the moment if we decide to enable tail-folding we do not include
the cost of generating the mask per VF. This can mean we make some
poor choices of VF, which is definitely true for SVE-enabled AArch64
targets where mask generation for fixed-width vectors is more
expensive than for scalable vectors.
I've added a VPInstruction::computeCost function to return the costs
of the ActiveLaneMask and ExplicitVectorLength operations.
Unfortunately, in order to prevent asserts firing I've also had to
duplicate the same code in the legacy cost model to make sure the
chosen VFs match up. I've wrapped this up in a ifndef NDEBUG for
now. The alternative would be to disable the assert completely when
tail-folding, which I imagine is just as bad.
New tests added:
Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
Commit: 2e3fa4ba9e0b65cf59f7b67a8bdf2377611cd067
https://github.com/llvm/llvm-project/commit/2e3fa4ba9e0b65cf59f7b67a8bdf2377611cd067
Author: Stephen Thomas <104134586+stepthomas at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/force-wait-after-always-gds.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll
Log Message:
-----------
[AMDGPU] Insert before and after instructions that always use GDS (#131338)
It is an architectural requirement that there must be no outstanding GDS
instructions when an "always GDS" instruction is issued, and also that
an always GDS instruction must be allowed to complete.
Insert waits on DScnt/LGKMcnt prior to (if necessary) and subsequent to
(unconditionally) any always GDS instruction, and an additional S_NOP if
the subsequent wait was followed by S_ENDPGM.
Always GDS instructions are GWS instructions, DS_ORDERED_COUNT,
DS_ADD_GS_REG_RTN, and DS_SUB_GS_REG_RTN (the latter two as considered
always GDS as of this patch).
Commit: 5488ad8f25cf6052ad5d03a911c68dd9d5c6460f
https://github.com/llvm/llvm-project/commit/5488ad8f25cf6052ad5d03a911c68dd9d5c6460f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for X86ISD::VPERMILPV nodes (#132355)
Concat the nodes if we can merge either of the operands for free.
Commit: 387f3e8f986d53067a68aa0d7b058a0ce81ec941
https://github.com/llvm/llvm-project/commit/387f3e8f986d53067a68aa0d7b058a0ce81ec941
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] s/ValidRange/ValidRanges in UnwindPlan (#127661)
To be able to describe discontinuous functions, this patch changes the
UnwindPlan to accept more than one address range.
I've also squeezed in a couple improvements/modernizations, for example
using the lower_bound function instead of a linear scan.
Commit: 44261dae5b3cd330cfcbd7ada51a8ed532103e98
https://github.com/llvm/llvm-project/commit/44261dae5b3cd330cfcbd7ada51a8ed532103e98
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/dot_product-lowering.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/product-lowering.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/associate-construct.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-issue-124043.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-as-inquired.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/reshape.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/loc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/second.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/shape.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/simd_x86_64.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
M flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang][NFC] use hlfir.declare first result when both results are raw pointers (#132261)
Currently, the helpers to get fir::ExtendedValue out of hlfir::Entity
use hlfir.declare second result (`#1`) in most cases. This is because
this result is the same as the input and matches what FIR was getting
before lowering to HLFIR.
But this creates odd situations when both hlfir.declare are raw pointers
and either result ends-up being used in the IR depending on whether the
code was generated by a helper using fir::ExtendedValue, or via "pure
HLFIR" helpers using the first result.
This will typically prevent simple CSE and easy identification that two
operation (e.g load/store) are touching the exact same memory location
without using alias analysis or "manual detection" (looking for common
hlfir.declare defining op).
Hence, when hlfir.declare results are both raw pointers, use `#0` when
producing `fir::ExtendedValue`.
When `#0` is a fir.box, keep using `#1` because these are not the same.
The only code change is in HLFIRTools.cpp and is pretty small, but there
is a big test fallout of `#1` to `#0`.
Commit: 3bcab6f20ab73098f3c3e46db21bb1bccf11f782
https://github.com/llvm/llvm-project/commit/3bcab6f20ab73098f3c3e46db21bb1bccf11f782
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/depend01.f90
Log Message:
-----------
[flang][OpenMP][Semantics] improve semantic checks for array sections (#132230)
I'm not sure why strides were not allowed in array sections: the stride
is explicitly allowed by the standard from the first version where array
sections were introduced. The limitation is that the stride must not be
negative.
Here I have added the check for a negative stride and updated the test
for a zero length section to take account of the stride.
Commit: 4b419840c883b0de03ae72c7d352c37f24c1932c
https://github.com/llvm/llvm-project/commit/4b419840c883b0de03ae72c7d352c37f24c1932c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb] Show target.debug-file-search-paths setting from python SBDebugger (#131683)
When printing setting variables using the python SBDebugger API if the type is of OptionValueFileSpec
it defaults to null as the value even if it has a value. This patch fixes that.
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 52de49e4b9cd69957b7dc50a5fed061ecd0b0d77
https://github.com/llvm/llvm-project/commit/52de49e4b9cd69957b7dc50a5fed061ecd0b0d77
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
Log Message:
-----------
[lldb][debugserver][MacOSX] Work around sanitizer misaligned address errors when reading exception data (#132193)
We've been dealing with UBSAN issues around this code for some time now
(see `9c36859b33b386fbfa9599646de1e2ae01158180` and
`1a2122e9e9d1d495fdf337a4a9445b61ca56df6f`). On recent macOS versions, a
UBSAN-enabled debugserver will crash when performing a `memcpy` of the
input `mach_exception_data_t`. The pointer to the beginning of the
exception data may not be aligned on a doubleword boundary, leading to
UBSAN failures such as:
```
$ ./bin/debugserver 0.0.0.0:5555 /Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/build-sanitized-release/tools/lldb/test/Shell/Recognizer/Output/verbose_trap.test.tmp.out
/Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/lldb/tools/debugserver/source/MacOSX/MachException.cpp:35:12: runtime error: store to misaligned address 0x00016ddfa634 for type 'mach_exception_data_type_t *' (aka 'long long *'), which requires 8 byte alignment
0x00016ddfa634: note: pointer points here
02 00 00 00 03 00 01 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/lldb/tools/debugserver/source/MacOSX/MachException.cpp:35:12
```
Work around these failures by pretending the input data is a `char*`
buffer.
Drive-by changes:
* I factored out some duplicated code into a static
`AppendExceptionData` and made the types consistent
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 123eb75cd43a5181c324efc033e978f0f1ed4598
https://github.com/llvm/llvm-project/commit/123eb75cd43a5181c324efc033e978f0f1ed4598
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[Flang] Do not emit numeric_storage_size into object file (#131463)
The value of numeric_storage_size depends on compilation options and
therefore its value is not yet known when building the builtins runtime.
Instead, the parameter is folding a __numeric_storage_size() expression
which is loaded into the user program. For the iso_fortran_env object
file, omit the symbol as it is never used.
Similar tests that ensure that __numeric_storage_size() is not folded
until compiling the actual user program exist in FortranEvalutate:
https://github.com/llvm/llvm-project/blob/1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d/flang/lib/Evaluate/check-expression.cpp#L487-L492
https://github.com/llvm/llvm-project/blob/1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d/flang/lib/Evaluate/fold-integer.cpp#L1457-L1460
Required for using CMake to compile the builtin module files. See RFC at
https://discourse.llvm.org/t/rfc-building-flangs-builtin-mod-files/84626
Commit: ff8a960ab1e3525ed23a9296a0ac89ff75d5bf08
https://github.com/llvm/llvm-project/commit/ff8a960ab1e3525ed23a9296a0ac89ff75d5bf08
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
Minor unused variable error for sanitizer builds (#132372)
Fix #132371
Minor error , sanitizer builds are failing for unused variable.
sanitizer-aarch64-linux/build/llvm-project/clang/lib/Serialization/ASTReader.cpp:11764:17:
error: unused variable 'I' [-Werror,-Wunused-variable]
11764 | for (unsigned I : llvm::seq<unsigned>(NumFlags))
This was modified as part of
[https://github.com/llvm/llvm-project/pull/129938](https://github.com/llvm/llvm-project/pull/129938)
, which got missed.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 09feaa9261448e72ce21394613e0a12f84c1b8d9
https://github.com/llvm/llvm-project/commit/09feaa9261448e72ce21394613e0a12f84c1b8d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
M llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
M llvm/test/MC/X86/avx10_2ni-32-intel.s
M llvm/test/MC/X86/avx10_2ni-64-att.s
Log Message:
-----------
Revert "[X86][AVX10.2] Support YMM rounding new instructions (#101825)" (#132362)
This reverts commit 0dba5381d8c8e4cadc32a067bf2fe5e3486ae53d.
YMM rounding was removed from AVX10 whitepaper. Ref:
https://cdrdv2.intel.com/v1/dl/getContent/784343
The MINMAX and SATURATING CONVERT instructions will be removed as a
follow up.
Commit: ea03bdee7081f25c652d581e274b10cb7c552357
https://github.com/llvm/llvm-project/commit/ea03bdee7081f25c652d581e274b10cb7c552357
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
A mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
Log Message:
-----------
[MLIR][AMDGPU] Adding Vector transfer_read to load rewrite pattern (#131803)
This PR adds the Vector transfer_read to load rewrite pattern. The
pattern creates a transfer read op lowering. A vector trasfer read op
will be lowered to a combination of `vector.load`, `arith.select` and
`vector.broadcast` if:
- The transfer op is masked.
- The memref is in buffer address space.
- Other conditions introduced from `TransferReadToVectorLoadLowering`
The motivation of this PR is due to the lack of support of masked load
from amdgpu backend. `llvm.intr.masked.load` lower to a series of
conditional scalar loads refer to (`scalarize-masked-mem-intrin` pass).
This PR will make it possible for masked transfer_read to be lowered
towards buffer load with bounds check, allowing a more optimized global
load accessing pattern compared with existing implementation of
`llvm.intr.masked.load` on vectors.
Commit: 281028e37ca6c97c62ba68cd43eda2ff95bc70c4
https://github.com/llvm/llvm-project/commit/281028e37ca6c97c62ba68cd43eda2ff95bc70c4
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
Log Message:
-----------
[LoopInterchange] Prevent from undoing its own transformation (#127473)
LoopInterchange uses the bubble-sort fashion algorithm to sort the loops
in a loop nest. For two loops `A` and `B`, it calls `isProfitable(A, B)`
to determine whether these loops should be exchanged. The result of
`isProfitable(A, B)` should be conservative, that is, it should return
true only when we are sure exchanging `A` and `B` will improve
performance. If it's not conservative enough, it's possible that a
subsequent `isProfitable(B, A)` will also return true, in which case
LoopInterchange will undo its previous transformation. To avoid such
cases, `isProfitable(B, A)` must not return true if `isProfitable(A, B)`
returned true in the past. However, the current implementation can be in
such a situation. This patch resolves it by correcting the handling of
two loops that have the same cache cost.
This resolve the problem mentioned in
https://github.com/llvm/llvm-project/pull/118267#issuecomment-2510759354.
Commit: 42d49a1a5b940c9a9a5da2488474be7adeb26095
https://github.com/llvm/llvm-project/commit/42d49a1a5b940c9a9a5da2488474be7adeb26095
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
Log Message:
-----------
[flang] fix openmp tests after #132261 (#132391)
I missed these tests in my test update after #132261 because they are
under `! REQUIRES: openmp_runtime`.
Broke build bots:
https://lab.llvm.org/buildbot/#/builders/50/builds/11789
Commit: 6b59b33358d250a6a1424de4a4379c52f7df2244
https://github.com/llvm/llvm-project/commit/6b59b33358d250a6a1424de4a4379c52f7df2244
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/Transforms/inlining.mlir
Log Message:
-----------
[MLIR] Handle call site locations when inlining (#132247)
When inlining a `callee` with a call site debug location, the inlining
infrastructure was trivially combining the `callee` and the `caller`
locations, forming a "tree" of call stacks. Because of this, the remarks
were printing an incomplete inlining stack.
This commit handles this case and appends the `caller` location at the
end of the `callee`'s stack, extending the chain.
Commit: 369be311a7b8344699d12719a8fa557fe8934e46
https://github.com/llvm/llvm-project/commit/369be311a7b8344699d12719a8fa557fe8934e46
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
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] Support conditional faulting load or store only (#132032)
This is to fix a bug when a target only support conditional faulting
load, see test case hoist_store_without_cstore.
Split `-simplifycfg-hoist-loads-stores-with-cond-faulting` into
`-simplifycfg-hoist-loads-with-cond-faulting` and
`-simplifycfg-hoist-stores-with-cond-faulting` to control conditional
faulting load and store respectively.
Commit: 561dcb26d4597b592caa417d36c1a4e09fb2be2d
https://github.com/llvm/llvm-project/commit/561dcb26d4597b592caa417d36c1a4e09fb2be2d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/offload-Xarch.c
Log Message:
-----------
[Clang] Permit `-Xarch_` to be used with `--offload-arch` (#131884)
Summary:
The `--offload-arch` option is very complicated, but roughly behaves as
the `-march` option for several compilations at once. This creates
problems when we try to combine multiple separate architectures into
one, as happens with SYCL, OpenMP, and HIP w/ SPIR-V.
The existing solution used by OpenMP is the `-Xopenmp-target` option,
this lets you select which `--offload-arch` options go to which
toolchain. This patch permits `-Xarch_` to be used in the same way.
There are concerns about whether or not this falls into the `-Xarch_`
umbrella because it changes the driver behaviour, but I think this is
the
easiest way to handle this problem. The existing solution seems to be
prefixing things and adding more magic handling into `--offload-arch`.
Like SYCL is doing `nvidia_gpu_sm_89` instead of just `-Xarch_nvptx64
--offload-arch=sm_89`.
The only reason this is more complicated than just doing `-Xarch_sm_89
-march=...` is because we need to know to create multiple jobs for each
architecture.
Commit: e385ec90e2cbc6398cc6f445d995cf875bbc15b2
https://github.com/llvm/llvm-project/commit/e385ec90e2cbc6398cc6f445d995cf875bbc15b2
Author: Leonard Grey <lgrey at chromium.org>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/MachO/Writer.cpp
M lld/test/MachO/sub-library.s
Log Message:
-----------
[lld-macho] Don't double emit reexported libraries (#132275)
When a library is specified with both `-l` and `-reexport_libraries`,
lld will emit two load commands for it, in contrast with ld64.
In an upcoming version of macOS, this fails dyld validation; see
https://crbug.com/404905688
---------
Co-authored-by: Mark Rowe <markrowe at chromium.org>>
Commit: af93db9344919085551fac38d6d6a4f774a7220a
https://github.com/llvm/llvm-project/commit/af93db9344919085551fac38d6d6a4f774a7220a
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/COFF/MinGW.cpp
Log Message:
-----------
[LLD] [COFF] Add a few more mingw libs to skip autoexports for (#132289)
"libmsvcrt-os" was added to the list of excluded libs in binutils in
9d9c67b06c1bf4c4550e3de0eb575c2bfbe96df9 in 2017.
"libucrt" was added in c4a8df19ba0a82aa8dea88d9f72ed9e63cb1fa84 in 2022.
"libucrtapp" isn't in the binutils exclusion list yet, but a patch for
adding it has been submitted. Since
0d403d5dd13ce22c07418058f3b640708992890c in mingw-w64 (in 2020), there's
such a third variant of the UCRT import library available.
Since 18df3e8323dcf9fdfec56b5f12c04a9c723a0931 in 2025, "libpthread" and
"libwinpthread" are also excluded.
Commit: 610ade2ed7253593198287aa53a9b05852ef0ede
https://github.com/llvm/llvm-project/commit/610ade2ed7253593198287aa53a9b05852ef0ede
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Detect `66 90` two-byte NOP at 32-bit too. (#132267)
Observed in Wine when trying to intercept `ExitThread`, which forwards
to `ntdll.RtlExitUserThread`.
`gdb` interprets it as `xchg %ax,%ax`.
`llvm-mc` outputs simply `nop`.
```
==Asan-i386-calls-Dynamic-Test.exe==964==interception_win: unhandled instruction at 0x7be27cf0: 66 90 55 89 e5 56 50 8b
```
```
Wine-gdb> bt
#0 0x789a1766 in __interception::GetInstructionSize (address=<optimized out>, rel_offset=<optimized out>) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:983
#1 0x789ab480 in __sanitizer::SharedPrintfCode(bool, char const*, char*) () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp:311
#2 0x789a18e7 in __interception::OverrideFunctionWithHotPatch (old_func=2078440688, new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1118
#3 0x789a1f34 in __interception::OverrideFunction (old_func=2078440688, new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1224
#4 0x789a24ce in __interception::OverrideFunction (func_name=0x78a0bc43 <vtable for __asan::AsanThreadContext+1163> "ExitThread", new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1369
#5 0x789f40ef in __asan::InitializePlatformInterceptors () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_win.cpp:190
#6 0x789e0c3c in __asan::InitializeAsanInterceptors () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:802
#7 0x789ee6b5 in __asan::AsanInitInternal () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:442
#8 0x789eefb0 in __asan::AsanInitFromRtl () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:522
#9 __asan::AsanInitializer::AsanInitializer (this=<optimized out>) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:542
#10 __cxx_global_var_init () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:546
...
Wine-gdb> disassemble /r 2078440688,2078440688+20
Dump of assembler code from 0x7be27cf0 to 0x7be27d04:
0x7be27cf0 <_RtlExitUserThread at 4+0>: 66 90 xchg %ax,%ax
...
```
Commit: ac9049df7e62e2ca4dc5d103593b51639b5715e3
https://github.com/llvm/llvm-project/commit/ac9049df7e62e2ca4dc5d103593b51639b5715e3
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
A llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
A llvm/test/Transforms/LoopIdiom/strlen.ll
A llvm/test/Transforms/LoopIdiom/wcslen16.ll
A llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
Reland "[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)" (#131412)
Relands https://github.com/llvm/llvm-project/pull/108985
This PR continues the effort made in
https://discourse.llvm.org/t/rfc-strlen-loop-idiom-recognition-folding/55848
and https://reviews.llvm.org/D83392 and https://reviews.llvm.org/D88460
to extend `LoopIdiomRecognize` to find and replace loops of the form
```c
base = str;
while (*str)
++str;
```
and transforming the `strlen` loop idiom into the appropriate `strlen`
and `wcslen` library call which will give a small performance boost if
replaced.
```c
str = base + strlen(base)
len = str - base
```
Commit: 141656644959ea43b61868ef16e3d2782d40ea51
https://github.com/llvm/llvm-project/commit/141656644959ea43b61868ef16e3d2782d40ea51
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaCXX/ms-member-pointer.cpp
Log Message:
-----------
Reland: [clang] NFC: Clear some uses of MemberPointerType::getClass (#132317)
Relands Original PR: https://github.com/llvm/llvm-project/pull/131965
Addresses
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
* Fixes isIncompleteType for injected classes
This clears up some uses of getClass on MemberPointerType when
equivalent uses of getMostRecentCXXRecordDecl would be just as simple or
simpler.
This is split-off from a larger patch which removes getClass, in order
to facilitate review.
Commit: 5286511adc94529c2d0ee9ea37c121ff7eaea223
https://github.com/llvm/llvm-project/commit/5286511adc94529c2d0ee9ea37c121ff7eaea223
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][NFC] use platform independent path separator in testSettings.py. (#132392)
The build bot was failing when running remote test from windows to
linux.
>From #131683
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 857a04cd7670b629b560ba7e67c758a0c15e0841
https://github.com/llvm/llvm-project/commit/857a04cd7670b629b560ba7e67c758a0c15e0841
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/AArch64/sms-unpipeline-insts3.mir
Log Message:
-----------
[MachinePipeliner] Fix incorrect handlings of unpipelineable insts (#126057)
There was a case where `normalizeNonPipelinedInstructions` didn't
schedule unpipelineable instructions correctly, which could generate
illegal code. This patch fixes this issue by rejecting the schedule if
we fail to insert the unpipelineable instructions at stage 0.
Here is a part of the debug output for `sms-unpipeline-insts3.mir`
before applying this patch.
```
SU(0): %27:gpr32 = PHI %21:gpr32all, %bb.3, %28:gpr32all, %bb.4
Successors:
SU(14): Data Latency=0 Reg=%27
SU(15): Anti Latency=1
...
SU(14): %41:gpr32 = ADDWrr %27:gpr32, %12:gpr32common
Predecessors:
SU(0): Data Latency=0 Reg=%27
SU(16): Ord Latency=0 Artificial
Successors:
SU(15): Data Latency=1 Reg=%41
SU(15): %28:gpr32all = COPY %41:gpr32
Predecessors:
SU(14): Data Latency=1 Reg=%41
SU(0): Anti Latency=1
SU(16): %30:ppr = WHILELO_PWW_S %27:gpr32, %15:gpr32, implicit-def $nzcv
Predecessors:
SU(0): Data Latency=0 Reg=%27
Successors:
SU(14): Ord Latency=0 Artificial
...
Do not pipeline SU(16)
Do not pipeline SU(1)
Do not pipeline SU(0)
Do not pipeline SU(15)
Do not pipeline SU(14)
SU(0) is not pipelined; moving from cycle 19 to 0 Instr: ...
SU(1) is not pipelined; moving from cycle 10 to 0 Instr: ...
SU(15) is not pipelined; moving from cycle 28 to 19 Instr: ...
SU(16) is not pipelined; moving from cycle 19 to 0 Instr: ...
Schedule Found? 1 (II=10)
...
cycle 9 (1) (14) %41:gpr32 = ADDWrr %27:gpr32, %12:gpr32common
cycle 9 (1) (15) %28:gpr32all = COPY %41:gpr32
```
The SUs are traversed in the order of the original basic block, so in
this case a new cycle of each instruction is determined in the order of
`SU(0)`, `SU(1)`, `SU(14)`, `SU(15)`, `SU(16)`. Since there is an
artificial dependence from `SU(16)` to `SU(14)`, which is contradict to
the original SU order, the new cycle of `SU(14)` must be greater than or
equal to the cycle of `SU(16)` at that time. This results in the failure
of scheduling `SU(14)` at stage 0. For now, we reject the schedule for
such cases.
Commit: c4eec9eb52c604c1d54d86181bcce92f3cbc61ec
https://github.com/llvm/llvm-project/commit/c4eec9eb52c604c1d54d86181bcce92f3cbc61ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for consecutive extracts of upper subvectors (#132389)
We already fold concat(extract_subvector(x,0), extract_subvector(x,numsubelts)) -> (wider lower half) extract_subvector(x,0)
This patch extends this handling for the concat(extract_subvector(x,c), extract_subvector(x,c+numsubelts)) -> (wider upper half) extract_subvector(x,c) case as well
Commit: 13c2378599ffd887319b2d314f307ea761596ec1
https://github.com/llvm/llvm-project/commit/13c2378599ffd887319b2d314f307ea761596ec1
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.ll
R llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Expand test coverage for DAG store merging
Two sets of additions:
1) Exercise the rotation path, both for integer and float
2) Exercise the aligned and unaligned paths separately
Commit: f0eeb9fb24d848012d6fab1cf018f99bd4d22127
https://github.com/llvm/llvm-project/commit/f0eeb9fb24d848012d6fab1cf018f99bd4d22127
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineGatherScatter - pull out repeated index sign bits code. NFC. (#132399)
Minor cleanup to make it easier to handle more index simplification and truncation to vXi32 types in future patches.
Commit: 0ea4fb92648b2aa7cbab486bb493e122b4dcc062
https://github.com/llvm/llvm-project/commit/0ea4fb92648b2aa7cbab486bb493e122b4dcc062
Author: Yi Qian <68618497+yiqian1 at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp.mlir
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats-ocp.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMD][ROCDL] Add packed conversions fp8/bf8->bf16 and fp8/bf8->fp32 in ROCDL dialect (#131850)
- Add packed conversions fp8/bf8->bf16 for gfx950 and fp8/bf8->fp32 for
gfx942 in ROCDL dialect
- Update amdgpu.ext_packed_fp8 lowering to use ROCDL packed fp8/bf8->f32
conversions for vector target types and ROCDL scalar fp8/bf8->fp32 for
scalar target type.
---------
Co-authored-by: Jungwook Park <jungwook.park at amd.com>
Commit: 924c7ea76af0c3ab53dc7287d046fb614b4e33dc
https://github.com/llvm/llvm-project/commit/924c7ea76af0c3ab53dc7287d046fb614b4e33dc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
M llvm/test/MC/X86/avx10.2convert-32-att.s
M llvm/test/MC/X86/avx10.2convert-32-intel.s
M llvm/test/MC/X86/avx10.2convert-64-att.s
M llvm/test/MC/X86/avx10.2convert-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VCVT2PS2PHX (#132397)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: 968ecc7bfe2eb98bd087fbb0ac529a4c1b81b482
https://github.com/llvm/llvm-project/commit/968ecc7bfe2eb98bd087fbb0ac529a4c1b81b482
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Avoid repeated hash lookups (NFC) (#132328)
Commit: 67a631b40673ed061abcb842feb840d982dfc6d9
https://github.com/llvm/llvm-project/commit/67a631b40673ed061abcb842feb840d982dfc6d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackColoring.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#132329)
Commit: e97a4cde8c6a135ceb85612d10ceaa5ab3dbcc53
https://github.com/llvm/llvm-project/commit/e97a4cde8c6a135ceb85612d10ceaa5ab3dbcc53
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#132330)
Commit: a2661a9904f3633e438bcdc3922d99ef72ef27fb
https://github.com/llvm/llvm-project/commit/a2661a9904f3633e438bcdc3922d99ef72ef27fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
Log Message:
-----------
[mlir] Avoid repeated hash lookups (NFC) (#132332)
Commit: a013387f73cec51c2df4f7732fa87aa01709cc89
https://github.com/llvm/llvm-project/commit/a013387f73cec51c2df4f7732fa87aa01709cc89
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
Log Message:
-----------
[DebugInfo] Use heterogenous lookups with std::map (NFC) (#132354)
Heterogenous lookups allow us to call find with StringRef, avoiding a
temporary heap allocation of std::string.
Commit: d4ce57cb98dbe753d246ae5395cc5ac6da8afa88
https://github.com/llvm/llvm-project/commit/d4ce57cb98dbe753d246ae5395cc5ac6da8afa88
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/generic/CMakeLists.txt
Log Message:
-----------
[libc] Fix unresolved stdio symbols (#132403)
Summary:
We have 'generic' implementations for some functions stdio functions.
The current logic mandates that all generic functions are implemented by
the target. This obviously isn't true and this caused the GPU builds to
fail once baremtal added some extra ones.
This patch changes the logic to always include the generic sources only
if they aren't already defined. This can probably be cleaned up and
formalized later, since this pattern is copied in many places, but for
now this fixes the failing GPU build bots.
Commit: f7a32b85b56b20382a8100498874ef9d3c5b0b77
https://github.com/llvm/llvm-project/commit/f7a32b85b56b20382a8100498874ef9d3c5b0b77
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
A llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
Log Message:
-----------
[MC][SystemZ] Introduce Target Specific HLASM Streamer for z/OS (#130535)
A more fleshed out version of a previous PR
https://github.com/llvm/llvm-project/pull/107415. The goal is to provide
platforms an alternative to the current MCAsmStreamer which only
supports the GNU Asm syntax.
RFC:
https://discourse.llvm.org/t/rfc-llvm-add-support-for-target-specific-asm-streamer/85095
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: fa4bf3a11a42a098cae63cc81d99b262d34479fb
https://github.com/llvm/llvm-project/commit/fa4bf3a11a42a098cae63cc81d99b262d34479fb
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][NFC] Fix test settings JSON check to compare expected path list. (#132410)
Previously, the test compared the JSON output to `setting_value` which
was incorrect. Updated the assertion to validate against the correct
list of paths `[path1, path2]` to ensure accurate test behavior.
Ran the test on the local computer
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 6bbd45dec7f3aef58accb935c685e802d6972dec
https://github.com/llvm/llvm-project/commit/6bbd45dec7f3aef58accb935c685e802d6972dec
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
Log Message:
-----------
[NFC][BOLT] Refactor ForcePatch option (#127812)
Move force-patch flag to CommandLineOpts and add details on
PatchEntries.
Commit: 79079c94699a4210bd500556d2864cbdf4a37e78
https://github.com/llvm/llvm-project/commit/79079c94699a4210bd500556d2864cbdf4a37e78
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/routine-construct.cpp
R clang/test/SemaOpenACC/unimplemented-construct.c
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[OpenACC] Finish implementing 'routine' AST/Sema.
This is the last item of the OpenACC 3.3 spec. It includes the
implicit-name version of 'routine', plus significant refactorings to
make the two work together. The implicit name version is represented as
an attribute on the function call. This patch also implements the
clauses for the implicit-name version, as well as the A.3.4 warning.
Commit: 954a3de7838a8c496ef1d1730127415b3e9786f9
https://github.com/llvm/llvm-project/commit/954a3de7838a8c496ef1d1730127415b3e9786f9
Author: Justin Cady <desk at justincady.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
Log Message:
-----------
Reland [Coverage] Fix region termination for GNU statement expressions (#132222)
Relands #130976 with adjustments to test requirements.
Calls to __noreturn__ functions result in region termination for
coverage mapping. But this creates incorrect coverage results when
__noreturn__ functions (or other constructs that result in region
termination) occur within [GNU statement expressions][1].
In this scenario an extra gap region is introduced within VisitStmt,
such that if the following line does not introduce a new region it
is unconditionally counted as uncovered.
This change adjusts the mapping such that terminate statements
within statement expressions do not propagate that termination
state after the statement expression is processed.
[1]: https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
Fixes #124296
Commit: f8865aa876a663a26d0b9ce5d26c9d6df6b9d18f
https://github.com/llvm/llvm-project/commit/f8865aa876a663a26d0b9ce5d26c9d6df6b9d18f
Author: David Peixotto <peix at meta.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/process/launch/TestProcessLaunch.py
M lldb/test/API/source-manager/TestSourceManager.py
Log Message:
-----------
[lldb] Fix tests to resolve symlinks when checking paths (#132053)
The inferior used in the process launch test prints out its working
directory using the `getcwd` function, which is not allowed to return
symbolic links in the path components. When testing against the output
from `getcwd` we should resolve the full path to match the expected
output.
The source manager test sets a breakpoint on a main-copy.c file that is
copied into the build output directory. The source manager resolves this
path to its real location. When testing the output from the source cache
we need to resolve the expected path in the test to remove symlinks.
Commit: 4a2ab3afdb2dfed90fc2dc53c52fb3c97806e0f4
https://github.com/llvm/llvm-project/commit/4a2ab3afdb2dfed90fc2dc53c52fb3c97806e0f4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove trailing whitespace. NFC
Commit: bd6df0fe21faeaf3fd2a8ad17074f10620c78378
https://github.com/llvm/llvm-project/commit/bd6df0fe21faeaf3fd2a8ad17074f10620c78378
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/src/__support/RPC/rpc_server.h
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M llvm/tools/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/amdhsa.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
A llvm/tools/llvm-gpu-loader/nvptx.cpp
A llvm/tools/llvm-gpu-loader/server.h
Log Message:
-----------
Reapply "[LLVM] Make the GPU loader utilities an LLVM tool (#132096)" (#132277)
Summary:
There were a few issues with the first one, leading to some errors and
warnings. Most importantly, this was building on MSVC which isn't
supported.
Commit: f51e5f3f651af8a83d429fde54bf24ccb03fa420
https://github.com/llvm/llvm-project/commit/f51e5f3f651af8a83d429fde54bf24ccb03fa420
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/Transforms/loop.cir
Log Message:
-----------
[CIR] Upstream initial for-loop support (#132266)
This change adds support for empty for-loops. This will be the
infrastructre needed for complete for loops, but that depends on compare
operations, which have not been upstreamed yet.
Commit: 4dd7feab2bc81273f72c494f17ae0dc9661fdcf8
https://github.com/llvm/llvm-project/commit/4dd7feab2bc81273f72c494f17ae0dc9661fdcf8
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add more error_if checks for Resize Op (#132290)
Some of the error_if checks were missed in this PR:
https://github.com/llvm/llvm-project/pull/124956
Add back those tests to check suitable sizes for Resize
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 14f7bd63b95d0f61a6f47119ac66398ca230559a
https://github.com/llvm/llvm-project/commit/14f7bd63b95d0f61a6f47119ac66398ca230559a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Reland: [clang] preserve class type sugar when taking pointer to member (#132401)
Original PR: #130537
Originally reverted due to revert of dependent commit. Relanding with no
changes.
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the base class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntatically, and
they represent the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements.
Commit: b858ba0f6597c66e5c276ca9e2564ca27e7e28e7
https://github.com/llvm/llvm-project/commit/b858ba0f6597c66e5c276ca9e2564ca27e7e28e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Fix capitalization of CHECK prefix in riscv-target-features.c. NFC
Commit: 5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
https://github.com/llvm/llvm-project/commit/5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
Author: Daniel Zabawa <daniel.zabawa at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/ndd-false-deps-asm.mir
A llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
Log Message:
-----------
[X86] Prevent APX NDD compression when it creates a partial write (#132051)
APX NDD instructions may be compressed when the result is also a source.
For 8/16b instructions, this may create partial register write hazards
if a previous super-register def is within the partial reg update
clearance, or incorrect code if the super-register is not dead.
This change prevents compression when the super-register is marked as an
implicit define, which the virtual rewriter already adds in the case
where a subregister is defined but the super-register is not dead.
The BreakFalseDeps interface is also updated to add implicit
super-register defs for NDD instructions that would incur partial-write
stalls if compressed to legacy ops.
Commit: 72d1058af0f065c63cc5bb36a93cc5824429fac7
https://github.com/llvm/llvm-project/commit/72d1058af0f065c63cc5bb36a93cc5824429fac7
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: refactor analysis of RET instructions (#131897)
In preparation for implementing detection of more gadget kinds,
refactor checking for non-protected return instructions.
Commit: ff9c5c334ad4a93b33703396a401838df2dedc35
https://github.com/llvm/llvm-project/commit/ff9c5c334ad4a93b33703396a401838df2dedc35
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/test/CodeGen/PowerPC/shrink-wrap-frame-pointer.ll
Log Message:
-----------
[shrinkwrap] PowerPC's FP register should be honored when processing the save point for prologue. (#129855)
When generating code for functions that have `__builtin_frame_address`
calls and `noinline` attribute, prologue was not emitted correctly
leading to an assertion failure in PowerPC. The issue was due to
improper insertion of prologue for a function that contain llvm
`__builtin_frame_address`.
Shrink-wrap pass computes the save and restore points of a function.
Default points are the entry and exit points of the function. During
shrink-wrapping the frame-pointer was not honored like the stack pointer
and it was considered as a callee-saved register. This change will treat
the FP similar to SP and will insert the prolog on top the instruction
containing FP.
---------
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: d7e7e0af485a5266819cb90dc72e09d67898510f
https://github.com/llvm/llvm-project/commit/d7e7e0af485a5266819cb90dc72e09d67898510f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
M llvm/test/MC/X86/avx10.2minmax-32-att.s
M llvm/test/MC/X86/avx10.2minmax-32-intel.s
M llvm/test/MC/X86/avx10.2minmax-64-att.s
M llvm/test/MC/X86/avx10.2minmax-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VMINMAXP[H,S,D] (#132405)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: 7be243add2bb89461f647ae74af730e149833c1b
https://github.com/llvm/llvm-project/commit/7be243add2bb89461f647ae74af730e149833c1b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/include/__chrono/convert_to_tm.h
Log Message:
-----------
[NFC][libc++][chrono] Removes dead code. (#132104)
For certain time_points there are specializations of __convert_to_tm.
This means the non-specialized version is never called. This means some
of the `if constexpr` will never be true. These are removed.
Since there is a `static_assert` accidental removal of the
specialization will make the code ill-formed.
Commit: f60bec9b42dead6ad5a0dc4c9bd546671977df95
https://github.com/llvm/llvm-project/commit/f60bec9b42dead6ad5a0dc4c9bd546671977df95
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/include/chrono
Log Message:
-----------
[libc++][chrono] Adds a missing main include. (#132100)
Commit: 5f949924578c0314a1f7c3cfdd63b1ef8edb62ba
https://github.com/llvm/llvm-project/commit/5f949924578c0314a1f7c3cfdd63b1ef8edb62ba
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
Log Message:
-----------
[RISCV] isLoadFromStackSlot and isStoreToStackSlot for vector spill/fill (#132296)
This is an adapted version of arsenm's
https://github.com/llvm/llvm-project/pull/120524.
The intention of the change is to enable dead stack slot copy
elimination in StackSlotColoring for vector loads and stores. In terms
of testing, see stack-slot-coloring.mir. This has little impact on in
tree tests otherwise.
This change has a different and smaller set of test diffs then then
@arsenm's patch because I'm using scalable sizes for the LMULs, not a
single signal value. His patch allowed vector load/store pairs of
different width to be deleted, mine does not. There's also simply been a
lot of churn in regalloc behavior on these particular tests recently, so
that may explain some of the diff as well.
Commit: e1a16033dcb856669c97f35c09656db73bf36a73
https://github.com/llvm/llvm-project/commit/e1a16033dcb856669c97f35c09656db73bf36a73
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Sema/SemaX86.cpp
R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
M llvm/test/MC/X86/avx10_2satcvtds-32-att.s
M llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
M llvm/test/MC/X86/avx10_2satcvtds-64-att.s
M llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VCVTTP.*QS (#132414)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: b3e64fbc31702ea7e4d96fa410888a94223b599e
https://github.com/llvm/llvm-project/commit/b3e64fbc31702ea7e4d96fa410888a94223b599e
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.h
Log Message:
-----------
[ARM] Prepare for VariantKind to specifier rename. NFC
Commit: 1cbcaa458020d7fa2b9b5d91db609f5a81d59346
https://github.com/llvm/llvm-project/commit/1cbcaa458020d7fa2b9b5d91db609f5a81d59346
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Add matcher for pointer-like types to be cached (#132314)
This is used e.g. for iterators.
Commit: 8065aa2ad0cb0fee5eff498735c665948e2461e0
https://github.com/llvm/llvm-project/commit/8065aa2ad0cb0fee5eff498735c665948e2461e0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/libcxx-build-and-test.yaml
M bolt/include/bolt/Core/Relocation.h
R bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
M clang/lib/Headers/avx10_2_512satcvtintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.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/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/if.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/C/C23/n2819.c
A clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CIR/Transforms/loop.cir
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CoverageMapping/terminate-statements.cpp
M clang/test/Driver/mips-abi.c
M clang/test/Driver/offload-Xarch.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Index/print-type.cpp
M clang/test/Misc/warning-flags.c
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/parallel_for_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/Preprocessor/embed_constexpr.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
A clang/test/SemaCXX/ms-member-pointer.cpp
M clang/test/SemaObjCXX/message.mm
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/routine-construct.cpp
R clang/test/SemaOpenACC/unimplemented-construct.c
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/www/c_status.html
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
M compiler-rt/test/profile/Posix/instrprof-fork.c
A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
M flang/docs/OpenMP-descriptor-management.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/dot_product-lowering.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/product-lowering.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/associate-construct.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-issue-124043.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-as-inquired.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/reshape.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/loc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/second.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/shape.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/simd_x86_64.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
M flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depobj-construct-v50.f90
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M libc/CMakeLists.txt
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
M libc/src/__support/RPC/rpc_server.h
M libc/src/math/generic/cbrtf.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
A libc/src/stdio/baremetal/scanf.cpp
A libc/src/stdio/baremetal/scanf_internal.h
A libc/src/stdio/baremetal/vscanf.cpp
R libc/src/stdio/fscanf.cpp
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fscanf.cpp
A libc/src/stdio/generic/scanf.cpp
A libc/src/stdio/generic/vfscanf.cpp
A libc/src/stdio/generic/vscanf.cpp
R libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/vfscanf.cpp
R libc/src/stdio/vscanf.cpp
A libc/utils/docgen/dirent.yaml
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M libclc/clc/include/clc/math/clc_subnormal_config.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_bitselect.inc
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/common/clc_degrees.cl
M libclc/clc/lib/generic/common/clc_radians.cl
M libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/generic/math/clc_frexp.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/math/clc_hypot.inc
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_log_base.h
M libclc/clc/lib/generic/math/clc_modf.cl
M libclc/clc/lib/generic/math/clc_modf.inc
M libclc/clc/lib/generic/math/clc_rsqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.inc
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_bitselect.inc
M libclc/clspv/lib/subnormal_config.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/degrees.inc
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/radians.inc
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/smoothstep.inc
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/common/step.inc
M libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/fast_distance.h
M libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
M libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
M libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/fract.h
M libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/ldexp.h
M libclc/generic/include/clc/math/ldexp.inc
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/modf.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/bitselect.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/geometric/distance.cl
M libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
M libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/geometric/normalize.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/fract.cl
M libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/ldexp.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
M libclc/generic/lib/subnormal_config.cl
M libclc/spirv/lib/subnormal_config.cl
A libcxx/cmake/caches/Generic-modules-cxx17-lsv.cmake
R libcxx/cmake/caches/Generic-modules-lsv.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__functional/operations.h
M libcxx/include/__fwd/functional.h
A libcxx/include/__fwd/map.h
A libcxx/include/__fwd/set.h
M libcxx/include/__tree
M libcxx/include/chrono
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/set
M libcxx/include/version
M libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M lld/COFF/MinGW.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/MachO/Writer.cpp
M lld/test/ELF/riscv-relax-hi20-lo12.s
M lld/test/MachO/sub-library.s
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/test/API/commands/process/launch/TestProcessLaunch.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/DAPError.cpp
A lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M llvm/CMakeLists.txt
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/PhiValues.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Support/MD5.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARM/ARMConstantPoolValue.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILConstants.h
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrFormats.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcMCInstLower.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
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/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.h
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/X86/arith-fma.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/AArch64/cond-br-tuning-instr-ref.mir
A llvm/test/CodeGen/AArch64/sms-unpipeline-insts3.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
A llvm/test/CodeGen/AMDGPU/force-wait-after-always-gds.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/calling-conv-common.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/double-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/double-lround.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
A llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
M llvm/test/CodeGen/LoongArch/float-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/float-lround.ll
M llvm/test/CodeGen/LoongArch/fp-expand.ll
M llvm/test/CodeGen/LoongArch/fp-max-min.ll
M llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/LoongArch/fp-reciprocal.ll
M llvm/test/CodeGen/LoongArch/fp-rounding.ll
M llvm/test/CodeGen/LoongArch/fp-trunc-store.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frint.ll
M llvm/test/CodeGen/LoongArch/fsqrt.ll
M llvm/test/CodeGen/LoongArch/ghc-cc.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg-128.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/naked-fn-with-frame-pointer.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/spill-reload-cfr.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
M llvm/test/CodeGen/LoongArch/vararg.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/shrink-wrap-frame-pointer.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
A llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.ll
R llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
A llvm/test/CodeGen/SPIRV/inline/type.coop-matrix.ll
A llvm/test/CodeGen/SPIRV/inline/type.ll
A llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
M llvm/test/CodeGen/WebAssembly/naked-fn-with-frame-pointer.ll
A llvm/test/CodeGen/WebAssembly/wide-simd-mul.ll
A llvm/test/CodeGen/X86/apx/ndd-false-deps-asm.mir
A llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
M llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
A llvm/test/CodeGen/X86/isel-sqrt.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
A llvm/test/CodeGen/X86/naked-fn-with-unreachable-trap.ll
R llvm/test/CodeGen/X86/sqrt.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
M llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
M llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
M llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvqdotq-invalid.s
A llvm/test/MC/RISCV/rvv/zvqdotq.s
M llvm/test/MC/X86/avx10.2convert-32-att.s
M llvm/test/MC/X86/avx10.2convert-32-intel.s
M llvm/test/MC/X86/avx10.2convert-64-att.s
M llvm/test/MC/X86/avx10.2convert-64-intel.s
M llvm/test/MC/X86/avx10.2minmax-32-att.s
M llvm/test/MC/X86/avx10.2minmax-32-intel.s
M llvm/test/MC/X86/avx10.2minmax-64-att.s
M llvm/test/MC/X86/avx10.2minmax-64-intel.s
M llvm/test/MC/X86/avx10_2ni-32-intel.s
M llvm/test/MC/X86/avx10_2ni-64-att.s
M llvm/test/MC/X86/avx10_2satcvtds-32-att.s
M llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
M llvm/test/MC/X86/avx10_2satcvtds-64-att.s
M llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/pr14166.ll
A llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
A llvm/test/Transforms/LoopIdiom/strlen.ll
A llvm/test/Transforms/LoopIdiom/wcslen16.ll
A llvm/test/Transforms/LoopIdiom/wcslen32.ll
A llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
A llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-getStoreMinimumVF.ll
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
M llvm/tools/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Clustering.cpp
A llvm/tools/llvm-gpu-loader/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/amdhsa.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
A llvm/tools/llvm-gpu-loader/nvptx.cpp
A llvm/tools/llvm-gpu-loader/server.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Analysis/TopologicalSortUtils.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp.mlir
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats-ocp.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
A mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
M mlir/test/Dialect/Affine/scalrep.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-nullary-record-ptr-member-map.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
M mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/Transforms/inlining.mlir
M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/python/ir/operation.py
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_tasking.cpp
R openmp/runtime/test/tasking/omp_record_replay_random_id.cpp
R openmp/runtime/test/tasking/omp_record_replay_reset.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/582a07e295b5...8065aa2ad0cb
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