[all-commits] [llvm/llvm-project] a312dd: [BPF, test] %clang_cc1 -emit-llvm: remove redundant -S
Fangrui Song via All-commits
all-commits at lists.llvm.org
Wed May 15 09:14:09 PDT 2024
Branch: refs/heads/users/MaskRay/spr/mc-remove-useassemblerinfoforparsing
Home: https://github.com/llvm/llvm-project
Commit: a312dd68c0ce368313164eb92cbdd95192afa3f8
https://github.com/llvm/llvm-project/commit/a312dd68c0ce368313164eb92cbdd95192afa3f8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
Log Message:
-----------
[BPF,test] %clang_cc1 -emit-llvm: remove redundant -S
Commit: 3c311b022283450acbdd6af22862e913649a5452
https://github.com/llvm/llvm-project/commit/3c311b022283450acbdd6af22862e913649a5452
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/CodeGen/arm64-microsoft-status-reg.cpp
M clang/test/CodeGen/inline-asm-mixed-style.c
M clang/test/OpenMP/amdgpu_throw_trap.cpp
M clang/test/OpenMP/nvptx_throw_trap.cpp
Log Message:
-----------
[test] %clang_cc1 -S: remove overridden -emit-llvm
Commit: ffc9a30938ae5c42c03f9c563db1465876b4def6
https://github.com/llvm/llvm-project/commit/ffc9a30938ae5c42c03f9c563db1465876b4def6
Author: superZWT123 <zhengwentao3 at huawei.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCSubtargetInfo.h
A llvm/test/TableGen/HwModeBitSet.td
A llvm/test/TableGen/HwModeEncodeAPInt.td
M llvm/test/TableGen/HwModeEncodeDecode3.td
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Use bitwise operations to access HwMode ID. (#88377)
1. Bitwise operations are used to access HwMode, allowing for the
coexistence of HwMode IDs for different features (such as RegInfo and
EncodingInfo). This will provide better scalability for HwMode.
Currently, most users utilize HwMode primarily for configuring
Register-related information, and few use it for configuring Encoding.
The limited scalability of HwMode has been a significant factor in this
usage pattern.
2. Sink the HwMode Encodings selection logic down to per instruction
level, this makes the logic for choosing encodings clearer and provides
better error messages.
3. Add some HwMode ID conflict detection to the getHwMode() interface.
Commit: 7a484d3a1f630ba9ce7b22e744818be974971470
https://github.com/llvm/llvm-project/commit/7a484d3a1f630ba9ce7b22e744818be974971470
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/BuiltinTypes.def
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
Log Message:
-----------
[clang] Distinguish unresolved templates in UnresolvedLookupExpr (#89019)
This patch revolves around the misuse of UnresolvedLookupExpr in
BuildTemplateIdExpr.
Basically, we build up an UnresolvedLookupExpr not only for function
overloads but for "unresolved" templates wherever we need an expression
for template decls. For example, a dependent VarTemplateDecl can be
wrapped with such an expression before template instantiation. (See
https://github.com/llvm/llvm-project/commit/617007240cbfb97c8ccf6d61b0c4ca0bb62d43c9)
Also, one important thing is that UnresolvedLookupExpr uses a
"canonical"
QualType to describe the containing unresolved decls: a DependentTy is
for dependent expressions and an OverloadTy otherwise. Therefore, this
modeling for non-dependent templates leaves a problem in that the
expression
is marked and perceived as if describing overload functions. The
consumer then
expects functions for every such expression, although the fact is the
reverse.
Hence, we run into crashes.
As to the patch, I added a new canonical type "UnresolvedTemplateTy" to
model these cases. Given that we have been using this model
(intentionally or
accidentally) and it is pretty baked in throughout the code, I think
extending the role of UnresolvedLookupExpr is reasonable. Further, I
added
some diagnostics for the direct occurrence of these expressions, which
are supposed to be ill-formed.
As a bonus, this patch also fixes some typos in the diagnostics and
creates
RecoveryExprs rather than nothing in the hope of a better error-recovery
for clangd.
Fixes https://github.com/llvm/llvm-project/issues/88832
Fixes https://github.com/llvm/llvm-project/issues/63243
Fixes https://github.com/llvm/llvm-project/issues/48673
Commit: 02dfbbff1937b3e2c1ee1cd4a5ad0a9f03ee23ea
https://github.com/llvm/llvm-project/commit/02dfbbff1937b3e2c1ee1cd4a5ad0a9f03ee23ea
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/X86/arithmetic_fence2.ll
Log Message:
-----------
[SelectionDAG] Make ARITH_FENCE support half and bfloat type (#90836)
Commit: 7c1d9b15eee3a34678addab2bab66f3020ac0753
https://github.com/llvm/llvm-project/commit/7c1d9b15eee3a34678addab2bab66f3020ac0753
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M clang/test/APINotes/export-as.c
M clang/test/APINotes/extern-context.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/APINotes/properties.m
M clang/test/APINotes/swift-import-as.cpp
M clang/test/APINotes/templates.cpp
M clang/test/APINotes/versioned.m
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/ResourceStruct.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/alignas_maybe_odr_cleanup.cpp
M clang/test/AST/ast-crash-doc-function-template.cpp
M clang/test/AST/ast-dump-attr-type.cpp
M clang/test/AST/ast-dump-coroutine.cpp
M clang/test/AST/ast-dump-default-arg-dep.cpp
M clang/test/AST/ast-dump-default-arg-recovery.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-types-errors.cpp
M clang/test/AST/ast-print-fp-pragmas.c
M clang/test/AST/ast-print-pragmas.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/attr-swift_bridge.m
M clang/test/AST/attr-swift_bridged_typedef.m
M clang/test/AST/attr-swift_bridged_typedef.mm
M clang/test/AST/auto-pragma.cpp
M clang/test/AST/category-attribute.m
M clang/test/AST/coroutine-co_yield-source-range.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/coroutine-source-location-crash.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/foreachtemplatized.mm
M clang/test/AST/loop-recovery.cpp
M clang/test/AST/multistep-explicit-cast.c
M clang/test/AST/multistep-explicit-cast.cpp
M clang/test/AST/pr43983.cpp
M clang/test/AST/pr47636.cpp
M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
M clang/test/AST/pragma-multiple-attributes-declspec.cpp
M clang/test/AST/pragma-multiple-attributes.cpp
M clang/test/AST/spurious-regparm.c
M clang/test/AST/template-implicit-vars.cpp
M clang/test/C/drs/dr290.c
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
M clang/test/CodeGen/PowerPC/ibm128-cast.c
M clang/test/CodeGen/X86/amx_errors.c
M clang/test/CodeGen/X86/amxcomplex-errors.c
M clang/test/CodeGen/X86/cmp-avx-builtins-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error-32.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
M clang/test/CodeGen/X86/sm3-error.c
M clang/test/CodeGen/X86/usermsr-builtins-error-32.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-neon-sha3.c
M clang/test/CodeGen/aarch64-neon-shifts.c
M clang/test/CodeGen/aarch64-neon-sm4-sm3.c
M clang/test/CodeGen/aarch64-neon-vcadd.c
M clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
M clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-sysregs-target.c
M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/arm-cde-gpr.c
M clang/test/CodeGen/arm-cde-reinterpret.c
M clang/test/CodeGen/arm-cde-vec.c
M clang/test/CodeGen/arm-cde-vfp.c
M clang/test/CodeGen/arm-neon-vcadd.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-crc32.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/builtins-nvptx-mma.cu
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx-ptx50.cu
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx-sm_70.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/code_align.c
M clang/test/CodeGen/complex-math-mixed.c
M clang/test/CodeGen/debug-info-macro.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGenCXX/annotate-type.cpp
M clang/test/CodeGenCXX/debug-info-cxx1y.cpp
M clang/test/CodeGenCXX/duplicate-mangled-name.cpp
M clang/test/CodeGenCXX/header-unit-friend-within-class-linkage.cpp
M clang/test/CodeGenCXX/header-unit-member-func-linkage.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenObjC/null-check-bool-ret.m
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenSYCL/functionptr-addrspace.cpp
M clang/test/FixIt/dereference-addressof.c
M clang/test/FixIt/fixit-format-darwin.m
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/fixit-format-ios.m
M clang/test/FixIt/fixit-include.c
M clang/test/FixIt/fixit-unused-lambda-capture.cpp
M clang/test/FixIt/objc-literals.m
M clang/test/FixIt/typo-location-bugs.cpp
M clang/test/FixIt/typo-using.cpp
M clang/test/FixIt/typo.c
M clang/test/FixIt/typo.cpp
M clang/test/FixIt/typo.m
M clang/test/Frontend/gnu-inline.c
M clang/test/Frontend/objc-bool-is-bool.m
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Layout/ms-aligned-array.c
M clang/test/Layout/ms-vtordisp-local.cpp
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Layout/ms-x86-aligned-tail-padding.cpp
M clang/test/Layout/ms-x86-basic-layout.cpp
M clang/test/Layout/ms-x86-bitfields-vbases.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Layout/ms-x86-empty-layout.c
M clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
M clang/test/Layout/ms-x86-empty-virtual-base.cpp
M clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Layout/ms-x86-misalignedarray.cpp
M clang/test/Layout/ms-x86-pack-and-align.cpp
M clang/test/Layout/ms-x86-primary-bases.cpp
M clang/test/Layout/ms-x86-vfvb-alignment.cpp
M clang/test/Layout/ms-x86-vfvb-sharing.cpp
M clang/test/Layout/ms-x86-vtordisp.cpp
M clang/test/Lexer/ms-compatibility.c
M clang/test/Lexer/wchar-signedness.c
M clang/test/Misc/pragma-attribute-cxx.cpp
M clang/test/Misc/pragma-attribute-objc.m
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Modules/DebugInfo-fmodule-name.c
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/module-init-duplicated-import.cppm
M clang/test/Modules/modules-reduced-bmi.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr64091.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/pr72828.cppm
M clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Modules/stress1.cpp
M clang/test/OpenMP/allocate_allocator_ast_print.cpp
M clang/test/OpenMP/allocate_ast_print.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/cancel_ast_print.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_ast_print.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/critical_ast_print.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_ast_print.c
M clang/test/OpenMP/declare_reduction_ast_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/declare_variant_mixed_codegen.c
M clang/test/OpenMP/depobj_ast_print.cpp
M clang/test/OpenMP/distribute_ast_print.cpp
M clang/test/OpenMP/distribute_dist_schedule_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/distribute_simd_ast_print.cpp
M clang/test/OpenMP/error_ast_print.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/for_ast_print.cpp
M clang/test/OpenMP/for_ast_print_cxx20.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/OpenMP/for_simd_ast_print.cpp
M clang/test/OpenMP/masked_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/master_ast_print.cpp
M clang/test/OpenMP/master_taskloop_ast_print.cpp
M clang/test/OpenMP/master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp-read-only-feature.c
M clang/test/OpenMP/openmp_capture_const_var_ast_print.cpp
M clang/test/OpenMP/ordered_ast_print.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_for_ast_print.cpp
M clang/test/OpenMP/parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/parallel_masked_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_master_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_sections_ast_print.cpp
M clang/test/OpenMP/parallel_sections_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_print.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_relaxed_codegen.cpp
M clang/test/OpenMP/requires_relaxed_print.cpp
M clang/test/OpenMP/requires_seq_cst_codegen.cpp
M clang/test/OpenMP/scan_ast_print.cpp
M clang/test/OpenMP/sections_ast_print.cpp
M clang/test/OpenMP/sections_codegen.cpp
M clang/test/OpenMP/simd_ast_print.cpp
M clang/test/OpenMP/single_ast_print.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_exit_data_ast_print.cpp
M clang/test/OpenMP/target_exit_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_has_device_addr_ast_print.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_update_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_depend_template_call_ast_print.cpp
M clang/test/OpenMP/taskgroup_ast_print.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_ast_print.cpp
M clang/test/OpenMP/taskloop_strict_modifier_ast_print.cpp
M clang/test/OpenMP/taskwait_ast_print.cpp
M clang/test/OpenMP/taskyield_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/OpenMP/teams_distribute_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/threadprivate_ast_print.cpp
M clang/test/PCH/arc.m
M clang/test/PCH/blocks.c
M clang/test/PCH/cxx-alias-decl.cpp
M clang/test/PCH/cxx-for-range.cpp
M clang/test/PCH/cxx-member-init.cpp
M clang/test/PCH/cxx-namespaces.cpp
M clang/test/PCH/cxx-reference.cpp
M clang/test/PCH/cxx1z-init-statement.cpp
M clang/test/PCH/cxx_exprs.cpp
M clang/test/PCH/fixed-point-literal.c
M clang/test/PCH/local_static.cpp
M clang/test/PCH/multiple_decls.c
M clang/test/PCH/ocl_types.cl
M clang/test/PCH/rdar10830559.cpp
M clang/test/PCH/stmt-openmp_structured_block-bit.cpp
M clang/test/PCH/stmts.c
M clang/test/PCH/types.c
M clang/test/PCH/uuidof.cpp
M clang/test/Parser/extra-semi.cpp
M clang/test/Preprocessor/print-pragma-microsoft.c
M clang/test/Profile/cxx-missing-bodies.cpp
M clang/test/Sema/aarch64-fp16-target.c
M clang/test/Sema/aarch64-neon-target.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/arm-neon-target.c
M clang/test/Sema/attr-alias-elf.c
M clang/test/Sema/attr-availability-swift.c
M clang/test/Sema/attr-self-alias.c
M clang/test/Sema/bpf-attr-preserve-static-offset.c
M clang/test/Sema/builtin-setjmp.c
M clang/test/Sema/code_align_ast.c
M clang/test/Sema/format-strings-no-fixit.c
M clang/test/Sema/ppc-attr-target-inline.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/uninit-variables-riscv-vector.c
M clang/test/Sema/uninit-variables-vectors.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/warn-documentation-almost-trailing.c
M clang/test/Sema/warn-strncat-size.c
M clang/test/SemaCUDA/fp16-arg-return.cu
M clang/test/SemaCUDA/qualifiers.cu
M clang/test/SemaCUDA/static-device-var.cu
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx20-lambda-decltype-this.cpp
M clang/test/SemaCXX/cxx2b-ast-print.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/test/SemaCXX/uninit-variables-conditional.cpp
M clang/test/SemaCXX/uninit-variables.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaObjC/uninit-variables.m
M clang/test/SemaOpenCL/as_type.cl
M clang/test/SemaOpenCL/multistep-explicit-cast.cl
M clang/test/SemaTemplate/default-arguments-ast-print.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/pr47676.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing_more.cpp
M clang/test/SemaTemplate/temp_arg_string_printing.cpp
M clang/test/SemaTemplate/template-id-printing.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/VFS/directory.c
M clang/test/VFS/external-names-multi-overlay.c
M clang/test/VFS/fallback.c
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
Commit: a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b
https://github.com/llvm/llvm-project/commit/a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-04 (Sat, 04 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
R llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
Log Message:
-----------
Revert "SystemZ: Fold copy of vector immediate to gr128" (#91099)
Fails here:
https://lab.llvm.org/buildbot/#/builders/239/builds/6893
https://lab.llvm.org/buildbot/#/builders/5/builds/43113
https://lab.llvm.org/buildbot/#/builders/168/builds/20228
Reverts llvm/llvm-project#90706
Commit: 9154a324bfce5dee27cb04708bd250b030d6cdd2
https://github.com/llvm/llvm-project/commit/9154a324bfce5dee27cb04708bd250b030d6cdd2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][doc] Fix typos
Commit: 7d913c5ea9fd0dd455fe60364a8075aa0924d6b7
https://github.com/llvm/llvm-project/commit/7d913c5ea9fd0dd455fe60364a8075aa0924d6b7
Author: David Stone <davidfromonline at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][Modules] Make `Module::Requirement` a struct (NFC) (#67900)
`Module::Requirement` was defined as a `std::pair<std::string, bool>`.
This required a comment to explain what the data members mean and makes
the usage harder to understand. Replace this with a struct with two
members, `FeatureName` and `RequiredState`.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 78a28b3ef7de2a07c8d01cace58019068a17a0bf
https://github.com/llvm/llvm-project/commit/78a28b3ef7de2a07c8d01cace58019068a17a0bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp-shiftX-maskX.ll
M llvm/test/CodeGen/X86/vector-shift-by-select-loop.ll
Log Message:
-----------
[X86] Support icmp_i64(i64 X, i64 Y) --> icmp_i32(trunc(X), trunc(Y)) for non-constant Y (#91085)
Relax the constraint on the fold to allow any value for X and Y iff all upper 32-bits are known zero
Minor code-size saving by moving to i32 bit instructions
Commit: d5ca2e46ca97758de6edb9f071f2114205380d87
https://github.com/llvm/llvm-project/commit/d5ca2e46ca97758de6edb9f071f2114205380d87
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Improve MIR pattern for FMinFMaxLegacy combine. NFC. (#90968)
Commit: d145f40963f15e94c4aefcc406a365fbe779e934
https://github.com/llvm/llvm-project/commit/d145f40963f15e94c4aefcc406a365fbe779e934
Author: David Green <david.green at arm.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] shuffleToIdentity - guard against call instructions.
The shuffleToIdentity fold needs to be a bit more careful about the difference
between call instructions and intrinsics. The second can be handled, but the
first should result in bailing out. This patch also adds some extra intrinsic
tests from #91000.
Fixes #91078
Commit: 7963d9a2b3c20561278a85b19e156e013231342c
https://github.com/llvm/llvm-project/commit/7963d9a2b3c20561278a85b19e156e013231342c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/pr90844.ll
Log Message:
-----------
[X86][EVEX512] Add `HasEVEX512` when `NoVLX` used for 512-bit patterns (#91106)
With KNL/KNC being deprecated, we don't need to care about such no VLX
cases anymore. We may remove such patterns in the future.
Fixes #90844
Commit: 72eaa0ed9934bfaa2449091bbc6e45648d1396d6
https://github.com/llvm/llvm-project/commit/72eaa0ed9934bfaa2449091bbc6e45648d1396d6
Author: Weihang Fan <134108011+weihangf-apple at users.noreply.github.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
Log Message:
-----------
[AArch64][SelectionDAG] Mask for SUBS with multiple users cannot be elided (#90911)
In DAGCombiner, the `performCONDCombine` function attempts to remove AND
instructions in front of SUBS (cmp) instructions for which the AND is
transparent. The rules for that are correct, but it fails to take into
account the case where the SUBS instruction has multiple users with
different condition codes for comparison and simply removes the AND for
all of them. This causes a miscompilation in the attached test case.
Commit: 983333234bd1b9c3d2b05f010a293fee6dc9c069
https://github.com/llvm/llvm-project/commit/983333234bd1b9c3d2b05f010a293fee6dc9c069
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - extend cpu test coverage
Ensure we test with/without the idivq-to-divl attribute, and test the x86-64-v* cpu levels and some common Intel/AMD cpus
Commit: de9b386f84b58ad0ffc12e221bc6d9161ca5b62d
https://github.com/llvm/llvm-project/commit/de9b386f84b58ad0ffc12e221bc6d9161ca5b62d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - add optsize/minsize tests
Make sure we're not expanding div32-div64 codegen when we're focussed on codesize
Commit: 882814edd33cab853859f07b1dd4c4fa1393e0ea
https://github.com/llvm/llvm-project/commit/882814edd33cab853859f07b1dd4c4fa1393e0ea
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
[InlineCost] Correct the default branch cost for the switch statement (#85160)
Fixes #81723.
The earliest commit of the related code is:
https://github.com/llvm/llvm-project/commit/919f9e8d65ada6552b8b8a5ec12ea49db91c922a.
I tried to understand the following code with
https://github.com/llvm/llvm-project/pull/77856#issuecomment-1993499085.
https://github.com/llvm/llvm-project/blob/5932fcc47855fdd209784f38820422d2369b84b2/llvm/lib/Analysis/InlineCost.cpp#L709-L720
I think only scenarios where there is a default branch were considered.
Commit: c6e4f6309184814dfc4bb855ddbdb5375cc971e0
https://github.com/llvm/llvm-project/commit/c6e4f6309184814dfc4bb855ddbdb5375cc971e0
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
R llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
Revert "[InlineCost] Correct the default branch cost for the switch statement (#85160)"
This reverts commit 882814edd33cab853859f07b1dd4c4fa1393e0ea.
Commit: 176be3ee8c3c7569355b7452af61b76aa9574095
https://github.com/llvm/llvm-project/commit/176be3ee8c3c7569355b7452af61b76aa9574095
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] bypass-slow-division-64.ll - add udiv+urem test coverage
Commit: 7e4d16d73c22079997dd59d8e7d8f41bdbac5a50
https://github.com/llvm/llvm-project/commit/7e4d16d73c22079997dd59d8e7d8f41bdbac5a50
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
Log Message:
-----------
[clang-tidy] Improve modernize-use-std-print diagnostic (#91071)
Include the source range of the printf function in the diagnostic so it
gets underlined in the output.
Commit: 77d8c3878a274c97981e0aca2249960f6619f828
https://github.com/llvm/llvm-project/commit/77d8c3878a274c97981e0aca2249960f6619f828
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll
Log Message:
-----------
[X86] 2008-08-31-EH_RETURN32.ll - regenerate with update_llc_test_checks.py
Commit: 9aad38b61586cab8b125c3f522789267f9b749a9
https://github.com/llvm/llvm-project/commit/9aad38b61586cab8b125c3f522789267f9b749a9
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[clang-tidy] fix false-positives for templates in `bugprone-return-const-ref-from-parameter` (#90273)
In the AST for function templates, the return will be a DeclRefExpr,
even if the return type differs from that of the returned variable.
Protect against false-positives by constraining the canonical return
type to be that of the parameter.
Also streams the source range of the returned expression into the
diagnostic.
Commit: 716eab783713cc99046c89478c126b1a2e000940
https://github.com/llvm/llvm-project/commit/716eab783713cc99046c89478c126b1a2e000940
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
Log Message:
-----------
[clang-tidy][docs] Fix modernize-use-std-print docs (#91069)
The set of functions for the PrintfLikeFunctions and
FprintfLikeFunctions options replaces the default, so remove the word
"extra" from the description which implies that they are in addition to
the default.
Commit: 624c9fc87fb23c6eb89a28e95fa0cf72f5c39d94
https://github.com/llvm/llvm-project/commit/624c9fc87fb23c6eb89a28e95fa0cf72f5c39d94
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
Log Message:
-----------
Upstream polynomial.ntt and polynomial.intt (#90992)
These two ops represent a number-theoretic transform of a polynomial to
a tensor of evaluations of the polynomial at a list of powers of
primitive roots of the polynomial.
To support this, a new optional attribute is added to the ring attribute
to specify the primitive root of unity used for the NTT. A verifier for
the op is added to ensure the chosen root is a primitive nth root of
unity.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: 7e59223ac4b045178c287a56154113d5989572f4
https://github.com/llvm/llvm-project/commit/7e59223ac4b045178c287a56154113d5989572f4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/test/AST/arithmetic-fence-builtin.c
M clang/test/ASTMerge/codegen-exprs/test.c
M clang/test/CXX/module/module.private.frag/p1.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat.c
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
M clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/pch-dllexport.cpp
M clang/test/CodeGen/thinlto-loop-vectorize-pm.c
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CoverageMapping/pr32679.cpp
M clang/test/Frontend/output-paths.c
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/no-import-func-body.cppm
M clang/test/Modules/odr_using_dependent_name.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/SemaCUDA/call-kernel-from-kernel.cu
M clang/test/SemaCUDA/constexpr-variables.cu
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
ParseFrontendArgs takes the last OPT_Action_Group option. The other
actions are overridden.
Commit: 41574f5a6e2d961f398d3c671c34ac3c8e417464
https://github.com/llvm/llvm-project/commit/41574f5a6e2d961f398d3c671c34ac3c8e417464
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Add new BuiltinType introduced in 7a484d3a1f630ba9ce7b22e744818be974971470
I don't think this is one lldb would encounter when building ASTs from
DWARF.
Commit: d33937b6236767137a1ec3393d0933f10eed4ffe
https://github.com/llvm/llvm-project/commit/d33937b6236767137a1ec3393d0933f10eed4ffe
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Modules/prune-non-affecting-module-map-files-textual.c
M clang/test/PCH/empty-with-headers.c
M clang/test/PCH/ms-if-exists.cpp
Log Message:
-----------
[test] %clang_cc1: remove redundant actions
ParseFrontendArgs takes the last OPT_Action_Group option. The other
actions are overridden.
Commit: 57f13b51bdb373534ba5e507868b353a015107de
https://github.com/llvm/llvm-project/commit/57f13b51bdb373534ba5e507868b353a015107de
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/Driver/dxc_fcgl.hlsl
Log Message:
-----------
[HLSL] Remove overridden -S
The cc1 option -S (https://reviews.llvm.org/D124983) is overridden by
the latter -emit-llvm.
Commit: 3219c0edb2a4e18774227c8b35278df0e89c85fe
https://github.com/llvm/llvm-project/commit/3219c0edb2a4e18774227c8b35278df0e89c85fe
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
Log Message:
-----------
[LAA] Directly pass DepChecker to getSource/getDestination (NFC).
Instead of passing LoopAccessInfo only to fetch the MemoryDepChecker,
directly pass MemoryDepChecker. This simplifies the code and also allows
new uses in places where no LAI is available.
Commit: c18bcd0a5702a85adb4063ee94689a88e05686ea
https://github.com/llvm/llvm-project/commit/c18bcd0a5702a85adb4063ee94689a88e05686ea
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[Target] Use StringRef::operator== instead of StringRef::equals (NFC) (#91072) (#91138)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
38 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 2574cabdc2090a19a15332b2c00a912b36df6ab8
https://github.com/llvm/llvm-project/commit/2574cabdc2090a19a15332b2c00a912b36df6ab8
Author: Eric <eric at efcs.ca>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/double_include.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
Log Message:
-----------
[NFC] Remove BLOCKLIT workaround. (#91001)
Lit already has support for stopping LIT from parsing further test
directives. It is
// END.
After that directive, LIT will stop parsing.
This change removes the BLOCKLIT hack and replaces it with END.
Commit: 2aaec48d883b2550f053dc5c07b2400d725e77b5
https://github.com/llvm/llvm-project/commit/2aaec48d883b2550f053dc5c07b2400d725e77b5
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
Log Message:
-----------
X86FixupBWInsts: Remove redundant code. NFC
Commit: e12364301e3370456e610c3f23ca18050f61f77e
https://github.com/llvm/llvm-project/commit/e12364301e3370456e610c3f23ca18050f61f77e
Author: Allen <zhongyunde at huawei.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/mul_pow2.ll
Log Message:
-----------
[AArch64][SelectionDAG] Lower multiplication by a constant to shl+sub+shl+sub (#90199)
Change the costmodel to lower a = b * C where C = 1 - (1 - 2^m) * 2^n to
sub w8, w0, w0, lsl #m
sub w0, w0, w8, lsl #n
Fix https://github.com/llvm/llvm-project/issues/89430
Commit: ddecadabebdd4b301bd65534b58009e57ac1bbe5
https://github.com/llvm/llvm-project/commit/ddecadabebdd4b301bd65534b58009e57ac1bbe5
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang backend] In AArch64's DataLayout, specify a minimum function alignment of 4. (#90702)
This addresses an issue where the explicit alignment of 2 (for C++ ABI
reasons) was being propagated to the back end and causing under-aligned
functions (in special sections).
This is an alternate approach suggested by @efriedma-quic in PR #90415.
Fixes #90358
Commit: 3d6cf533cb258371177ee4912b3b09b62d328d29
https://github.com/llvm/llvm-project/commit/3d6cf533cb258371177ee4912b3b09b62d328d29
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
Log Message:
-----------
fix formatting issues with ODS docs around assembly format directives (#91149)
- Some sentences are incorrectly split across list items.
- Some pre-formatted syntax is left in plaintext
- Some lines end in spaces
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: f7bfb078cf037205a812dc4eece777130cfa88f5
https://github.com/llvm/llvm-project/commit/f7bfb078cf037205a812dc4eece777130cfa88f5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr91005.ll
Log Message:
-----------
[X86][FP16] Do not create VBROADCAST_LOAD for f16 without AVX2 (#91125)
AVX doesn't provide 16-bit BROADCAST instruction.
Fixes #91005
Commit: 774b7eb7bacceaca3986fc73a236c3cd44f28599
https://github.com/llvm/llvm-project/commit/774b7eb7bacceaca3986fc73a236c3cd44f28599
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Reimplement operator==(StringRef, StringRef) (NFC) (#91139)
I'm planning to deprecate and eventually remove StringRef::equals in
favor of operator==. This patch reimplements operator== without using
StringRef::equals.
I'm not sure if there is a good way to make StringRef::compareMemory
available to operator==, which is not a member function. "friend"
works to some extent but breaks corner cases, which is why I've chosen
to "inline" compareMemory.
Commit: c609043dd00955bf177ff57b0bad2a87c1e61a36
https://github.com/llvm/llvm-project/commit/c609043dd00955bf177ff57b0bad2a87c1e61a36
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't allow comma in front of structural enum (#91056)
Assume that a comma in front of `enum` means it is actually a part of an
elaborated type in a template parameter list.
Fixes https://github.com/llvm/llvm-project/issues/47782
Commit: db0ed5533368414b1c4e1c884eef651c66359da2
https://github.com/llvm/llvm-project/commit/db0ed5533368414b1c4e1c884eef651c66359da2
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-05 (Sun, 05 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't remove parentheses of fold expressions (#91045)
Fixes #90966.
Commit: b944b543d60c73995a0760f7c53a0a645d3e56df
https://github.com/llvm/llvm-project/commit/b944b543d60c73995a0760f7c53a0a645d3e56df
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/coalesce-vsetvli.mir
Log Message:
-----------
[RISCV] Add RISCVCoalesceVSETVLI tests for removing dead AVLs. NFC
Commit: 947b06282324db8fe2784c4054af9de493a876af
https://github.com/llvm/llvm-project/commit/947b06282324db8fe2784c4054af9de493a876af
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
A clang/test/Modules/no-transitive-source-location-change.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
Reland "[Modules] No transitive source location change (#86912)"
This relands 6c31104.
The patch was reverted due to incorrectly introduced alignment. And the
patch was re-commited after fixing the alignment issue.
Following off are the original message:
This is part of "no transitive change" patch series, "no transitive
source location change". I talked this with @Bigcheese in the tokyo's
WG21 meeting.
The idea comes from @jyknight posted on LLVM discourse. That for:
```
// A.cppm
export module A;
...
// B.cppm
export module B;
import A;
...
//--- C.cppm
export module C;
import C;
```
Almost every time A.cppm changes, we need to recompile `B`. Due to we
think the source location is significant to the semantics. But it may be
good if we can avoid recompiling `C` if the change from `A` wouldn't
change the BMI of B.
This patch only cares source locations. So let's focus on source
location's example. We can see the full example from the attached test.
```
//--- A.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- A.v1.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- B.cppm
export module B;
import A;
export int funcB() {
return funcA();
}
//--- C.cppm
export module C;
import A;
export void testD() {
C<int> c;
c.func();
}
```
Here the only difference between `A.cppm` and `A.v1.cppm` is that
`A.v1.cppm` has an additional blank line. Then the test shows that two
BMI of `B.cppm`, one specified `-fmodule-file=A=A.pcm` and the other
specified `-fmodule-file=A=A.v1.pcm`, should have the bit-wise same
contents.
However, it is a different story for C, since C instantiates templates
from A, and the instantiation records the source information from module
A, which is different from `A` and `A.v1`, so it is expected that the
BMI `C.pcm` and `C.v1.pcm` can and should differ.
To fully understand the patch, we need to understand how we encodes
source locations and how we serialize and deserialize them.
For source locations, we encoded them as:
```
|
|
| _____ base offset of an imported module
|
|
|
|_____ base offset of another imported module
|
|
|
|
| ___ 0
```
As the diagram shows, we encode the local (unloaded) source location
from 0 to higher bits. And we allocate the space for source locations
from the loaded modules from high bits to 0. Then the source locations
from the loaded modules will be mapped to our source location space
according to the allocated offset.
For example, for,
```
// a.cppm
export module a;
...
// b.cppm
export module b;
import a;
...
```
Assuming the offset of a source location (let's name the location as
`S`) in a.cppm is 45 and we will record the value `45` into the BMI
`a.pcm`. Then in b.cppm, when we import a, the source manager will
allocate a space for module 'a' (according to the recorded number of
source locations) as the base offset of module 'a' in the current source
location spaces. Let's assume the allocated base offset as 90 in this
example. Then when we want to get the location in the current source
location space for `S`, we can get it simply by adding `45` to `90` to
`135`. Finally we can get the source location for `S` in module B as
`135`.
And when we want to write module `b`, we would also write the source
location of `S` as `135` directly in the BMI. And to clarify the
location `S` comes from module `a`, we also need to record the base
offset of module `a`, 90 in the BMI of `b`.
Then the problem comes. Since the base offset of module 'a' is computed
by the number source locations in module 'a'. In module 'b', the
recorded base offset of module 'a' will change every time the number of
source locations in module 'a' increase or decrease. In other words, the
contents of BMI of B will change every time the number of locations in
module 'a' changes. This is pretty sensitive. Almost every change will
change the number of locations. So this is the problem this patch want
to solve.
Let's continue with the existing design to understand what's going on.
Another interesting case is:
```
// c.cppm
export module c;
import whatever;
import a;
import b;
...
```
In `c.cppm`, when we import `a`, we still need to allocate a base
location offset for it, let's say the value becomes to `200` somehow.
Then when we reach the location `S` recorded in module `b`, we need to
translate it into the current source location space. The solution is
quite simple, we can get it by `135 + (200 - 90) = 245`. In another
word, the offset of a source location in current module can be computed
as `Recorded Offset + Base Offset of the its module file - Recorded Base
Offset`.
Then we're almost done about how we handle the offset of source
locations in serializers.
>From the abstract level, what we want to do is to remove the hardcoded
base offset of imported modules and remain the ability to calculate the
source location in a new module unit. To achieve this, we need to be
able to find the module file owning a source location from the encoding
of the source location.
So in this patch, for each source location, we will store the local
offset of the location and the module file index. For the above example,
in `b.pcm`, the source location of `S` will be recorded as `135`
directly. And in the new design, the source location of `S` will be
recorded as `<1, 45>`. Here `1` stands for the module file index of `a`
in module `b`. And `45` means the offset of `S` to the base offset of
module `a`.
So the trade-off here is that, to make the BMI more independent, we need
to record more abstract information. And I feel it is worthy. The
recompilation problem of modules is really annoying and there are still
people complaining this. But if we can make this (including stopping
other changes transitively), I think this may be a killer feature for
modules. And from @Bigcheese , this should be helpful for clang explicit
modules too.
And the benchmarking side, I tested this patch against
https://github.com/alibaba/async_simple/tree/CXX20Modules. No
significant change on compilation time. The size of .pcm files becomes
to 204M from 200M. I think the trade-off is pretty fair.
I didn't use another slot to record the module file index. I tried to
use the higher 32 bits of the existing source location encodings to
store that information. This design may be safe. Since we use `unsigned`
to store source locations but we use uint64_t in serialization. And
generally `unsigned` is 32 bit width in most platforms. So it might not
be a safe problem. Since all the bits we used to store the module file
index is not used before. So the new encodings may be:
```
|-----------------------|-----------------------|
| A | B | C |
* A: 32 bit. The index of the module file in the module manager + 1.
* The +1
here is necessary since we wish 0 stands for the current
module file.
* B: 31 bit. The offset of the source location to the module file
* containing it.
* C: The macro bit. We rotate it to the lowest bit so that we can save
* some
space in case the index of the module file is 0.
```
(The B and C is the existing raw encoding for source locations)
Another reason to reuse the same slot of the source location is to
reduce the impact of the patch. Since there are a lot of places assuming
we can store and get a source location from a slot. And if I tried to
add another slot, a lot of codes breaks. I don't feel it is worhty.
Another impact of this decision is that, the existing small
optimizations for encoding source location may be invalided. The key of
the optimization is that we can turn large values into small values then
we can use VBR6 format to reduce the size. But if we decided to put the
module file index into the higher bits, then maybe it simply doesn't
work. An example may be the `SourceLocationSequence` optimization.
This will only affect the size of on-disk .pcm files. I don't expect
this impact the speed and memory use of compilations. And seeing my
small experiments above, I feel this trade off is worthy.
The mental model for handling source location offsets is not so complex
and I believe we can solve it by adding module file index to each stored
source location.
For the practical side, since the source location is pretty sensitive,
and the patch can pass all the in-tree tests and a small scale projects,
I feel it should be correct.
I'll continue to work on no transitive decl change and no transitive
identifier change (if matters) to achieve the goal to stop the
propagation of unnecessary changes. But all of this depends on this
patch. Since, clearly, the source locations are the most sensitive
thing.
---
The release nots and documentation will be added seperately.
Commit: d70267fbae228990c47b5bdbce7aa659e8b5146e
https://github.com/llvm/llvm-project/commit/d70267fbae228990c47b5bdbce7aa659e8b5146e
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A clang/test/Driver/riscv-option-arch.c
A clang/test/Driver/riscv-option-arch.s
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/option-arch.s
Log Message:
-----------
[RISCV] Teach .option arch to support experimental extensions. (#89727)
Previously `.option arch` denied extenions are not belongs to RISC-V
features. But experimental features have experimental- prefix, so
`.option arch` can not serve for experimental extension.
This patch uses the features of extensions to identify extension
existance.
Commit: 0348e71885ee8c07e1ae789059ff6d3c9ffce596
https://github.com/llvm/llvm-project/commit/0348e71885ee8c07e1ae789059ff6d3c9ffce596
Author: martinboehme <mboehme at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix crash when `operator=` result type is not destination type. (#90898)
The existing code was full of comments about how we assume this is
always the
case, but it's not mandated by the standard, and there is code out there
that
returns a different type. So check that the result type is in fact the
same as
the destination type before attempting to copy to the result.
To make sure that we don't bail out in more cases than intended, I've
extended
existing tests to verify that in the common case, we do return the
destination
object (by reference or value, as the case may be).
Commit: 1500dc0af985db8997744cb103a4b23dd4a81b2d
https://github.com/llvm/llvm-project/commit/1500dc0af985db8997744cb103a4b23dd4a81b2d
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/coalesce-vsetvli.mir
Log Message:
-----------
[RISCV] Use virtual registers for AVL instrs in coalesce-vsetvli.mir. NFC
All GPR registers will still be virtual at this stage, so update the test
to reflect that.
Commit: db532ff9584a2fe4b375188400986e0dd17ad92b
https://github.com/llvm/llvm-project/commit/db532ff9584a2fe4b375188400986e0dd17ad92b
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
Log Message:
-----------
Remove redundant move in return statement (#90546)
This pull request removes unnecessary move in the return statement to
suppress compilation warnings.
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: d654278bde8cfc87b962249b6781f079e0384535
https://github.com/llvm/llvm-project/commit/d654278bde8cfc87b962249b6781f079e0384535
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
A llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
Reapply "AMDGPU: Implement llvm.set.rounding (#88587)" series (#91113)
Revert "Revert 4 last AMDGPU commits to unbreak Windows bots"
This reverts commit 0d493ed2c6e664849a979b357a606dcd8273b03f.
MSVC does not like constexpr on the definition after an extern
declaration of a global.
Commit: 0140ba031c9b6a4028b36adb292fb37eb62f3dc0
https://github.com/llvm/llvm-project/commit/0140ba031c9b6a4028b36adb292fb37eb62f3dc0
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-late-parsing.cpp
Log Message:
-----------
[clang] Enable FPContract with optnone (#91061)
Previously treatment of the attribute `optnone` was modified in
https://github.com/llvm/llvm-project/pull/85605 ([clang] Set correct
FPOptions if attribute 'optnone' presents). As a side effect FPContract
was disabled for optnone. It created unneeded divergence with the
behavior of -O0, which enables this optimization.
In the discussion
https://github.com/llvm/llvm-project/pull/85605#issuecomment-2089350379
it was pointed out that FP contraction should be enabled even if all
optimizations are turned off, otherwise results of calculations would be
different. This change enables FPContract at optnone.
Commit: ef8d8148b448f9bbeef7cee7bf4f82e3233111cd
https://github.com/llvm/llvm-project/commit/ef8d8148b448f9bbeef7cee7bf4f82e3233111cd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
Log Message:
-----------
Revert "Remove redundant move in return statement" (#91169)
Reverts llvm/llvm-project#90546
This broke some bots, seems like some toolchain don’t consider the
implicit move here.
Commit: 181e82143e0069a03ad4d601185665f035b4cc4d
https://github.com/llvm/llvm-project/commit/181e82143e0069a03ad4d601185665f035b4cc4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
SystemZ: Remove redundant REQUIRES systemz from test
Commit: 4b61d04645a5289354b8f0884a132a70bc8b4350
https://github.com/llvm/llvm-project/commit/4b61d04645a5289354b8f0884a132a70bc8b4350
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/frame-26.mir
M llvm/test/CodeGen/SystemZ/frame-28.mir
M llvm/test/CodeGen/SystemZ/memcmp-03.ll
Log Message:
-----------
SystemZ: Remove unnecessary REQUIRES asserts from tests
Commit: e2c89254e12e844214d02f1d12bf29ba2ca322c7
https://github.com/llvm/llvm-project/commit/e2c89254e12e844214d02f1d12bf29ba2ca322c7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Log Message:
-----------
[AMDGPU] Fix typo in function name
Commit: eb75af223fb07d83808bd40ffde942435e9779d6
https://github.com/llvm/llvm-project/commit/eb75af223fb07d83808bd40ffde942435e9779d6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
A llvm/test/CodeGen/SystemZ/fold-copy-vector-immediate.mir
Log Message:
-----------
Reapply "SystemZ: Fold copy of vector immediate to gr128" (#91099)
This reverts commit a415b4dfcc02e3e82b8c8a7836f7c04b9d65dc9b.
Modify the instruction in place to transform it into a REG_SEQUENCE,
which is what other implementations of foldImmediate do. Also start
erasing the def instruction if there are no other uses.
Fixes #91110.
Commit: 30367cb5982dfdab2655401f020711311e7d78b9
https://github.com/llvm/llvm-project/commit/30367cb5982dfdab2655401f020711311e7d78b9
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/include/lldb/API/SBType.h
M lldb/source/API/SBType.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb] Add SBType::GetByteAlign (#90960)
lldb already mostly(*) tracks this information. This just makes it
available to the SB users.
(*) It does not do that for typedefs right now see llvm.org/pr90958
Commit: d3dad7a74be50d90754bf5c072e1a2330e92712c
https://github.com/llvm/llvm-project/commit/d3dad7a74be50d90754bf5c072e1a2330e92712c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fix miscompilation caused by #90436 (#91133)
Proof: https://alive2.llvm.org/ce/z/iRnJ4i
Fixes https://github.com/llvm/llvm-project/issues/91127.
Commit: 8a65ee8b2a05e276ab64682c3c9d3f93490cedcc
https://github.com/llvm/llvm-project/commit/8a65ee8b2a05e276ab64682c3c9d3f93490cedcc
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.if-invalid.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.if.xfail.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.else.64.mir
M llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
Log Message:
-----------
[AMDGPU] don't mark control-flow intrinsics as convergent (#90026)
This is really a workaround to allow control flow lowering in the
presence of convergence control tokens. Control-flow intrinsics in LLVM
IR are convergent because they indirectly represent the wave CFG, i.e.,
sets of threads that are "converged" or "execute in lock-step". But they
exist during a small window in the lowering process, inserted after the
structurizer and then translated to equivalent MIR pseudos. So rather
than create convergence tokens for these builtins, we simply mark them
as not convergent.
The corresponding MIR pseudos are marked as having side effects, which
is sufficient to prevent optimizations without having to mark them as
convergent.
Commit: 9a521e274d0ad4a4a461952d23809320e080ffb4
https://github.com/llvm/llvm-project/commit/9a521e274d0ad4a4a461952d23809320e080ffb4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Fix primitive lambda capture defaults
We need to use InitField here, not SetField.
Commit: e9bcd2bf6775483a394e24772b66c2bbdf8f4c30
https://github.com/llvm/llvm-project/commit/e9bcd2bf6775483a394e24772b66c2bbdf8f4c30
Author: hev <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArch.h
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
A llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
A llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
Log Message:
-----------
[LoongArch] Optimize *W Instructions at MI level (#90463)
Referring to RISC-V, adding an MI level pass to optimize *W instructions
for LoongArch.
First it removes unneeded sext(addi.w rd, rs, 0) instructions. Either
because the sign extended bits aren't consumed or because the input was
already sign extended by an earlier instruction.
Then:
1. Unless explicit disabled or the target prefers instructions with W
suffix, it removes the -w suffix from opw instructions whenever all
users are dependent only on the lower word of the result of the
instruction. The cases handled are:
* addi.w because it helps reduce test differences between LA32 and LA64
w/o being a pessimization.
2. Or if explicit enabled or the target prefers instructions with W
suffix, it adds the W suffix to the instruction whenever all users are
dependent only on the lower word of the result of the instruction. The
cases handled are:
* add.d/addi.d/sub.d/mul.d.
* slli.d with imm < 32.
* ld.d/ld.wu.
Commit: d98a78590f4f9e43fdfb69fde7d154a985e4560f
https://github.com/llvm/llvm-project/commit/d98a78590f4f9e43fdfb69fde7d154a985e4560f
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Mark data type i32 are sign-extended. NFC
Commit: 69d740e5d64257524914aabd6dfead7565185d4f
https://github.com/llvm/llvm-project/commit/69d740e5d64257524914aabd6dfead7565185d4f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
Log Message:
-----------
[clang][Interp] Fix creating functions with explicit instance parameters
Commit: 0933a7a12508901f1c99c3a23f2841740a1cf845
https://github.com/llvm/llvm-project/commit/0933a7a12508901f1c99c3a23f2841740a1cf845
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
Log Message:
-----------
[LoongArch] Rename some OptWInstrs functions. NFC
Commit: 522b4bfe5b140068a7f9b3d899740a460aa0e715
https://github.com/llvm/llvm-project/commit/522b4bfe5b140068a7f9b3d899740a460aa0e715
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/bitreverse-shift.ll
M llvm/test/CodeGen/X86/combine-bitreverse.ll
Log Message:
-----------
[DAG] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#89897)
Noticed while investigating GFNI per-element vector shifts (we can form SHL but not SRL/SRA)
Alive2: https://alive2.llvm.org/ce/z/fSH-rf
Commit: 0a0cac6dbd0ef67eb473f85a968bbf4ebea5220d
https://github.com/llvm/llvm-project/commit/0a0cac6dbd0ef67eb473f85a968bbf4ebea5220d
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmax-03.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-fmin-03.ll
Log Message:
-----------
[SystemZ] Simplify f128 atomic load/store (#90977)
Change definition of expandBitCastI128ToF128 and expandBitCastF128ToI128
to allow for simplified use in atomic load/store.
Update logic to split 128-bit loads and stores in DAGCombine to also
handle the f128 case where appropriate. This fixes the regressions
introduced by recent atomic load/store patches.
Commit: 8e7618aa21652132f930b6576b92291c5f1d46b6
https://github.com/llvm/llvm-project/commit/8e7618aa21652132f930b6576b92291c5f1d46b6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/horizontal-sum.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/pr34592.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y)) (#90219)
If we don't demand the same element from both single source shuffles (permutes), then attempt to blend the sources together first and then perform a merged permute.
For vXi16 blends we have to be careful as these are much more likely to involve byte/word vector shuffles that will result in the creation of additional shuffle instructions.
This fold might be worth it for VSELECT with constant masks on AVX512 targets, but I haven't investigated this yet, but I've tried to write combineBlendOfPermutes so to be prepared for this.
The PR34592 -O0 regression is an unfortunate failure to cleanup with a later pass that calls SimplifyDemandedElts like the -O3 does - I'm not sure how worried we should be tbh.
Commit: 6217abce86b55778cf39f7db7f591a16b9fd4d28
https://github.com/llvm/llvm-project/commit/6217abce86b55778cf39f7db7f591a16b9fd4d28
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/test/Driver/riscv-option-arch.c
M clang/test/Driver/riscv-option-arch.s
Log Message:
-----------
Add requires clause to risc-v clang driver tests
Followup to #89727
Commit: 47214903b1c6d0590780c7e69a2e3e612f43e4a2
https://github.com/llvm/llvm-project/commit/47214903b1c6d0590780c7e69a2e3e612f43e4a2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libcxxabi/src/aix_state_tab_eh.inc
Log Message:
-----------
[libc++abi][AIX] Use different function pointer types for destructors with 1 or 2 args (#89624)
The destructors generated by the legacy IBM `xlclang++` compiler can
take 1 or 2 arguments and the differences were handled by type `cast`
where it is needed. Clang now treats the `cast` here as an error after
https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
landed with `-Xextra -Werror`. The issue had been worked around by using
`#pragma GCC diagnostic push/pop`. This patch defines 2 separate
destructor types for 1 argument and 2 arguments respectively so `cast`
is not needed.
Commit: a9241998fcded780b9c6473dc4e5f8b732027f99
https://github.com/llvm/llvm-project/commit/a9241998fcded780b9c6473dc4e5f8b732027f99
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix -Wsign-compare in X86ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:40081:21:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
for (int I = 0; I != NumElts; ++I) {
~ ^ ~~~~~~~
1 error generated.
Commit: b2c2fef5fa5a000629c22be4955641e1ab0ca491
https://github.com/llvm/llvm-project/commit/b2c2fef5fa5a000629c22be4955641e1ab0ca491
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix -Wunused-function in X86ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:3582:13:
error: unused function 'isBlendOrUndef' [-Werror,-Wunused-function]
static bool isBlendOrUndef(ArrayRef<int> Mask) {
^
1 error generated.
Commit: 1e9625e59571042ad11039d11d7744c95c4da2f7
https://github.com/llvm/llvm-project/commit/1e9625e59571042ad11039d11d7744c95c4da2f7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/symbol08.f90
Log Message:
-----------
[flang][OpenMP] Support tasks' implicit firstprivate DSA (#85989)
Handle implicit firstprivate DSAs on task generating constructs.
Fixes https://github.com/llvm/llvm-project/issues/64480
Commit: e365ac809e1c01bbbcf70a20057f3dbbc7e14b49
https://github.com/llvm/llvm-project/commit/e365ac809e1c01bbbcf70a20057f3dbbc7e14b49
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/parallel-critical-do.f90
A flang/test/Semantics/OpenMP/parallel-sections-do.f90
Log Message:
-----------
[flang][OpenMP] Fix symbol handling in critical/sections constructs (#90671)
Fixes https://github.com/llvm/llvm-project/issues/78936
Commit: 6e31a49931b8b057868a64e89838e3c9b40f9198
https://github.com/llvm/llvm-project/commit/6e31a49931b8b057868a64e89838e3c9b40f9198
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/plugin-driver-args.cpp
Log Message:
-----------
[driver] Do not warn about unused plugin flags. (#88948)
Plugins are not loaded without the -cc1 phase. Do not report them when
running on an assembly file or when linking. Many build tools add these
options to all driver invocations, including LLVM's build system.
Fixes #88173
Commit: 148b721772ca626cf42be2c24a23e4aa3c62a6e0
https://github.com/llvm/llvm-project/commit/148b721772ca626cf42be2c24a23e4aa3c62a6e0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
Log Message:
-----------
[LAA] Update check line in test to fully match message.
Commit: 10ec0d20892c170182a50129614675d3173a3f44
https://github.com/llvm/llvm-project/commit/10ec0d20892c170182a50129614675d3173a3f44
Author: Yuanqiang Liu <liuyuanqiang.yqliu at bytedance.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/python/mlir/ir.py
M mlir/test/python/dialects/python_test.py
Log Message:
-----------
[MLIR] fix _f64ElementsAttr in ir.py (#91176)
Commit: 09adb53118e50ad433b7df6d84a4e2937bfb97d5
https://github.com/llvm/llvm-project/commit/09adb53118e50ad433b7df6d84a4e2937bfb97d5
Author: Chris <cbate at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/test/Dialect/EmitC/transforms.mlir
Log Message:
-----------
[MLIR][EmitC] Fix bug in EmitC form-expressions pass (#91084)
An `emitc.expression` can only yield a single result, but some
operations which have the `CExpression` trait can have multiple results,
which can result in a crash when applying the `fold-expressions` pass.
This change adds a check for the single-result condition and a simple
test.
Commit: 5f73d29cb74abf5b4eca113386b18110a53b1b6a
https://github.com/llvm/llvm-project/commit/5f73d29cb74abf5b4eca113386b18110a53b1b6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/unknown-dependence-retry-with-runtime-checks.ll
Log Message:
-----------
[LAA] Add tests showing extra unnecessary runtime checks.
Pre-commit tests for an upcoming patch.
Commit: 4d839d8f18e41bd97e1c5e82d53ad5687c07e586
https://github.com/llvm/llvm-project/commit/4d839d8f18e41bd97e1c5e82d53ad5687c07e586
Author: martinboehme <mboehme at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Don't propagate result objects in unevaluated contexts (reland #90438) (#91172)
This relands #90348 with a fix for a [buildbot
failure](https://lab.llvm.org/buildbot/#/builders/216/builds/38446)
caused by the test being run with `-fno-rtti`.
Commit: d751e407def4e1540ae0af12a179ce4f2a8f676c
https://github.com/llvm/llvm-project/commit/d751e407def4e1540ae0af12a179ce4f2a8f676c
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
Log Message:
-----------
[NFC] Use `const&` avoiding copies (#90334)
Fixes #90285.
Commit: ecfb5d9951554d8bdb6a499c958f48cc35f78a88
https://github.com/llvm/llvm-project/commit/ecfb5d9951554d8bdb6a499c958f48cc35f78a88
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
Log Message:
-----------
[libc][math] fix loose except check in `{EXPECT,ASSERT}_FP_EXCEPTION` macros (#88816)
Adds more FP test macros for the upcoming test adds for #61092 and the
issues opened from it: #88768, #88769, #88770, #88771, #88772.
Fix bug in `{EXPECT,ASSERT}_FP_EXCEPTION`. `EXPECT_FP_EXCEPTION(0)`
seems to be used to test that an exception did not happen, but it always
does `EXPECT_GE(... & 0, 0)` which never fails.
Update and refactor tests that break after the above bug fix. An
interesting way things broke after the above change is that
`ForceRoundingMode` and `quick_get_round()` were raising the inexact
exception, breaking a lot of the `atan*` tests.
The changes for all files other than `FPMatcher.h` and
`libc/test/src/math/smoke/RoundToIntegerTest.h` should have the same
semantics as before. For `RoundToIntegerTest.h`, lines 56-58 before the
changes do not always hold since this test is used for functions with
different exception and errno behavior like `lrint` and `lround`. I've
deleted those lines for now, but tests for those cases should be added
for the different nearest int functions to account for this.
Adding @nickdesaulniers for review.
Commit: d71771dd2748057532603813139d8fd61e83ea79
https://github.com/llvm/llvm-project/commit/d71771dd2748057532603813139d8fd61e83ea79
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/gold/X86/thinlto.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Revert "Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)" (#91194)
Reverts llvm/llvm-project#90692
Breaking PPC buildbots. The bots are not meant to test LLD, but are
running a test that is using an old version of LLD without the change
(so is incompatible). Revert until a fix is found.
Commit: 7b040d01c59505d62d4700c75b0438269a0f7bb4
https://github.com/llvm/llvm-project/commit/7b040d01c59505d62d4700c75b0438269a0f7bb4
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Don't fail when SBProcess::GetMemoryRegionInfo returns error. (#87649)
`SBProcess::GetMemoryRegionInfo` uses `qMemoryRegionInfo` packet to get
memory region info, but this is not supported in gdb-server and causing
downstream lldb test failures. This change ignores the the error from
`SBProcess::GetMemoryRegionInfo` .
Reported by @tedwoodward @jerinphilip.
Commit: 1b22ecae1f53af48f4c0e6438ae6fb4d73a8769d
https://github.com/llvm/llvm-project/commit/1b22ecae1f53af48f4c0e6438ae6fb4d73a8769d
Author: David Tenty <daltenty at ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
Revert "[AIX][CMake] Use top-level tools in llvm_ExternalProject_Add" (#91019)
This reverts commit 11066449d49e20f18f46757df07455c6abcedcf1.
As noted in the original patch, this was designed to reverted once
https://reviews.llvm.org/D142479 and https://reviews.llvm.org/D142660
landed, which has long since happened.
Commit: 1241e7692a466ceb420be2780f1c3e8bbab7d469
https://github.com/llvm/llvm-project/commit/1241e7692a466ceb420be2780f1c3e8bbab7d469
Author: Franklin Zhang <zhangfenglei at huawei.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/strncmp-1.ll
Log Message:
-----------
[AggressiveInstCombine] Fix strncmp inlining (#91204)
Fix the issue that `char` constants are converted to `uint64_t` in the
wrong way when doing the inlining.
Commit: d584df6c8fd4f1a517fa7373d43e9ba2cb10f47f
https://github.com/llvm/llvm-project/commit/d584df6c8fd4f1a517fa7373d43e9ba2cb10f47f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect smin analysis for minimal bitwidth, NFC.
Commit: a4760321017bd55f51ea0961231ca48ce9e14624
https://github.com/llvm/llvm-project/commit/a4760321017bd55f51ea0961231ca48ce9e14624
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smin-signed-zextended.ll
Log Message:
-----------
[SLP]Fix PR91025: correctly handle smin/smax of signed operands.
Need to check that the signed operand has an extra sign bit to be sure
that we do not skip signedness, when trying to minimize bitwidth for
smin/smax intrinsics.
Commit: 5cb13bfd897f5d69439058d3cd7b1af8a37c7e42
https://github.com/llvm/llvm-project/commit/5cb13bfd897f5d69439058d3cd7b1af8a37c7e42
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
Log Message:
-----------
[NFC][clang-tidy]increase stability for bugprone-return-const-ref-from-parameter (#91160)
Commit: 9d9bd76458ebc7c842c200982cfa0a490ccbe8cf
https://github.com/llvm/llvm-project/commit/9d9bd76458ebc7c842c200982cfa0a490ccbe8cf
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Check dead flag on VL def op in RISCVCoalesceVSETVLI. NFC (#91168)
Because LiveVariables has been run, we no longer need to lookup the
users in MachineRegisterInfo anymore and can instead just check for the
dead flag.
Commit: 6542e5663d1e599d5ed7c961842ce2fcdc9f5090
https://github.com/llvm/llvm-project/commit/6542e5663d1e599d5ed7c961842ce2fcdc9f5090
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/sections.f90
Log Message:
-----------
[flang][OpenMP] Move privatizations out of sections (#88191)
Besides duplicating code, privatizing variables in every section
causes problems when synchronization barriers are used. This
happens because each section is executed by a given thread, which
will cause the program to hang if not all running threads execute
the barrier operation.
Fixes https://github.com/llvm/llvm-project/issues/72824
Commit: e50060fc6fc9ca41fe4b266f3b68005247327247
https://github.com/llvm/llvm-project/commit/e50060fc6fc9ca41fe4b266f3b68005247327247
Author: David Green <david.green at arm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
Log Message:
-----------
[AArch64][GlobalISel] Addition GISel test coverage for shuffles. NFC
Commit: 48c8a5791ae71c96661479f684459b7b9427a22d
https://github.com/llvm/llvm-project/commit/48c8a5791ae71c96661479f684459b7b9427a22d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'deviceptr' and 'attach' sema for compute constructs
These two are very similar to the other 'var-list' variants, except they
require that the type of the variable be a pointer. This patch
implements that restriction.
Commit: b9541f9879b7c43d796e78e32ac896dd05550d71
https://github.com/llvm/llvm-project/commit/b9541f9879b7c43d796e78e32ac896dd05550d71
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda][NFC] Fix Semantics/cuf13.cuf test on Darwin
Commit: 52187b9f2e7ef0997269bcf64b3d2512a52467ed
https://github.com/llvm/llvm-project/commit/52187b9f2e7ef0997269bcf64b3d2512a52467ed
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
Log Message:
-----------
[RISCV] Move RISCVDeadRegisterDefinitions to post vector regalloc (#90636)
Currently RISCVDeadRegisterDefinitions runs after vsetvli insertion, but
in #70549 vsetvli insertion runs after vector regalloc and as a result
we no longer convert some vsetvli a0, a0s to vsetvli x0, a0. This patch
moves it to after vector regalloc, but before scalar regalloc so we
still get the benefits of reducing register pressure.
Commit: 5fa24ac277172045a81603bb56e66b5f4a27f99e
https://github.com/llvm/llvm-project/commit/5fa24ac277172045a81603bb56e66b5f4a27f99e
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Category Merger: add support for addrsig references (#90903)
When generating categories, clang sometimes will generate references in
the `.addrsig` section to the various category data items. Since we may
erase such items after merging them, we also need to remove them from
the `.addrsig` section - otherwise this will cause runtime asserts with
the `.addrsig` section trying to access invalid data.
Implementation wise, we use a hashset to keep track of all erased
`InputSection`'s and then go through all `.addrsig` sections and remove
references to any erased `InputSection`.
Commit: 9fc0b1824bfec0a65f4e2b840b23eedd9c2de4cf
https://github.com/llvm/llvm-project/commit/9fc0b1824bfec0a65f4e2b840b23eedd9c2de4cf
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
Log Message:
-----------
[lld-macho] Add support for category names in ConcatInputSection's (#90850)
In some cases we see strings from categories being part of "data"
sections (Ex:`__objc_const`), not part of of sections marked as
`cstring_literals`. Since lld treats these sections differently we need
to explicitly implement support for reading strings from the
non-`cstring_literals` sections.
Adding a test that previously would result in an assert.
Commit: cf6d79711d8a423cade5a555db650cb46a74e565
https://github.com/llvm/llvm-project/commit/cf6d79711d8a423cade5a555db650cb46a74e565
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
Log Message:
-----------
[lldb][NFCI] Remove unused DWARF value-to-name functions (#91010)
I was cleaning up this portion of the code and realized these are
completely unused.
Commit: f0f02b9c3eb1834f4c38d0c95bf19559869788ea
https://github.com/llvm/llvm-project/commit/f0f02b9c3eb1834f4c38d0c95bf19559869788ea
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[NFC][Driver] Clean up RenderFloatingPointOptions() (#91017)
This change refactors RenderFloatingPointOptions() to eliminate some
excessively complicated logic and a redundant switch statement. The
logic being simplified is an artifact of the original -ffp-model
implementation, and over time it has become unnecessary.
The handling of diagnostics related to the -ffp-contract option is
still a bit convoluted after this change. I will address that in a
subsequent patch because I think it will make sense to make some minor
changes to the driver behavior when that is cleaned up. The current
patch should not make any change to observable behavior of the driver.
Commit: c144157f3df0dc5cd147cd1c531d75193fd6a22f
https://github.com/llvm/llvm-project/commit/c144157f3df0dc5cd147cd1c531d75193fd6a22f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP]Use last pointer instead of first for reversed strided stores.
Need to use the last address of the vectorized stores for the strided
stores, not the first one, to correctly store the data.
Commit: d0be944aa51194145cd15c987af67489f735059d
https://github.com/llvm/llvm-project/commit/d0be944aa51194145cd15c987af67489f735059d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] Add slow div64 tuning flag to Nehalem target (#91129)
This appears to have been missed because later cpus don't inherit from Nehalem tuning much.
Noticed while cleaning up for #90985
Commit: e4d242768aefabc0091dd01fabecaffbc2b6984b
https://github.com/llvm/llvm-project/commit/e4d242768aefabc0091dd01fabecaffbc2b6984b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/test/Analysis/addrspace-null.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
M clang/test/Analysis/new-aligned.cpp
M clang/test/Analysis/osobject-retain-release.cpp
M clang/test/Analysis/ptr-cmp-const-trunc.cl
M clang/test/Analysis/region_store_overflow.c
M clang/test/Analysis/solver-sym-simplification-bool.cpp
M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
M clang/test/Analysis/transparent_union_bug.c
M clang/test/Analysis/trustnonnullchecker_test.m
M clang/test/Analysis/trustnonnullchecker_test.mm
M clang/test/Analysis/undef-call.c
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
M clang/test/Rewriter/rewrite-super-message.mm
Log Message:
-----------
[test] %clang_cc1 -analyze: remove redundant actions
Commit: 363ec6f6911afe5b2ab640d6a7d778908c58b3bd
https://github.com/llvm/llvm-project/commit/363ec6f6911afe5b2ab640d6a7d778908c58b3bd
Author: David Green <david.green at arm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
Log Message:
-----------
[AArch64][GlobalISel] Common some shuffle mask functions.
This removes the GISel versions of isREVMask, isTRNMask, isUZPMask and
isZipMask. They are combined with the existing versions from SDAG into
AArch64PerfectShuffle.h.
Commit: 657eda36728824b14c3c08d261c93daf2d4664bf
https://github.com/llvm/llvm-project/commit/657eda36728824b14c3c08d261c93daf2d4664bf
Author: Chris <cbate at nvidia.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Target/Cpp/expressions.mlir
Log Message:
-----------
[MLIR][EmitC] Don't translate expressions inline if user is `emitc.subscript` (#91087)
This change updates the logic that determines whether an `emitc.expression`
result is translated into a dedicated variable assignment. Due to how
the translation of `emitc.subscript` currently works, a previously
inline-able `emitc.expression` would produce incorrect C++ if its single user
was a `emitc.subscript` operation.
Commit: d3e77f5408fded2b4bb70f51d6d9e52684badc92
https://github.com/llvm/llvm-project/commit/d3e77f5408fded2b4bb70f51d6d9e52684badc92
Author: Brandt Bucher <brandtbucher at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/test/CodeGen/X86/preserve_nonecc_call.ll
A llvm/test/CodeGen/X86/preserve_nonecc_call_win.ll
Log Message:
-----------
Try to use non-volatile registers for `preserve_none` parameters (#88333)
This uses non-volatile registers for the first four (six on Windows)
registers used for `preserve_none` argument passing. This allows these
registers to stay "pinned", even if the body of the `preserve_none`
function contains calls to other "normal" functions.
Example:
```c
void boring(void);
__attribute__((preserve_none)) void (continuation)(void *, void *, void *, void *);
__attribute__((preserve_none)) void entry(void *a, void *b, void *c, void *d)
{
boring();
__attribute__((musttail)) return continuation(a, b, c, d);
}
```
Before:
```asm
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
callq boring at PLT
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
popq %rax
jmp continuation at PLT
```
After:
```asm
pushq %rax
callq boring at PLT
popq %rax
jmp continuation at PLT
```
Commit: e68d505008d878c6303032631fcfd5918b62f3d6
https://github.com/llvm/llvm-project/commit/e68d505008d878c6303032631fcfd5918b62f3d6
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF] Refactor helper functions that update DW_AT_comp_dir/DW_AT_dwo_name (#91237)
We need to update DW_AT_comp_dir/DW_AT_dwo_name TU in the
.debug_info.dwo section so that the path is correct. Refactored helper
functions to make it easier for next step.
Commit: 94204f59e92473bb19333f40a2250b64a398191a
https://github.com/llvm/llvm-project/commit/94204f59e92473bb19333f40a2250b64a398191a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyin-order.f90
Log Message:
-----------
[flang][OpenMP] Fix location of `barrier` in `copyin` clause (#91214)
Insert the barrier after the last _executed_ copy, not the most recently
inserted copy.
This fixes https://github.com/llvm/llvm-project/issues/91205.
Commit: fcf341d3ddfe2289ac88aa3c122b25df8732cc8e
https://github.com/llvm/llvm-project/commit/fcf341d3ddfe2289ac88aa3c122b25df8732cc8e
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
Log Message:
-----------
[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265)
The current logic for using lifetime intrinsics to determine whether a
coroutine alloca should live on the coroutine frame or stack doesn't
consider `llvm.lifetime.end`. As a result, some allocas are incorrectly
placed on the stack even though their lifetimes may outlive the stack.
For example, SimplifyCFG may generate code that drops the corresponding
`llvm.lifetime.end` of an `llvm.lifetime.start`, and that code is
incorrectly handled by the existing logic.
To fix this, new logic is introduced where if an alloca's address is
escaped, and there is a path from an `llvm.lifetime.start` to a
coroutine suspend point (e.g. `llvm.coro.suspend`) without an
`llvm.lifetime.end`, then we know the object lives beyond the suspension
point and therefore must go on the coroutine frame.
Fixes https://github.com/llvm/llvm-project/issues/86580
Commit: ee36dd20e7a15dd5d66223592650655c8cf743fe
https://github.com/llvm/llvm-project/commit/ee36dd20e7a15dd5d66223592650655c8cf743fe
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix layering_check with macOS targets (#91260)
Commit: 144091b361c6419ea37ae96341980481e90c4122
https://github.com/llvm/llvm-project/commit/144091b361c6419ea37ae96341980481e90c4122
Author: David Tenty <daltenty at ibm.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP][CMake] Revert standalone build LIBOMP_HEADERS_INSTALL_PATH (#91243)
Revert the portion of https://github.com/llvm/llvm-project/pull/75125
which modified the LIBOMP_HEADERS_INSTALL_PATH in standalone build.
This change is harmful for real standalone builds (i.e. builds where we
build openmp by itself), since it tries to overwrite the `omp.h` inside
the build compiler. For all-in-one builds with clang, testing shows this
change is unnecessary as https://github.com/llvm/llvm-project/pull/88007
already set up that build configuration so that omp.h will be put into
the project build's `clang` resource directory.
Commit: afeedd9c3d4c0fc1f8022a970137dd3ea410f865
https://github.com/llvm/llvm-project/commit/afeedd9c3d4c0fc1f8022a970137dd3ea410f865
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
A llvm/docs/DirectX/DXContainer.rst
M llvm/docs/DirectXUsage.rst
Log Message:
-----------
[DirectX][docs] Document DXContainer format (#90908)
This adds a document to describe the DXContainer format and the
structures of data inside the file.
Resolves #88775
Commit: b21d2de661994f37ffb9c79fede3154d96f89db2
https://github.com/llvm/llvm-project/commit/b21d2de661994f37ffb9c79fede3154d96f89db2
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
R clang/test/SemaHLSL/literal_suffixes.hlsl
R clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
Log Message:
-----------
[HLSL] Implement 202x conforming literals (#91015)
This implements the HLSL 202x conforming literals feature.
The feature proposal is available here:
https://github.com/microsoft/hlsl-specs/blob/main/proposals/0017-conforming-literals.md
The language specification for this behavior is available in (poorly
rendered) HTML or PDF:
https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Lex.Literal.Float
https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf
The main implementation details are:
1) Unsuffixed floating literals are `float`.
2) The integer `ll` suffix specifies `int64_t (aka long)` which is
64-bit because HLSL has no defined `long` keyword or `long long` type.
Resolves #85714
Commit: 3809e20afc68d7d03821f0ec59b928dcf9befbf4
https://github.com/llvm/llvm-project/commit/3809e20afc68d7d03821f0ec59b928dcf9befbf4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Use add_custom_command for SBLanguages.h (#91254)
Use add_custom_command instead of add_custom_target to generate
SBLanguages.h.
Commit: 89e0557e48155d7eaab2a25426f6dfc9493f2474
https://github.com/llvm/llvm-project/commit/89e0557e48155d7eaab2a25426f6dfc9493f2474
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/copyin-order.f90
Log Message:
-----------
[flang][OpenMP] Fix comments in test file, NFC
Address review comments for PR91214.
Commit: 080978dd2067d0c9ea7e229aa7696c2480d89ef1
https://github.com/llvm/llvm-project/commit/080978dd2067d0c9ea7e229aa7696c2480d89ef1
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DirectX][DXIL] Set DXIL Version in DXIL target triple based on shader model version (#90809)
An earlier commit provided a way to decouple DXIL version from Shader
Model version by representing the DXIL version as `SubArch` in the DXIL
Target Triple and adding corresponding valid DXIL Arch types.
This change constructs DXIL target triple with DXIL version that is
deduced from Shader Model version specified in the following scenarios:
1. When compilation target profile is specified:
For e.g., DXIL target triple `dxilv1.8-unknown-shader6.8-library` is
constructed when `-T lib_6_8` is specified.
2. When DXIL target triple without DXIL version is specified:
For e.g., DXIL target triple `dxilv1.8-pc-shadermodel6.8-library` is
constructed when `-mtriple=dxil-pc-shadermodel6.8-library` is specified.
Updated relevant HLSL tests that check for target triple.
Validated that Clang (`check-clang`) and LLVM (`check-llvm`) regression
tests pass.
Commit: ee9ca120e037b668c5d26853719368490a71fd40
https://github.com/llvm/llvm-project/commit/ee9ca120e037b668c5d26853719368490a71fd40
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
Log Message:
-----------
[flang][cuda] Avoid generating wrong fir.cuda_free op (#91255)
fir.cuda_free operation was wrongly generated for dummy argument.
Commit: 096f85e827b6fdf52ff1f8d99aa8335a885b46a1
https://github.com/llvm/llvm-project/commit/096f85e827b6fdf52ff1f8d99aa8335a885b46a1
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc] add more APIs of cmgxchg variants (#91208)
Such APIs are useful in lock implementations
Commit: 29d447a6e446e7fd78bd28af28bbf7dd377ade10
https://github.com/llvm/llvm-project/commit/29d447a6e446e7fd78bd28af28bbf7dd377ade10
Author: Ian Anderson <iana at apple.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__stdarg_header_macro.h
A clang/lib/Headers/__stddef_header_macro.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stddef.h
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (#90676)
stdarg.h and especially stddef.h are textual and so everything they
declare gets precompiled into all of their clients' pcm files. They
shouldn't directly declare anything though, their purpose is to select
what submodules get imported, and not to add duplicate declarations to
all of their clients. Make it so that they always ignore their header
guards, even without modules, and declare them in separate header files
so that they only go into the stdarg/stddef pcms. Still declare them in
case clients rely on them.
Commit: b86accceee0c7c5d36ecdc1629d00e6303f29955
https://github.com/llvm/llvm-project/commit/b86accceee0c7c5d36ecdc1629d00e6303f29955
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Treat (foo())->bar() like foo()->bar(). (#91052)
Commit: 6d6693e9f5376ac8c809a36e1ba4a8c47f311a70
https://github.com/llvm/llvm-project/commit/6d6693e9f5376ac8c809a36e1ba4a8c47f311a70
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
Log Message:
-----------
[webkit.RefCntblBaseVirtualDtor] Ignore WTF::RefCounted<T> and its variants missing virtual destructor (#91009)
Commit: 2287f8d2353dadcbe210e07776c927c9fabca57c
https://github.com/llvm/llvm-project/commit/2287f8d2353dadcbe210e07776c927c9fabca57c
Author: antangelo <contact at antangelo.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/dynamic-regmask-preserve-none.ll
Log Message:
-----------
[NFC][X86] Fix check directive typo in preserve_none dynamic regmask test (#91048)
Fixes an inactive check line and updates the check to match output and
other cases.
Commit: 6e5ed351be68017e46120b8ad1aa89d75b0ca204
https://github.com/llvm/llvm-project/commit/6e5ed351be68017e46120b8ad1aa89d75b0ca204
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho] Fix category merging category map non-determinism (#91159)
Currently in `ObjcCategoryMerger::doMerge` and
`generateCatListForNonErasedCategories` we use maps of pointers which
leads to non-determinism. Switch instead to using `MapVector` which
preserves determinism.
Commit: 924384161ffceda08099536dd07a953299a69b53
https://github.com/llvm/llvm-project/commit/924384161ffceda08099536dd07a953299a69b53
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
R llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
Log Message:
-----------
Revert "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265)"
This reverts commit fcf341d3ddfe2289ac88aa3c122b25df8732cc8e.
Causes major compile-time regressions when not using coroutines.
Commit: de8cf69abf4f8b16d5c5ecb77a6dfb1f5c09e45a
https://github.com/llvm/llvm-project/commit/de8cf69abf4f8b16d5c5ecb77a6dfb1f5c09e45a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] callbr result can be used in all successors (#91167)
Originally, the callbr result could only be used on the fallthrough
destination. This limitation has been lifted, and the result is now also
available on the indirect destinations. However, LangRef was not updated
to reflect this.
Commit: f34d30cdae0f59698f660d5cc8fb993fb3441064
https://github.com/llvm/llvm-project/commit/f34d30cdae0f59698f660d5cc8fb993fb3441064
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
Log Message:
-----------
[FunctionAttrs] Fix incorrect nonnull inference for non-inbounds GEP (#91180)
For inbounds GEPs, if the source pointer is non-null, the result must
also be non-null. However, this does not hold for non-inbounds GEPs.
Fixes https://github.com/llvm/llvm-project/issues/91177.
Commit: fd0ffb74389d6bf52c5c2afc8cd0a4e26cfa6c2f
https://github.com/llvm/llvm-project/commit/fd0ffb74389d6bf52c5c2afc8cd0a4e26cfa6c2f
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
Log Message:
-----------
[ValueTracking] Recognize `LShr(UINT_MAX, Y) + 1` as a power-of-two (#91171)
There is a missed optimization in
``` llvm
define i8 @known_power_of_two_rust_next_power_of_two(i8 %x, i8 %y) {
%2 = add i8 %x, -1
%3 = tail call i8 @llvm.ctlz.i8(i8 %2, i1 true)
%4 = lshr i8 -1, %3
%5 = add i8 %4, 1
%6 = icmp ugt i8 %x, 1
%p = select i1 %6, i8 %5, i8 1
%r = urem i8 %y, %p
ret i8 %r
}
```
which is extracted from the Rust code
``` rust
fn func(x: usize, y: usize) -> usize {
let z = x.next_power_of_two();
y % z
}
```
Here `%p` (a.k.a `z`) is semantically a power-of-two, so `y urem p` can
be optimized to `y & (p - 1)`. (Alive2 proof:
https://alive2.llvm.org/ce/z/H3zooY)
---
It could be generalized to recognizing `LShr(UINT_MAX, Y) + 1` as a
power-of-two, which is what this PR does.
Alive2 proof: https://alive2.llvm.org/ce/z/zUPTbc
Commit: 0ab4458df0688955620b72cc2c72a32dffad3615
https://github.com/llvm/llvm-project/commit/0ab4458df0688955620b72cc2c72a32dffad3615
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/cttz.ll
Log Message:
-----------
[InstCombine] Fold `cttz(lshr(-1, x) + 1)` to `width - x` (#91244)
Fold
``` llvm
define i64 @src(i64 %50) {
%52 = lshr i64 -1, %50
%53 = add i64 %52, 1
%54 = call i64 @llvm.cttz.i64(i64 %53, i1 false)
ret i64 %54
}
```
to
``` llvm
define i64 @tgt(i64 %50) {
%52 = sub i64 64, %50
ret i64 %52
}
```
as
https://github.com/llvm/llvm-project/pull/91171#pullrequestreview-2040663002
pointed out.
Alive2 proof: https://alive2.llvm.org/ce/z/2aHfYa
Note: the `ctlz` version of this pattern seems not exist in dtcxzyw's
benchmark, so put it aside for now.
Commit: 178ff395006f204265b4f6fe72a3dbb2b9a79b47
https://github.com/llvm/llvm-project/commit/178ff395006f204265b4f6fe72a3dbb2b9a79b47
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
Revert "[DirectX][DXIL] Set DXIL Version in DXIL target triple based on shader model version" (#91290)
Reverts llvm/llvm-project#90809
Need to investigate ASAN failures.
Commit: 3e54768d7a0e1cfa65e892b6602993192ecad91e
https://github.com/llvm/llvm-project/commit/3e54768d7a0e1cfa65e892b6602993192ecad91e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Detect target triple from preprocessor instead of CMake (#91283)
Summary:
This patch removes the special-case handling for the target triple
inside of the CMake. I moved it into the implementation so it's easier
to see and modify.
Commit: 37fcb323f61efb8dfb74548a1b472fa20e829170
https://github.com/llvm/llvm-project/commit/37fcb323f61efb8dfb74548a1b472fa20e829170
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
Log Message:
-----------
[RISCV] Add codegen support for Zvfbfmin (#87911)
This patch adds basic codegen support for Zvfbfmin extension.
Commit: aac83fcf3ec6bbe5e0d83b76d2d236b1b4bfbe89
https://github.com/llvm/llvm-project/commit/aac83fcf3ec6bbe5e0d83b76d2d236b1b4bfbe89
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/Reassociate/reassoc_bool.ll
A llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll
Log Message:
-----------
[Reassociate] Adds test coverage for reassociation of scalar & vector boolean types (#89899)
First step for #64840.
Commit: 236b3e1aad45e2bab8ede0da6397b7b01f9cc9d8
https://github.com/llvm/llvm-project/commit/236b3e1aad45e2bab8ede0da6397b7b01f9cc9d8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle Java switch expressions (#91112)
Also adds AllowShortCaseExpressionOnASingleLine option and
AlignCaseArrows suboption of AlignConsecutiveShortCaseStatements.
Fixes #55903.
Commit: f9d76197ff0099502cf001abe3f5310c5bc4532d
https://github.com/llvm/llvm-project/commit/f9d76197ff0099502cf001abe3f5310c5bc4532d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
A clang/test/Modules/pr91105.cppm
Log Message:
-----------
[ASTContext] Profile Dependently-sized array types that do not have a specified number
of elements
Close https://github.com/llvm/llvm-project/issues/91105
The root reason for the issue is that we always generate the
dependently-sized array types which don't specify a number of elements.
The original comment says:
> We do no canonicalization here at all, which is okay
> because they can't be used in most locations.
But now we find the locations.
Commit: 4cce9fbb4e086170f69bfc8766f9613673b441c9
https://github.com/llvm/llvm-project/commit/4cce9fbb4e086170f69bfc8766f9613673b441c9
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/Headers/arm-acle-header.c
Log Message:
-----------
[Arm64EC] Fix compilation of arm_acle.h (#91281)
Commit: dfa7ff97b24dc5a3dd714b45af288812c13d0110
https://github.com/llvm/llvm-project/commit/dfa7ff97b24dc5a3dd714b45af288812c13d0110
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/function-transitive-change.cppm
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Combine the signature of used modules
into the current module
Following of https://github.com/llvm/llvm-project/pull/86912. After
https://github.com/llvm/llvm-project/pull/86912, with reduced BMI, the
BMI can keep unchange if the dependent modules only changes the
implementation (without introduing new decls). However, this is not
strictly correct.
For example:
```
// a.cppm
export module a;
export inline int a() { ... }
// b.cppm
export module b;
import a;
export inline int b() { return a(); }
```
Since both `a()` and `b()` are inline, we need to make sure the BMI of
`b.pcm` will change after the implementation of `a()` changes.
We can't get that naturally since we won't record the body of `a()`
during the writing process. We can't reuse ODRHash here since ODRHash
won't calculate the called function recursively. So ODRHash will be
problematic if `a()` calls other inline functions.
Probably we can solve this by a new hash mechanism. But the safety and
efficiency may a problem too. Here we just combine the hash value of the
used modules conservatively.
Commit: 02ce8227ac28e0b83cf780716ae8f912d076eebe
https://github.com/llvm/llvm-project/commit/02ce8227ac28e0b83cf780716ae8f912d076eebe
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[NFC][OpenMP][OMPX] Move `declare variant` up
Commit: 879245e2b5d48b629e8b085afacf69cc1fd6a6ec
https://github.com/llvm/llvm-project/commit/879245e2b5d48b629e8b085afacf69cc1fd6a6ec
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-06 (Mon, 06 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/IndirectCallVisitor.h
Log Message:
-----------
[NFC]Extract the heuristic to find vtable for an indirect call into a helper function (#81024)
* This way the helper function could be re-used by
indirect-call-promotion pass to find out the vtable for an indirect call
and extract the value profiles if any.
* The parent patch is https://github.com/llvm/llvm-project/pull/80762
Commit: b42f553af5179b26efe38bee2c1b7aa365b06517
https://github.com/llvm/llvm-project/commit/b42f553af5179b26efe38bee2c1b7aa365b06517
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
Log Message:
-----------
[GlobalIsel] Combine extract vector element (#90339)
look through shuffle vectors
Commit: ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
https://github.com/llvm/llvm-project/commit/ad9f38d0e3a5e7e06c39dbd7da88a921a49aa805
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[NFC] Fix Modules/no-transitive-source-location-change.cppm after dfa7ff97b2
The test fails after dfa7ff97b2. I didn't find this locally due to
cache.
Commit: 05f4448d40f00b9fb2447e1c32cd18a7a9b8b011
https://github.com/llvm/llvm-project/commit/05f4448d40f00b9fb2447e1c32cd18a7a9b8b011
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A clang/test/AST/Interp/eval-order.cpp
Log Message:
-----------
[clang][Interp][NFC] Add eval-order test
Demonstrate that this isn't yet working right.
Commit: 5f2f3900138cc519e1cb807e99920337eede2b6c
https://github.com/llvm/llvm-project/commit/5f2f3900138cc519e1cb807e99920337eede2b6c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Allow Pointer assignment if both are zero
... even if the storage types are different.
Commit: 2b9210d1aa9ce9c204b3af0158636c71a5a72e17
https://github.com/llvm/llvm-project/commit/2b9210d1aa9ce9c204b3af0158636c71a5a72e17
Author: Abhishek Varma <abhvarma at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[MLIR][SCF] Add canonicalization pattern to fold away iter args of scf.forall (#90189)
-- This commit adds a canonicalization pattern to fold away iter args of
scf.forall if :-
a. The corresponding tied result has no use.
b. It is not being modified within the loop.
Signed-off-by: Abhishek Varma <avarma094 at gmail.com>
Commit: fc866fd2a2cfca6d62f48dcf83778959fd24f559
https://github.com/llvm/llvm-project/commit/fc866fd2a2cfca6d62f48dcf83778959fd24f559
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/AST/ast-dump-recovery.cpp
Log Message:
-----------
[clang] Don't preserve the typo expr in the recovery expr for invalid VarDecls (#90948)
With the commit d5308949cf884d8e4b971d51a8b4f73584c4adec, we now
preserve the initializer for invalid decls with the recovery-expr.
However there is a chance that the original init expr is a typo-expr, we
should not preserve it in the final AST, as typo-expr is an internal AST
node. We should use the one after the typo correction.
This is spotted by a clangd hover crash on the testcase.
Commit: 6ad37a41b5489ce66ea890bf92fca66ea1ae41e0
https://github.com/llvm/llvm-project/commit/6ad37a41b5489ce66ea890bf92fca66ea1ae41e0
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Trivial changes in OmpCycleChecker (#91024)
Cycle is associated with construct-names and not labels. Change name of
a few variables to reflect this. Also add appropriate comment to
describe the else case of error checking.
Commit: a62a7024164c2977cd0e77f77807f957802d204a
https://github.com/llvm/llvm-project/commit/a62a7024164c2977cd0e77f77807f957802d204a
Author: jinchen <49575973+jinchen62 at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] Add expand patterns for acosh, asinh, atanh (#90718)
Commit: ebde770c3e6f0dd9d297659cbaeb486cef9471d6
https://github.com/llvm/llvm-project/commit/ebde770c3e6f0dd9d297659cbaeb486cef9471d6
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Use IMPLICIT_DEF for undef GPR reg in vsetvli test. NFC
Only VRs should use $noreg, this GPR was accidentally changed in d392520c6
Commit: ad59967336d2279eee77fff3a92e52ec87010aae
https://github.com/llvm/llvm-project/commit/ad59967336d2279eee77fff3a92e52ec87010aae
Author: hev <wangrui at loongson.cn>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Optimize codegen for ISD::{ROTL,ROTR} (#91174)
Commit: d9f2b9391887af95acdd91dfea2e72eb3a9d8d05
https://github.com/llvm/llvm-project/commit/d9f2b9391887af95acdd91dfea2e72eb3a9d8d05
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Change more undef passthrus to $noreg in vector tests. NFC
Commit: f3fbd21fa4e25496725c22d987e4e47e4c39c8b0
https://github.com/llvm/llvm-project/commit/f3fbd21fa4e25496725c22d987e4e47e4c39c8b0
Author: martinboehme <mboehme at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Strengthen pointer comparison. (#75170)
- Instead of comparing the identity of the `PointerValue`s, compare the
underlying `StorageLocation`s.
- If the `StorageLocation`s are the same, return a definite "true" as
the
result of the comparison. Before, if the `PointerValue`s were different,
we
would return an atom, even if the storage locations themselves were the
same.
- If the `StorageLocation`s are different, return an atom (as before).
Pointers
that have different storage locations may still alias, so we can't
return a
definite "false" in this case.
The application-level gains from this are relatively modest. For the
Crubit
nullability check running on an internal codebase, this change reduces
the
number of functions on which the SAT solver times out from 223 to 221;
the
number of "pointer expression not modeled" errors reduces from 3815 to
3778.
Still, it seems that the gain in precision is generally worthwhile.
@Xazax-hun inspired me to think about this with his
[comments](https://github.com/llvm/llvm-project/pull/73860#pullrequestreview-1761484615)
on a different PR.
Commit: 1de0535e84f03941badc8021bbc87a8c674a379f
https://github.com/llvm/llvm-project/commit/1de0535e84f03941badc8021bbc87a8c674a379f
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/ReleaseNotes.rst
M llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s
M llvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s
M llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
A llvm/test/tools/llvm-mca/bad-input.s
M llvm/tools/llvm-mca/CodeRegionGenerator.cpp
M llvm/tools/llvm-mca/CodeRegionGenerator.h
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[llvm-mca] Abort on parse error without -skip-unsupported-instructions (#90474)
[llvm-mca] Abort on parse error without -skip-unsupported-instructions
Prior to this patch, llvm-mca would continue executing after parse
errors. These errors can lead to some confusion since some analysis
results are printed on the standard output, and they're printed after
the errors, which could otherwise be easy to miss.
However it is still useful to be able to continue analysis after errors;
so extend the recently added -skip-unsupported-instructions to support
this.
Two tests which have parse errors for some of the 'RUN' branches are
updated to use -skip-unsupported-instructions so they can remain as-is.
Add a description of -skip-unsupported-instructions to the llvm-mca
command guide, and add it to the llvm-mca --help output:
```
--skip-unsupported-instructions=<value> - Force analysis to continue in the presence of unsupported instructions
=none - Exit with an error when an instruction is unsupported for any reason (default)
=lack-sched - Skip instructions on input which lack scheduling information
=parse-failure - Skip lines on the input which fail to parse for any reason
=any - Skip instructions or lines on input which are unsupported for any reason
```
Tests within this patch are intended to cover each of the cases.
Reason | Flag | Comment
--------------|------|-------
none | none | Usual case, existing test suite
lack-sched | none | Advises user to use -skip-unsupported-instructions=lack-sched, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | none | Advises user to use -skip-unsupported-instructions=parse-failure, tested in llvm/test/tools/llvm-mca/bad-input.s
any | none | (N/A, covered above)
lack-sched | any | Continues, prints warnings, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | any | Continues, prints errors, tested in llvm/test/tools/llvm-mca/bad-input.s
lack-sched | parse-failure | Advises user to use -skip-unsupported-instructions=lack-sched, tested in llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
parse-failure | lack-sched | Advises user to use -skip-unsupported-instructions=parse-failure, tested in llvm/test/tools/llvm-mca/bad-input.s
none | * | This would be any test case with skip-unsupported-instructions, coverage added in llvm/test/tools/llvm-mca/X86/BtVer2/simple-test.s
any | * | (Logically covered by the other cases)
Commit: 1530f319311908b06fe935c89fca692d3e53184f
https://github.com/llvm/llvm-project/commit/1530f319311908b06fe935c89fca692d3e53184f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Update some unittests to the new format (#90476)
This patch updates the unittests that can be changed to the new format
after #89799 (which changes the default format everywhere) to avoid a
loss in coverage for the (new) default debug info format.
Commit: 1fd196c8df8e9fa4e0eddddc92b012824d8d1b0b
https://github.com/llvm/llvm-project/commit/1fd196c8df8e9fa4e0eddddc92b012824d8d1b0b
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
Log Message:
-----------
[AArch64] Diagnose more functions when FP not enabled (#90832)
When using a hard-float ABI for a target without FP registers, it's not
possible to correctly generate code for functions with arguments which
must be passed in floating-point registers. This is diagnosed in CodeGen
instead of Sema, to more closely match GCC's behaviour around inline
functions, which is relied on by the Linux kernel.
Previously, this only checked function signatures as they were
code-generated, but this missed some cases:
* Calls to functions not defined in this translation unit.
* Calls through function pointers.
* Calls to variadic functions, where the variadic arguments have a
floating-point type.
This adds checks to function calls, as well as definitions, so that
these cases are correctly diagnosed.
Commit: 50da7680d882dac122fac442348649c9951011a0
https://github.com/llvm/llvm-project/commit/50da7680d882dac122fac442348649c9951011a0
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
Log Message:
-----------
[AVR][NFC] Improve format of target description files (#91296)
Commit: 6aed0ab6547f577cceaccfc6d710f96b645c3af7
https://github.com/llvm/llvm-project/commit/6aed0ab6547f577cceaccfc6d710f96b645c3af7
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/docs/use/qemu-testing.rst
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Have lldb-server assign ports to children in platform mode (#88845)
Fixes #47549
`lldb-server`'s platform mode seems to have an issue with its
`--min-gdbserver-port` `--max-gdbserver-port` flags (and probably the
`--gdbserver-port` flag, but I didn't test it).
How the platform code seems to work is that it listens on a port, and
whenever there's an incoming connection, it forks the process to handle
the connection. To handle the port flags, the main process uses an
instance of the helper class
`GDBRemoteCommunicationServerPlatform::PortMap`, that can be configured
and track usages of ports. The child process handling the platform
connection, can then use the port map to allocate a port for the
gdb-server connection it will make (this is another process it spawns).
However, in the current code, this works only once. After the first
connection is handled by forking a child process, the main platform
listener code loops around, and then 'forgets' about the port map. This
is because this code:
```cpp
GDBRemoteCommunicationServerPlatform platform(
acceptor_up->GetSocketProtocol(), acceptor_up->GetSocketScheme());
if (!gdbserver_portmap.empty()) {
platform.SetPortMap(std::move(gdbserver_portmap));
}
```
is within the connection listening loop. This results in the
`gdbserver_portmap` being moved into the platform object at the
beginning of the first iteration of the loop, but on the second
iteration, after the first fork, the next instance of the platform
object will not have its platform port mapped.
The result of this bug is that subsequent connections to the platform,
when spawning the gdb-remote connection, will be supplied a random port
- which isn't bounded by the `--min-gdbserver-port` and
`--max-gdbserver--port` parameters passed in by the user.
This PR fixes this issue by having the port map be maintained by the
parent platform listener process. On connection, the listener allocates
a single available port from the port map, associates the child process
pid with the port, and lets the connection handling child use that
single port number.
Additionally, when cleaning up child processes, the main listener
process tracks the child that exited to deallocate the previously
associated port, so it can be reused for a new connection.
Commit: d838e5b3e86e7b3b4b2f75ee9c2854e23782888e
https://github.com/llvm/llvm-project/commit/d838e5b3e86e7b3b4b2f75ee9c2854e23782888e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp16.ll
Log Message:
-----------
[X86] Add FastImm16 tuning flag to Intel Atom + AMD Bobcat/Ryzen Families (#90635)
This patch limits the icmp_i16(x,c) -> icmp_i32(ext(x),ext(c)) fold to CPUs that aren't known to have fast handling for length-changing prefixes for imm16 operands.
We are always assuming that 66/67h length-changing prefixes cause severe stalls and we should always extend imm16 operands and use a i32 icmp instead, the only exception being Intel Bonnell CPUs.
Agner makes this clear (see microarchitecture.pdf) that there are no stalls for any of the Intel Atom family (at least as far as Tremont - not sure about Gracemont or later). This is also true for AMD Bobcat/Jaguar and Ryzen families.
Recent performance Intel CPUs are trickier - Core2/Nehalem and earlier could have a 6-11cy stall, while SandyBridge onwards this is reduced to 3cy or less. I'm not sure if we should accept this as fast or not, we only use this flag for the icmp_i16 case, so that might be acceptable? If so, we should add this to x86-64-v3/v4 tuning as well.
Part of #90355 + #62952
Commit: 6ce04747cff524b4c5c8738e25144659a5cf6691
https://github.com/llvm/llvm-project/commit/6ce04747cff524b4c5c8738e25144659a5cf6691
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/NVPTX/addrspacecast.ll
Log Message:
-----------
[SDISel] Teach the type legalizer about ADDRSPACECAST (#90969)
Vectorized ADDRSPACECASTs were not supported by the type legalizer.
This patch adds the support for:
- splitting the vector result: <2 x ptr> => 2 x <1 x ptr>
- scalarization: <1 x ptr> => ptr
- widening: <3 x ptr> => <4 x ptr>
This is all exercised by the added NVPTX tests.
Commit: abd314938dda1b117f289be5e630e43e68533929
https://github.com/llvm/llvm-project/commit/abd314938dda1b117f289be5e630e43e68533929
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
Log Message:
-----------
[X86] Use GFNI for vXi8 shifts/rotates (#89115)
As detailed here: https://github.com/InstLatx64/InstLatX64_Demo/blob/master/GFNI_Demo.h
We can use the gf2p8affine instruction to lower byte shifts/rotates as well as the existing bitreverse case.
Based off the original patch here: https://reviews.llvm.org/D137026
Commit: e232659028365b51feb001565884b3b8e62cc2a9
https://github.com/llvm/llvm-project/commit/e232659028365b51feb001565884b3b8e62cc2a9
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M bolt/lib/Core/ParallelUtilities.cpp
Log Message:
-----------
[NFC][BOLT] Call EnsureAllocatorExists instead of copy pasting code
Commit: 235cea720c0fa6dcf0bf5aff15001de88b6042f9
https://github.com/llvm/llvm-project/commit/235cea720c0fa6dcf0bf5aff15001de88b6042f9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][LLVM] Refactor rounding mode detection of constrained fp intrinsic IDs (#90854)
I've refactored the code to genericise the implementation to better
allow for target specific constrained fp intrinsics.
Commit: 651bdb96b16d4e522f4611b60103234b1f890b24
https://github.com/llvm/llvm-project/commit/651bdb96b16d4e522f4611b60103234b1f890b24
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-features.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/ARM/ARMArchitectures.td
M llvm/lib/Target/ARM/ARMProcessors.td
M llvm/test/Analysis/CostModel/ARM/arith.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/divrem.ll
M llvm/test/CodeGen/ARM/cortex-a57-misched-basic.ll
M llvm/test/CodeGen/ARM/fpconv.ll
M llvm/test/CodeGen/ARM/half.ll
M llvm/test/CodeGen/ARM/useaa.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] Armv8-R does not require fp64 or neon. (#88287)
This was [addressed for AArch64
here](https://github.com/llvm/llvm-project/pull/79004), but the same
applies to ARM.
Move the enablement of neon+fp64 to `-mcpu=cortex-r52`, which optionally
supports these features.
Commit: 97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
https://github.com/llvm/llvm-project/commit/97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/test/Analysis/return-value-guaranteed.cpp
Log Message:
-----------
[analyzer] Clean up apiModeling.llvm.ReturnValue (#91231)
This commit heavily refactors and simplifies the small and trivial
checker `apiModeling.llvm.ReturnValue`, which is responsible for
modeling the peculiar coding convention that in the LLVM/Clang codebase
certain Error() methods always return true.
Changes included in this commit:
- The call description mode is now specified explicitly (this is not the
most significant change, but it was the original reason for touching
this checker).
- Previously the code provided support for modeling functions that
always return `false`; but there was no need for that, so this commit
hardcodes that the return value is `true`.
- The overcomplicated constraint/state handling logic was simplified.
- The separate `checkEndFunction` callback was removed to simplify the
code. Admittedly this means that the note tag for the "<method> returns
false, breaking the convention" case is placed on the method call
instead of the `return` statement; but that case will _never_ appear in
practice, so this difference is mostly academical.
- The text of the note tags was clarified.
- The descriptions in the header comment and Checkers.td were clarified.
- Some minor cleanup was applied in the associated test file.
This change is very close to NFC because it only affects a hidden
`apiModeling.llvm` checker that's only relevant during the analysis of
the LLVM/Clang codebase, and even there it doesn't affect the normal
behavior of the checker.
Commit: dcc7ef3ce87d7ea1ed9e64bb91e3bb2026df9644
https://github.com/llvm/llvm-project/commit/dcc7ef3ce87d7ea1ed9e64bb91e3bb2026df9644
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx9-asm-err.s
M llvm/test/MC/AMDGPU/sopp-err.s
M llvm/test/MC/AMDGPU/sopp-gfx9.s
Log Message:
-----------
[AMDGPU][MC] Disable sendmsg SYSMSG_OP_HOST_TRAP_ACK on gfx9+ (#90203)
This is no longer supported as of gfx9. Fixes #52903
This commit also includes some refactoring of sendmsg operand parsing:
- Use CustomOperand for sendmsg operations, this allows them to be
conditionally available based on a STI check (and automatically in
sync with SIDefines.h).
- Move CustomOperand table lookups from AMDGPUBaseInfo to
AMDGPUAsmUtils. This cleans up an awkward interface where
AMDGPUAsmUtils defined a table/size as globals that AMDGPUBaseInfo
had to loop over.
- Clean up a few of the operand lookup functions while moving them.
Commit: 6d64f8e1feee014e72730a78b62d9d415df112ff
https://github.com/llvm/llvm-project/commit/6d64f8e1feee014e72730a78b62d9d415df112ff
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in more checkers (#90974)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in various checkers.
Some code was simplified to use `CallDescriptionSet`s instead of
individual `CallDescription`s.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits have already performed this change in other checkers:
- easy cases: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
- MallocChecker: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
- iterator checkers: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
- InvalidPtr checker: 024281d4d26344f9613b9115ea1fcbdbdba23235
... and follow-up commits will handle the remaining checkers.
My goal is to ensure that the call description mode is always explicitly
specified and eliminate (or strongly restrict) the vague "may be either
a method or a simple function" mode that's the current default.
Commit: afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
https://github.com/llvm/llvm-project/commit/afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/bad-input.s
A llvm/test/tools/llvm-mca/X86/bad-input.s
R llvm/test/tools/llvm-mca/bad-input.s
Log Message:
-----------
[llvm-mca] Move bad-input.s test to be target specific
... for now.
This is a follow up to #90474 in response to build bot failures.
This test is intended to check a case where invalid assembly is passed
to llvm-mca.
Unfortunately it appears that a cross-toolchain built with
-DTOOLCHAIN_TARGET_TRIPLE does not have an llvm-mca which works out of
the box if the host target is not enabled.
As a quick fix to make the build bots green, move the test into AArch64
and X86 so that there is reasonable coverage for this test; later I hope
mca can be fixed to work out of the box in this configuration.
Commit: 458d70674190c4d043d5dfd2e41aecddff5cdb69
https://github.com/llvm/llvm-project/commit/458d70674190c4d043d5dfd2e41aecddff5cdb69
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/Neoverse/bad-input.s
R llvm/test/tools/llvm-mca/AArch64/bad-input.s
M llvm/test/tools/llvm-mca/X86/bad-input.s
Log Message:
-----------
[llvm-mca] Make bad-input.s even more CPU specific
Note: This patch is distinct from the previous one titled
"[llvm-mca] Move bad-input.s test to be target specific"
This is a followup to #90474 and commit
afc10fc9b7ce3d23d9012f5a1496e849fe873ba2
Context: Builders failing because they're unable to run the failure
test.
This still doesn't work in various circumstances, it seems MCA doesn't
want to run on a wide variety of hosts in various configurations, so
stick to the tried and tested method and pass -mtriple and -mcpu.
Commit: 6f2997cefc1e32c11a891ede2e3a2d73310e6ce1
https://github.com/llvm/llvm-project/commit/6f2997cefc1e32c11a891ede2e3a2d73310e6ce1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/__type_traits/is_equality_comparable.h
Log Message:
-----------
[libc++][NFC] Remove unused include from <__type_traits/is_equality_comparable.h> (#90950)
Commit: b22a6f1eba8e27b2a21bf6b96a3bd349230cb80a
https://github.com/llvm/llvm-project/commit/b22a6f1eba8e27b2a21bf6b96a3bd349230cb80a
Author: Vincent Belliard <81770341+v-bulle at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/Shell/ExecControl/StepIn/Inputs/aarch64_thunk.cc
A lldb/test/Shell/ExecControl/StepIn/step_through-aarch64-thunk.test
Log Message:
-----------
[lldb] fix step in AArch64 trampoline (#90783)
Detects AArch64 trampolines in order to be able to step in a function
through a trampoline on AArch64.
---------
Co-authored-by: Vincent Belliard <v-bulle at github.com>
Commit: 66364e65405d4964709e67574abf1b519a55296c
https://github.com/llvm/llvm-project/commit/66364e65405d4964709e67574abf1b519a55296c
Author: martinboehme <mboehme at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Solver.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
Log Message:
-----------
[clang][dataflow] Add `reachedLimit()` to the `Solver` interface. (#91320)
We may want code to call this that doesn't know which specific solver
implementation it is dealing with.
Commit: fff2db2e426ebe3a349bd0f00555d4a3dc8a6de7
https://github.com/llvm/llvm-project/commit/fff2db2e426ebe3a349bd0f00555d4a3dc8a6de7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/__availability
Log Message:
-----------
[libc++] Rename _LIBCPP_INTRODUCED_foo_MARKUP to _LIBCPP_INTRODUCED_foo_ATTRIBUTE (#91269)
This was discussed in #87563 and overlooked when I landed the patch.
Commit: 27becf0c3c1e7ac4a2f2e848b44d872f1aa1db9a
https://github.com/llvm/llvm-project/commit/27becf0c3c1e7ac4a2f2e848b44d872f1aa1db9a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] CTAD: fix the aggregate deduction guide for alias templates. (#90894)
For alias templates, our current way of constructing their aggregate
deduction guides deviates from the standard approach. We should align it
with how we handle implicit deduction guides.
This patch has a refactoring change which pulls the construction logic
out from `DeclareImplicitDeductionGuidesForTypeAlia` and reusing it for
building aggregate deduction guides.
Commit: 227fe1c1995dea1850483449e8510db2726bcbee
https://github.com/llvm/llvm-project/commit/227fe1c1995dea1850483449e8510db2726bcbee
Author: David Truby <david.truby at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang] Remove C++ runtime dependency from Sleep extension (#84911)
The Sleep extension currently has a potential dependency on the C++
runtime. I run into this dependency using libc++ on Linux. This patch
uses the POSIX `sleep` function or the Windows `Sleep` function
instead to avoid this dependency.
Commit: 1d87465a0a95cee9accc5dce7abdabbbc3f3c122
https://github.com/llvm/llvm-project/commit/1d87465a0a95cee9accc5dce7abdabbbc3f3c122
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/test/src/math/FModTest.h
Log Message:
-----------
[libc][math] fmod: clear exceptions before the test instead of after
The test has no control over the CPU state before the test runs.
This test checks whether no exception flags are set, which may not be
true at the start of the test. This used to be not a problem because the
check was broken but that was fixed in ecfb5d9951554d8bdb6a499c958f48cc35f78a88
Commit: 41ca9104ac1e0bf248d4082f45c5ad03ddd55727
https://github.com/llvm/llvm-project/commit/41ca9104ac1e0bf248d4082f45c5ad03ddd55727
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
A openmp/runtime/test/target/issue-81488.c
A openmp/runtime/test/tasking/issue-50602.c
A openmp/runtime/test/tasking/issue-69368.c
A openmp/runtime/test/tasking/issue-69733.c
A openmp/runtime/test/tasking/issue-79416.c
A openmp/runtime/test/tasking/task_teams_stress_test.cpp
Log Message:
-----------
[OpenMP] Fix task state and taskteams for serial teams (#86859)
* Serial teams now use a stack (similar to dispatch buffers)
* Serial teams always use `t_task_team[0]` as the task team and the
second pointer is a next pointer for the stack
`t_task_team[1]` is interpreted as a stack of task teams where each
level is a nested level
```
inner serial team outer serial team
[ t_task_team[0] ] -> (task_team) [ t_task_team[0] ] -> (task_team)
[ next ] ----------------> [ next ] -> ...
```
* Remove the task state memo stack from thread structure.
* Instead of a thread-private stack, use team structure to store
th_task_state of the primary thread. When coming out of a parallel,
restore the primary thread's task state. The new field in the team
structure doesn't cause sizeof(team) to change and is in the cache line
which is only read/written by the primary thread.
Fixes: #50602
Fixes: #69368
Fixes: #69733
Fixes: #79416
Commit: 5d9b549bb05ad31727cd019bcefeae7b94b2dbd2
https://github.com/llvm/llvm-project/commit/5d9b549bb05ad31727cd019bcefeae7b94b2dbd2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/unsigned-after-sext-node.ll
Log Message:
-----------
[SLP][NFC]Add a test showing incorrect signedness detection in sext nodes.
Commit: a775455cdca78445ccfe4adb2a7c9e390ae46e10
https://github.com/llvm/llvm-project/commit/a775455cdca78445ccfe4adb2a7c9e390ae46e10
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible target
Commit: 9eb91f45fb34353942b8f8154f229150a0d01456
https://github.com/llvm/llvm-project/commit/9eb91f45fb34353942b8f8154f229150a0d01456
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add `nobuildkite` tags for incompatible targets
Commit: f548c4d83cdded0c19ca02ca9c071d8ced9ea4fd
https://github.com/llvm/llvm-project/commit/f548c4d83cdded0c19ca02ca9c071d8ced9ea4fd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
Log Message:
-----------
AMDGPU: Add mode register use to s_getreg_b32
This should fix reading the wrong mode after setting the mode.
Ideally we would have separate pseudos for the case that we know
does not read mode.
Commit: 30cfe2b2ace51a8fa0eeb64f136e3999f87971ad
https://github.com/llvm/llvm-project/commit/30cfe2b2ace51a8fa0eeb64f136e3999f87971ad
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
A clang/test/SemaOpenACC/compute-construct-async-clause.c
A clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'async' clause sema for compute constructs
This is a pretty simple clause, it takes an 'async-argument', which
effectively needs to be just parsed as an 'int' argument, since it can
be an arbitrarly integer at runtime (and negative values are legal for
implementation defined values).
This patch also cleans up the async-argument parsing, so 'wait' got some
minor quality-of-life improvements for parsing (both clause and
construct).
Commit: 099417d617cf44711377d02eedc580a0c11297e9
https://github.com/llvm/llvm-project/commit/099417d617cf44711377d02eedc580a0c11297e9
Author: Matthias Springer <me at m-sp.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/docs/Bufferization.md
A mlir/docs/includes/img/bufferization_passes.svg
A mlir/docs/includes/img/bufferization_tensor_insert_dst.svg
Log Message:
-----------
[mlir][NFC] Improve bufferization documentation (#89495)
* Add example for `test-analysis-only` and `print-conflicts`.
* Mention other bufferization-related passes.
* Update outdated documentation.
Commit: ab3a9e724d87a4272782f76b90fb0872a6a86939
https://github.com/llvm/llvm-project/commit/ab3a9e724d87a4272782f76b90fb0872a6a86939
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
A libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex.h
M libc/src/__support/threads/thread.cpp
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
Log Message:
-----------
[libc] clean up futex usage (#91163)
# Motivation
Futex syscalls are widely used in our codebase as synchronization
mechanism. Hence, it may be worthy to abstract out the most common
routines (wait and wake). On the other hand, C++20 also provides
`std::atomic_notify_one/std::atomic_wait/std::atomic_notify_all` which
align with such functionalities. This PR introduces `Futex` as a subtype
of `cpp::Atomic<FutexWordType>` with additional
`notify_one/notify_all/wait` operations.
Providing such wrappers also make future porting easier. For example,
FreeBSD's `_umtx_op` and Darwin's `ulock` can be wrapped in a similar
manner.
### Similar Examples
1. [bionic
futex](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/bionic/bionic_futex.cpp)
2. [futex in Rust's
std](https://github.com/rust-lang/rust/blob/8cef37dbb67e9c80702925f19cf298c4203991e4/library/std/src/sys/pal/unix/futex.rs#L21)
Commit: 41dd07bf5cbfb800797821d1ad32226e5339bcfb
https://github.com/llvm/llvm-project/commit/41dd07bf5cbfb800797821d1ad32226e5339bcfb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
Log Message:
-----------
[AArch64] Add test coverage for bitreverse(logicalshift(bitreverse(x),y)) -> logicalshift(x,y) fold
DAG already performs this fold (#89897), GISel is currently missing it (patch incoming)
Commit: de117dd533547f8bc8d00ea989252021ec1e877e
https://github.com/llvm/llvm-project/commit/de117dd533547f8bc8d00ea989252021ec1e877e
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/CodeGen/SystemZ/atomic-load-09.ll
A llvm/test/CodeGen/SystemZ/atomic-store-09.ll
Log Message:
-----------
[SystemZ] Add some more atomic load/store tests
Verify atomic load/store of f128 on z14 where the type
lives in VRs.
Commit: 45fed80b15df85cee53d3d31a7a46ae0daa91a3f
https://github.com/llvm/llvm-project/commit/45fed80b15df85cee53d3d31a7a46ae0daa91a3f
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
Log Message:
-----------
[AIX][libc++] Enable clang_modules_include.gen.py tests (#90971)
Enable these tests on AIX since they're passing.
Commit: d5cabf8d89a5f5faa5255283821cb080bebbff86
https://github.com/llvm/llvm-project/commit/d5cabf8d89a5f5faa5255283821cb080bebbff86
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
Log Message:
-----------
Keep attribute when bufferizing `scf.forall` op (#91236)
Commit: f72454086af9d3f91a86e10dc1923849c5f670a8
https://github.com/llvm/llvm-project/commit/f72454086af9d3f91a86e10dc1923849c5f670a8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix retrieval of nested evaluation in cuf kernel (#91298)
`loopEval` was declared inside the for loop to iterate over the nested
loops so the same loop control was redeclared for each level of the loop
nest. Make sure we are iterating over all the loops by putting
`loopEval` declaration ouside of the for loop.
Commit: 6a6fcbffbb31f83fab7425d43e28eb6aa39dbfe9
https://github.com/llvm/llvm-project/commit/6a6fcbffbb31f83fab7425d43e28eb6aa39dbfe9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Clang][AArch64] NFC: Add IsArmStreamingFunction.
Simple refactoring to make a single interface that checks if a
FunctionDecl is a __arm[_locally]_streaming function.
Commit: e84fae837c0b154153bd9b9a3255ec5a67b1ea61
https://github.com/llvm/llvm-project/commit/e84fae837c0b154153bd9b9a3255ec5a67b1ea61
Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
Log Message:
-----------
[clang] MangledSymbol: remove pointless copy of vector (#90012)
This pr addresses #87255 adds a std::move call to the names in
MangledSymbol's constructor.
Commit: 57175533da0f3ea2054550c2e4d3e831e93bb4df
https://github.com/llvm/llvm-project/commit/57175533da0f3ea2054550c2e4d3e831e93bb4df
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/AsmPrinter.cpp
A mlir/test/IR/print-unique-ssa-ids.mlir
Log Message:
-----------
[MLIR][IR] add -mlir-print-unique-ssa-ids to AsmPrinter (#91241)
Add an option to unique the numbers of values, block arguments and
naming conflicts when requested and/or printing generic op form. This is
helpful when debugging. For example, if you have:
scf.for
%0 =
%1 = opA %0
scf.for
%0 =
%1 = opB %0
And you get a verifier error which says opB's "operand #0 does not
dominate this use", it looks like %0 does dominate the use. This is not
intuitive. If these were numbered uniquely, it would look like:
scf.for
%0 =
%1 = opA %0
scf.for
%2 =
%3 = opB %0
And thus, much clearer as to why you are getting the error since %0 is
out of scope. Since generic op form should aim to give you the most
possible information, it seems like a good idea to use unique numbers in
this situation. Adding an option also gives those an option to use it
outside of generic op form.
Co-authored-by: Scott Manley <scmanley at nvidia.com>
Commit: b2477765dbf9bd28bd2d1813c41ae12613f87717
https://github.com/llvm/llvm-project/commit/b2477765dbf9bd28bd2d1813c41ae12613f87717
Author: Duo Wang <duow1 at uci.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/SemaTemplate/instantiation-depth-default.cpp
Log Message:
-----------
[clang][test] Fix instantiation-depth-default.cpp under ubsan config on Windows (#91021)
Clang test `instantiation-depth-default.cpp` fails on Windows when built
with `ubsan` due to extra warnings printed by the compiler:
```console
File instantiation-depth-default.cpp Line 11: stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely
```
Originally in https://github.com/llvm/llvm-project/pull/75254 this test
was enabled for `asan` as well but later started to cause failures in
Linux ASAN buildbots. I have excluded `asan` from this change.
Commit: f00f2941307e04d3b7320969ee3fec9af31246ba
https://github.com/llvm/llvm-project/commit/f00f2941307e04d3b7320969ee3fec9af31246ba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/unsigned-after-sext-node.ll
Log Message:
-----------
[SLP]Fix PR91309: Do not consider SExt as always producing signed result.
Still need to do the full analysis of the signedness of the values
rather than rely on Instruction opcode, if the opcode is SExt. Still may
produce unsigned result.
Commit: e74a7a9fd79a74073277471243a44527c71eb4a9
https://github.com/llvm/llvm-project/commit/e74a7a9fd79a74073277471243a44527c71eb4a9
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Frontend/multiple-actions.c
Log Message:
-----------
cc1: Report an error for multiple actions unless separated by -main-file-name (#91140)
When multiple actions are specified, the last one is used and others are
overridden. This might lead to confusion if the user is used to driver's
`-S -emit-llvm` behavior.
```
%clang_cc1 -S -emit-llvm a.c # -S is overridden
%clang_cc1 -emit-llvm -S a.c # -emit-llvm is overridden
%clang_cc1 -fsyntax-only -S a.c # -fsyntax-only is overridden
```
However, we want to continue supporting overriding the driver action
with -Xclang:
* `clang -c -Xclang -ast-dump a.c` (`%clang -cc1 -emit-obj ...
-main-file-name a.c ... -ast-dump`)
* `clang -c -xc++ -Xclang -emit-module stl.modulemap`
As an exception, we allow -ast-dump* options to be composed together
(e.g. `-ast-dump -ast-dump-lookups` in AST/ast-dump-lookups.cpp).
Commit: 8bcb0737056163686e967821bea7f9e87c57cdfc
https://github.com/llvm/llvm-project/commit/8bcb0737056163686e967821bea7f9e87c57cdfc
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/fseparate-named-sections.c
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/X86/elf-separate-named-sections.ll
Log Message:
-----------
[Clang] -fseparate-named-sections option (#91028)
When set, the compiler will use separate unique sections for global
symbols in named special sections (e.g. symbols that are annotated with
__attribute__((section(...)))). Doing so enables linker GC to collect
unused symbols without having to use a different section per-symbol.
Commit: 5c5116556f58d90353aa3e3a34214cdc5ff0b2f2
https://github.com/llvm/llvm-project/commit/5c5116556f58d90353aa3e3a34214cdc5ff0b2f2
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/test/Dialect/SparseTensor/binary_valued.mlir
M mlir/test/Dialect/SparseTensor/codegen.mlir
M mlir/test/Dialect/SparseTensor/sparse_matmul_codegen.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
Log Message:
-----------
[mlir][sparse] force a properly sized view on pos/crd/val under codegen (#91288)
Codegen "vectors" for pos/crd/val use the capacity as memref size, not
the actual used size. Although the sparsifier itself always uses just
the defined pos/crd/val parts, printing these and passing them back to a
runtime environment could benefit from wrapping the basic pos/crd/val
getters into a proper memref view that sets the right size.
Commit: 7927bcdb8a32646f78c01535050ada6ddc23f4f5
https://github.com/llvm/llvm-project/commit/7927bcdb8a32646f78c01535050ada6ddc23f4f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
Log Message:
-----------
AMDGPU: Do not bitcast atomicrmw in IR (#90045)
This is the first step to eliminating shouldCastAtomicRMWIInIR. This and
the other atomic expand casting hooks should be removed. This adds
duplicate legalization machinery and interfaces. This is already what
codegen is supposed to do, and already does for the promotion case.
In the case of atomicrmw xchg, there seems to be some benefit to having
the bitcasts moved outside of the cmpxchg loop on targets with separate
int and FP registers, which we should be able to deal with by directly
checking for the legality of the underlying operation.
The casting path was also losing metadata when it recreated the
instruction.
Commit: 63ceb9afc693209964efd4ac4844c9c0712c312d
https://github.com/llvm/llvm-project/commit/63ceb9afc693209964efd4ac4844c9c0712c312d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/sext-subreg.ll
Log Message:
-----------
[X86] sext-subreg.ll - regenerate checks
Commit: 7198b8a39a062215aaf4ad8d2df23f7a10eaf6ae
https://github.com/llvm/llvm-project/commit/7198b8a39a062215aaf4ad8d2df23f7a10eaf6ae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/x86-64-extend-shift.ll
Log Message:
-----------
[X86] x86-64-extend-shift.ll - regenerate checks
Commit: 1a96179596099b8a3839050dbff02bfed94502e5
https://github.com/llvm/llvm-project/commit/1a96179596099b8a3839050dbff02bfed94502e5
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libcxx/include/string
A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/support/asan_testing.h
Log Message:
-----------
[ASan][libc++] Turn on ASan annotations for short strings (#79536)
This pull request is the third iteration aiming to integrate short
string annotations. This commit includes:
- Enabling basic_string annotations for short strings.
- Setting a value of `__trivially_relocatable` in `std::basic_string` to
`false_type` when compiling with ASan (nothing changes when compiling
without ASan). Short string annotations make `std::basic_string` to not
be trivially relocatable, because memory has to be unpoisoned.
- Adding a `_LIBCPP_STRING_INTERNAL_MEMORY_ACCESS` modifier to two
functions.
- Creating a macro `_LIBCPP_ASAN_VOLATILE_WRAPPER` to prevent
problematic stack optimizations (the macro modifies code behavior only
when compiling with ASan).
Previously we had issues with compiler optimization, which we understand
thanks to @vitalybuka. This commit also addresses smaller changes in
short string, since previous upstream attempts.
Problematic optimization was loading two values in code similar to:
```
__is_long() ? __get_long_size() : __get_short_size();
```
We aim to resolve it with the volatile wrapper.
This commit is built on top of two previous attempts which descriptions
are below.
Additionally, in the meantime, annotations were updated (but it
shouldn't have any impact on anything):
- https://github.com/llvm/llvm-project/pull/79292
---
Previous PR: https://github.com/llvm/llvm-project/pull/79049
Reverted:
https://github.com/llvm/llvm-project/commit/a16f81f5e3313e88f96de35e5edfe8bee463d308
Previous description:
Originally merged here: https://github.com/llvm/llvm-project/pull/75882
Reverted here: https://github.com/llvm/llvm-project/pull/78627
Reverted due to failing buildbots. The problem was not caused by the
annotations code, but by code in the `UniqueFunctionBase` class and in
the `JSON.h` file. That code caused the program to write to memory that
was already being used by string objects, which resulted in an ASan
error.
Fixes are implemented in:
- https://github.com/llvm/llvm-project/pull/79065
- https://github.com/llvm/llvm-project/pull/79066
Problematic code from `UniqueFunctionBase` for example:
```cpp
// In debug builds, we also scribble across the rest of the storage.
memset(RHS.getInlineStorage(), 0xAD, InlineStorageSize);
```
---
Original description:
This commit turns on ASan annotations in `std::basic_string` for short
stings (SSO case).
Originally suggested here: https://reviews.llvm.org/D147680
String annotations added here:
https://github.com/llvm/llvm-project/pull/72677
Requires to pass CI without fails:
- https://github.com/llvm/llvm-project/pull/75845
- https://github.com/llvm/llvm-project/pull/75858
Annotating `std::basic_string` with default allocator is implemented in
https://github.com/llvm/llvm-project/pull/72677 but annotations for
short strings (SSO - Short String Optimization) are turned off there.
This commit turns them on. This also removes
`_LIBCPP_SHORT_STRING_ANNOTATIONS_ALLOWED`, because we do not plan to
support turning on and off short string annotations.
Support in ASan API exists since
https://github.com/llvm/llvm-project/commit/dd1b7b797a116eed588fd752fbe61d34deeb24e4.
You can turn off annotations for a specific allocator based on changes
from
https://github.com/llvm/llvm-project/commit/2fa1bec7a20bb23f2e6620085adb257dafaa3be0.
This PR is a part of a series of patches extending AddressSanitizer C++
container overflow detection capabilities by adding annotations, similar
to those existing in `std::vector` and `std::deque` collections. These
enhancements empower ASan to effectively detect instances where the
instrumented program attempts to access memory within a collection's
internal allocation that remains unused. This includes cases where
access occurs before or after the stored elements in `std::deque`, or
between the `std::basic_string`'s size (including the null terminator)
and capacity bounds.
The introduction of these annotations was spurred by a real-world
software bug discovered by Trail of Bits, involving an out-of-bounds
memory access during the comparison of two strings using the
`std::equals` function. This function was taking iterators
(`iter1_begin`, `iter1_end`, `iter2_begin`) to perform the comparison,
using a custom comparison function. When the `iter1` object exceeded the
length of `iter2`, an out-of-bounds read could occur on the `iter2`
object. Container sanitization, upon enabling these annotations, would
effectively identify and flag this potential vulnerability.
If you have any questions, please email:
- advenam.tacet at trailofbits.com
- disconnect3d at trailofbits.com
Commit: 1318230587c30acb82324f851734a40341847a50
https://github.com/llvm/llvm-project/commit/1318230587c30acb82324f851734a40341847a50
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
R clang/test/Driver/riscv-option-arch.c
R clang/test/Driver/riscv-option-arch.s
Log Message:
-----------
[RISCV][NFC] Remove redundant test cases. (#91324)
PR #89727 added the two test cases to verify `.option arch` should only
work when having -menable-experimental-extensions. And the test idea
could be splitted to
1. When having menable-experimental-extensions, clang passes
+experimental.
2. `.option arch` only enabled when +experimental enabled.
And we already had the two kind of tests.
Commit: 486695d154b23d0f66f3a5e054963b78d7d08d5a
https://github.com/llvm/llvm-project/commit/486695d154b23d0f66f3a5e054963b78d7d08d5a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
R flang/test/Driver/driver-help-hidden.f90
Log Message:
-----------
[flang] Remove driver-help-hidden.f90 (#91307)
This file was originally removed in #89504 and then accidentally
re-added in #89938.
Commit: 72085698a244e10780a6f115269a2f88455c8cab
https://github.com/llvm/llvm-project/commit/72085698a244e10780a6f115269a2f88455c8cab
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
Log Message:
-----------
[mlir][math] Add Polynomial Approximation for acos, asin op (#90962)
Adds the Polynomial Approximation for math.acos and math.asin op. Also,
it adds integration tests.
The Approximation has been borrowed from
https://stackoverflow.com/a/42683455
I added this script:
https://gist.github.com/pashu123/cd3e682b21a64ac306f650fb842a422b to
test 50 values between -1 and 1. The results are
https://gist.github.com/pashu123/8acb233bd045bacabfa8c992d4040465. It's
well within the bounds.
Commit: 026a29e8b38aad79568de033d0e8e5d2e6bb4250
https://github.com/llvm/llvm-project/commit/026a29e8b38aad79568de033d0e8e5d2e6bb4250
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Analysis/BlockFrequencyInfo.cpp
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
Log Message:
-----------
[Analysis, CodeGen, DebugInfo] Use StringRef::operator== instead of StringRef::equals (NFC) (#91304)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
53 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 873431a68a3aa3ec4fed5d2dc98ef527230b0d21
https://github.com/llvm/llvm-project/commit/873431a68a3aa3ec4fed5d2dc98ef527230b0d21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/hdr/fenv_macros.h
M libc/include/llvm-libc-macros/fenv-macros.h
Log Message:
-----------
[libc] Add __FE_DENORM to the fenv macros (#91353)
Summary:
Some targets support denormals as floating point exceptions. This is
provided as an extension in the GNU headers as __FE_DENORM.
This provides it in our headers, however I'm unsure if we should make it
internal or external. I do not think it should be in all exception as it
doesn't represent an exceptional behavior as far as the standard is
concerned, but I'm not an expert.
Commit: cf58c58e0967dbf812ef84944efd923ea366583a
https://github.com/llvm/llvm-project/commit/cf58c58e0967dbf812ef84944efd923ea366583a
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Move HostMacOSXPrivateHeaders to macOS only dep (#91354)
Commit: 1a2a1fbd7c03381fe5e4f459f7081bef13366ef4
https://github.com/llvm/llvm-project/commit/1a2a1fbd7c03381fe5e4f459f7081bef13366ef4
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
A llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f32.load_f16 instruction. (#90906)
Adds a builtin and intrinsic for the f32.load_f16 instruction.
The instruction loads an f16 value from memory and puts it in an f32.
Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f32.load_f16 as opcode 0xFD0120, but this is
incorrect and will be changed to 0xFC30 soon.
Commit: 7115ed0fff027b65fa76fdfae215ed1382ed1473
https://github.com/llvm/llvm-project/commit/7115ed0fff027b65fa76fdfae215ed1382ed1473
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)
Our current method of storing the template arguments as written for
`(Class/Var)Template(Partial)SpecializationDecl` suffers from a number
of flaws:
- We use `TypeSourceInfo` to store `TemplateArgumentLocs` for class
template/variable template partial/explicit specializations. For
variable template specializations, this is a rather unintuitive hack (as
we store a non-type specialization as a type). Moreover, we don't ever
*need* the type as written -- in almost all cases, we only want the
template arguments (e.g. in tooling use-cases).
- The template arguments as written are stored in a number of redundant
data members. For example, `(Class/Var)TemplatePartialSpecialization`
have their own `ArgsAsWritten` member that stores an
`ASTTemplateArgumentListInfo` (the template arguments).
`VarTemplateSpecializationDecl` has yet _another_ redundant member
"`TemplateArgsInfo`" that also stores an `ASTTemplateArgumentListInfo`.
This patch eliminates all
`(Class/Var)Template(Partial)SpecializationDecl` members which store the
template arguments as written, and turns the `ExplicitInfo` member into
a `llvm::PointerUnion<const ASTTemplateArgumentListInfo*,
ExplicitInstantiationInfo*>` (to avoid unnecessary allocations when the
declaration isn't an explicit instantiation). The template arguments as
written are now accessed via `getTemplateArgsWritten` in all cases.
The "most breaking" change is to AST Matchers, insofar that `hasTypeLoc`
will no longer match class template specializations (since they no
longer store the type as written).
Commit: b1bc1dbea6d0423813bb73d625c6eedc040007ed
https://github.com/llvm/llvm-project/commit/b1bc1dbea6d0423813bb73d625c6eedc040007ed
Author: Edwin Vane <revane at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
Log Message:
-----------
[clang-tidy] Refactor how NamedDecl are renamed (#88735)
The handling of renaming failures and multiple usages related to those
failures is currently spread over several functions. Identifying the
failure NamedDecl for a given usage is also duplicated, once when
creating failures and again when identify usages. There are currently
two ways to a failed NamedDecl from a usage: use the canonical decl or
use the overridden method. With new methods about to be added, a cleanup
was in order.
The data flow is simplified as follows:
* The visitor always forwards NamedDecls to addUsage(NamedDecl).
* addUsage(NamedDecl) determines the failed NamedDecl and determines
potential new names based on that failure. Usages are registered using
addUsage(NamingCheckId).
* addUsage(NamingCheckId) is now protected and its single responsibility
is maintaining the integrity of the failure/usage map.
Commit: 62bed56efdde1bed5dcebec5ceb375ffce223691
https://github.com/llvm/llvm-project/commit/62bed56efdde1bed5dcebec5ceb375ffce223691
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Remove assertion in ExpandShapeOp::build (#91361)
Unblocking downstream integrate where an expected-to-fail test was
expecting this to be a runtime verifier error, not a compiler crash:
https://github.com/llvm/torch-mlir/pull/3279.
Commit: 6cba93f25dc2014b5d8c71c739f17be1d8c3763a
https://github.com/llvm/llvm-project/commit/6cba93f25dc2014b5d8c71c739f17be1d8c3763a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/tools/llvm-objdump/ELF/RISCV/unknown-arch-attr.test
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add partial validation of S and X extension names to RISCVISAInfo::parseNormalizedArchString.
Extensions starting with 's' or 'x' should always be followed by an
alphabetical character. I don't know of any crashes from this currently,
but it seemed better to be defensive.
Commit: 1e36c96dc0998e886644d6fc76aa475d88d9645c
https://github.com/llvm/llvm-project/commit/1e36c96dc0998e886644d6fc76aa475d88d9645c
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/lshr.ll
Log Message:
-----------
[InstCombine] Fold ((X << nuw Z) binop nuw Y) >>u Z --> X binop nuw (Y >>u Z) (#88193)
Proofs:
https://alive2.llvm.org/ce/z/N9dRzP
https://alive2.llvm.org/ce/z/Xrpc-Y
https://alive2.llvm.org/ce/z/BagBM6
Commit: 2a4f1f4a8ff60d55da69b4654360cf947b5b20f7
https://github.com/llvm/llvm-project/commit/2a4f1f4a8ff60d55da69b4654360cf947b5b20f7
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
Document FP relative offsets (#91031)
Commit: c9ab1d890586bd8a6a194e6a37968538b80f81bd
https://github.com/llvm/llvm-project/commit/c9ab1d890586bd8a6a194e6a37968538b80f81bd
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/test/AST/Interp/cxx23.cpp
M clang/test/CodeGen/ffp-contract-option.c
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-matrix-pragma.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
A clang/test/Driver/std-trigraph-override.c
M clang/test/Driver/std.c
A clang/test/FixIt/fixit-c++2a-tls.cpp
M clang/test/FixIt/fixit-c++2a.cpp
M clang/test/Interpreter/const.cpp
M clang/test/Lexer/unicode.c
M clang/test/Modules/cstd.m
M clang/test/Modules/merge-objc-protocol-visibility.m
M clang/test/PCH/chain-openmp-threadprivate.cpp
M clang/test/Sema/thread_local.c
M llvm/test/MC/AsmParser/layout-interdependency.s
M llvm/test/Object/archive-big-extract.test
M llvm/test/Object/archive-extract.test
Log Message:
-----------
Mark test cases as unsupported on z/OS (#90990)
These test cases are testing features not available when either
targeting the s390x-ibm-zos target or use tools/features not available
on the z/OS operating system. In a couple cases the lit test had a
number of subtests with one or two that aren't supported on z/OS. Rather
than mark the entire test as unsupported I split out the unsupported
tests into a separate test case.
Commit: 057de4d26425c8b9840912e40ce025626f45d8d6
https://github.com/llvm/llvm-project/commit/057de4d26425c8b9840912e40ce025626f45d8d6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Request crash report when prompting for a bug report on Darwin (#91371)
On Darwin platforms, the system will generate a crash report in
~/Library/Logs/DiagnosticReports/ when a process crashes.
These reports are much more useful than the "pretty backtraces" printed
by LLVM and are preferred when filing bug reports on Darwin.
Commit: 65e2fab401a2da55c51d3caceae8478c33f3c60f
https://github.com/llvm/llvm-project/commit/65e2fab401a2da55c51d3caceae8478c33f3c60f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Sema] Fix warnings
This patch fixes:
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3937:12: error:
unused variable 'CanonType' [-Werror,-Wunused-variable]
clang/lib/Sema/SemaTemplate.cpp:9279:18: error: unused variable
'TemplateKWLoc' [-Werror,-Wunused-variable]
Commit: c76ccf0f1e05d649449c8ff6908b0b6329eb2612
https://github.com/llvm/llvm-project/commit/c76ccf0f1e05d649449c8ff6908b0b6329eb2612
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[LV] Add test case for #91369.
Add tests for https://github.com/llvm/llvm-project/issues/91369.
Commit: 82bb2534d4de16abb7a51fc646d5c31d6cec5eeb
https://github.com/llvm/llvm-project/commit/82bb2534d4de16abb7a51fc646d5c31d6cec5eeb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll
Log Message:
-----------
AMDGPU: Don't bitcast float typed atomic store in IR (#90116)
Implement the promotion in the DAG.
Depends #90113
Commit: 31dd0ef73c99b1bc9825ddfc58ddff0b134608fb
https://github.com/llvm/llvm-project/commit/31dd0ef73c99b1bc9825ddfc58ddff0b134608fb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A llvm/test/Transforms/CorrelatedValuePropagation/sitofp.ll
A llvm/test/Transforms/CorrelatedValuePropagation/uitofp.ll
Log Message:
-----------
[CVP] Add tests for adding `nneg` flag to `uitofp` and converting `sitofp` -> `uitofp nneg`; NFC
Commit: 925a11128c903c8554921c2b5700caf191ae61d6
https://github.com/llvm/llvm-project/commit/925a11128c903c8554921c2b5700caf191ae61d6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/sitofp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/uitofp.ll
Log Message:
-----------
[CVP] Convert `sitofp` -> `uitofp nneg` and add `nneg` flag to `uitofp`
Similiar to the `InstCombine` changes, just furthering the scope of
the canonicalization/`uitofp nneg` support
Commit: 6243395d7f1da6a2ea813f5d86ba71f91e1070bf
https://github.com/llvm/llvm-project/commit/6243395d7f1da6a2ea813f5d86ba71f91e1070bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
M llvm/test/Transforms/SCCP/sitofp.ll
Log Message:
-----------
[SCCP] Add `nneg` flag to `uitofp` if its operand is non-negative
Similiar to the `InstCombine` changes, just furthering the support of
the `uitofp nneg` support.
Closes #86154
Commit: 117bda523ea15510d2289020decabef57d89acc0
https://github.com/llvm/llvm-project/commit/117bda523ea15510d2289020decabef57d89acc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add unittests for MinVLen/MaxELen/MaxElenFp for ParseArchString. NFC
We had tests for ParseNormalizedArchString, but not ParseArchString.
The ParseNormalizedArchString test was not checking MaxElenFp.
Commit: dca3a6e562e012940c2b62a4d8dae3afec09caa4
https://github.com/llvm/llvm-project/commit/dca3a6e562e012940c2b62a4d8dae3afec09caa4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[WebAssembly] Make EH depend on multivalue and reference-types (#91299)
This PR turns on multivalue and reference-types features when
exception-handling feature is turned on, and errors out when disabling
of those dependent features is explicitly requested.
I think doing this would be safe anyway regardless of whether or when we
end up turning on reference-types by default.
We currently don't yet have a experimental flag for the Clang and LLVM
for the new experimental EH yet. But I think it should be fine to turn
those features on even if the LLVM does not yet generate the new EH
instructions, for the same reason we tried to turn them on by default
and the browsers that support EH also support multivalue and
reference-types anyway.
Commit: 2e4abfae57f81e2bb23fc654d6edbaeae51ae10a
https://github.com/llvm/llvm-project/commit/2e4abfae57f81e2bb23fc654d6edbaeae51ae10a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
Revert "[Sema] Fix warnings"
This reverts commit 65e2fab401a2da55c51d3caceae8478c33f3c60f because I'm also reverting 7115ed0fff027b65fa76fdfae215ed1382ed1473.
Commit: c6855ab24e63feb432aac4f86eb70ac16d76c921
https://github.com/llvm/llvm-project/commit/c6855ab24e63feb432aac4f86eb70ac16d76c921
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Revert "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)"
This reverts commit 7115ed0fff027b65fa76fdfae215ed1382ed1473.
This commit broke several LLDB tests.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/3480/
Commit: dad11097096c05564758e539f9f03ef883365fdd
https://github.com/llvm/llvm-project/commit/dad11097096c05564758e539f9f03ef883365fdd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Reinstate lldb-sbapi-dwarf-enums target (NFC) (#91390)
Alex pointed out in #91254 that we only need the custom target if we had
more than one target depending on it. This isn't the case upstream, but
on our downstream fork, we have a second dependency. Reintroduce the
target so that everything can depend on that, without the
single-dependency foot-gun.
Commit: 5e9dd8827b3ccd03f8499b610deb6accd2d71d21
https://github.com/llvm/llvm-project/commit/5e9dd8827b3ccd03f8499b610deb6accd2d71d21
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
M llvm/test/tools/dxil-dis/attribute-filter.ll
Log Message:
-----------
[DirectX] remove string function attribute DXIL not allowed (#90778)
Remove string function attribute other than
"waveops-include-helper-lanes" and "fp32-denorm-mode".
Move DXILPrepareModulePass after DXILTranslateMetadataPass since
DXILTranslateMetadataPass needs to use attribute like hlsl.numthreads.
Fixes #90773
Commit: 9a28814f59e8f52cc63ae3d17023cee8348d9b53
https://github.com/llvm/llvm-project/commit/9a28814f59e8f52cc63ae3d17023cee8348d9b53
Author: Maryam Moghadas <m.moghadas at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.h
M llvm/test/CodeGen/PowerPC/aix-csr-vector-extabi.ll
M llvm/test/CodeGen/PowerPC/aix-csr-vector.ll
M llvm/test/CodeGen/PowerPC/aix-csr.ll
A llvm/test/CodeGen/PowerPC/aix-spills-for-eh.ll
M llvm/test/CodeGen/PowerPC/aix32-crsave.mir
M llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
M llvm/test/CodeGen/PowerPC/ppc64-crsave.mir
Log Message:
-----------
[PowerPC] Spill non-volatile registers required for traceback table (#71115)
On AIX we need to spill all [rfv]N-[rfv]31 when a function clobbers
[rfv]N so that the traceback table contains accurate information.
Commit: 082c81ae4ab9db6bb0acd52098288223dd58501a
https://github.com/llvm/llvm-project/commit/082c81ae4ab9db6bb0acd52098288223dd58501a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[LV] Properly extend versioned constant strides.
We only version unknown strides to 1. If the original type is i1, then
the sign of the extension matters. Properly extend the stride value
before replacing it.
Fixes https://github.com/llvm/llvm-project/issues/91369.
Commit: 0b50d095bccbd47c77e5ad2b03b09b41b696c4a0
https://github.com/llvm/llvm-project/commit/0b50d095bccbd47c77e5ad2b03b09b41b696c4a0
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-agpr-phis.mir
Log Message:
-----------
[AMDGPU] Don't optimize agpr phis if the operand doesn't have subreg use (#91267)
If the operand doesn't have any subreg use, the optimization could
potentially
generate `V_ACCVGPR_READ_B32_e64` with wrong register class. The
following example demonstrates the issue.
Input MIR:
```
bb.0:
%0:sgpr_32 = S_MOV_B32 0
%1:sgpr_128 = REG_SEQUENCE %0:sgpr_32, %subreg.sub0, %0:sgpr_32, %subreg.sub1, %0:sgpr_32, %subreg.sub2, %0:sgpr_32, %subreg.sub3
%2:vreg_128 = COPY %1:sgpr_128
%3:areg_128 = COPY %2:vreg_128, implicit $exec
bb.1:
%4:areg_128 = PHI %3:areg_128, %bb.0, %6:areg_128, %bb.1
%5:areg_128 = PHI %3:areg_128, %bb.0, %7:areg_128, %bb.1
...
```
Output of current implementation:
```
bb.0:
%0:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%1:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%2:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%3:agpr_32 = V_ACCVGPR_WRITE_B32_e64 0, implicit $exec
%4:areg_128 = REG_SEQUENCE %0:agpr_32, %subreg.sub0, %1:agpr_32, %subreg.sub1, %2:agpr_32, %subreg.sub2, %3:agpr_32, %subreg.sub3
%5:vreg_128 = V_ACCVGPR_READ_B32_e64 %4:areg_128, implicit $exec
%6:areg_128 = COPY %46:vreg_128
bb.1:
%7:areg_128 = PHI %6:areg_128, %bb.0, %9:areg_128, %bb.1
%8:areg_128 = PHI %6:areg_128, %bb.0, %10:areg_128, %bb.1
...
```
The problem is the generated `V_ACCVGPR_READ_B32_e64` instruction.
Apparently the operand `%4:areg_128` is not valid for this.
In this patch, we don't count the none-subreg use because
`V_ACCVGPR_READ_B32_e64` can't handle none-32-bit operand.
Fixes: SWDEV-459556
Commit: 272ea28bdec93b33527dc54edbdef8f43c51df47
https://github.com/llvm/llvm-project/commit/272ea28bdec93b33527dc54edbdef8f43c51df47
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Remove else-after-break (NFC)
Commit: 8c4d7989c2b4a7e251afc3b13002611646de90b6
https://github.com/llvm/llvm-project/commit/8c4d7989c2b4a7e251afc3b13002611646de90b6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Add a missing check for nullptr
This can't happen with Clang, but I've seen a crash report from the
Swift plugin where this happened.
rdar://126564844
Commit: a70ad96b3cc5275246f7f007d1892bb867b75bc0
https://github.com/llvm/llvm-project/commit/a70ad96b3cc5275246f7f007d1892bb867b75bc0
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Fix condition in VOP3_Real_Base. NFCI. (#91373)
Commit: 2ad6917c4c524576405f2146424911fd9adb3528
https://github.com/llvm/llvm-project/commit/2ad6917c4c524576405f2146424911fd9adb3528
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/module-symlink.m
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[modules] Accept equivalent module caches from different symlink (#90925)
Use `VFS.equivalent()`, which follows symlinks, to check if two module
cache paths are equivalent. This prevents a PCH error when building from
a different path that is a symlink of the original.
```
error: PCH was compiled with module cache path '/home/foo/blah/ModuleCache/2IBP1TNT8OR8D', but the path is currently '/data/users/foo/blah/ModuleCache/2IBP1TNT8OR8D'
1 error generated.
```
Commit: bc8a42762057d7036f6871211e62b1c3efb2738a
https://github.com/llvm/llvm-project/commit/bc8a42762057d7036f6871211e62b1c3efb2738a
Author: Marian Buschsieweke <maribu at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/MSP430Target.def
A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
Log Message:
-----------
[MSP430][Clang] Update list of MCUs (#91258)
This updates the list of MSP430 MCUs from TI's devices.csv obtained from [1] under the "Header and Support Files" link. A simple python script has been used to generate this list and is included as well.
[1]: https://www.ti.com/tool/MSP430-GCC-OPENSOURCE#downloads
Commit: 2a3903fa0e88d7149df11aa37d4ba87c5e5f0913
https://github.com/llvm/llvm-project/commit/2a3903fa0e88d7149df11aa37d4ba87c5e5f0913
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
Log Message:
-----------
[AMDGPU] Prevent FMINIMUM and FMAXIMUM beeing fully scalarized (#91378)
This is the same logic as with FMINNUM_IEEE/FMAXNUM_IEEE.
Commit: a5044e6d505deb79f1b00bb39d11096d29b9c910
https://github.com/llvm/llvm-project/commit/a5044e6d505deb79f1b00bb39d11096d29b9c910
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
Log Message:
-----------
[libc] fix typo due to futex renaming (#91379)
Commit: ccf765cfd578c4ea4f710386e19cb8d1ef1859ce
https://github.com/llvm/llvm-project/commit/ccf765cfd578c4ea4f710386e19cb8d1ef1859ce
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[compiler-rt][ctx_profile] Add the instrumented contextual profiling APIs (#89838)
APIs for contextual profiling. `ContextNode` is the call context-specific counter buffer. `ContextRoot` is associated to those functions that constitute roots into interesting call graphs, and is the object on which we hang off `Arena`s for allocating `ContextNode`s, as well as the `ContextNode` corresponding to such functions. Graphs of `ContextNode`s are accessible by one thread at a time.
(Tracking Issue: #89287, more details in the RFC referenced there)
Commit: 8fc68879badc2dc83e8b9a575992af285d4a1057
https://github.com/llvm/llvm-project/commit/8fc68879badc2dc83e8b9a575992af285d4a1057
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
Log Message:
-----------
Fix a typo in webkit.NoUncountedMemberChecker. (#91402)
Co-authored-by: Brianna Fan <bfan2 at apple.com>
Commit: ff0c5ccbe8879ccad9cb3548b69b114872c33ebb
https://github.com/llvm/llvm-project/commit/ff0c5ccbe8879ccad9cb3548b69b114872c33ebb
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
A bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[BOLT] Add a test for BOLT-reserved space in a binary (#91399)
Test case for #90300.
Commit: 54401b43494a57baae9d3663cd7c694b040ef01c
https://github.com/llvm/llvm-project/commit/54401b43494a57baae9d3663cd7c694b040ef01c
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[mlir][memref.expand_shape] Add verifier check to ensure correct output_shape is provided by user (#91245)
The verifier was not checking for the case when the user provided shape
in output_shape is different than the one inferred from output type. Fix
this.
Commit: c0d9efd35d6a44258466349a7ba3a10c693b8c9c
https://github.com/llvm/llvm-project/commit/c0d9efd35d6a44258466349a7ba3a10c693b8c9c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[llvm][NVPTX] Remove outdated comments (NFC) (#91409)
Commit: 3f37397c959a85f4cad91b655ea03a5d2450ab38
https://github.com/llvm/llvm-project/commit/3f37397c959a85f4cad91b655ea03a5d2450ab38
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
A clang/test/CodeGen/x64-microsoft-arguments.cpp
Log Message:
-----------
[clang][CodeGen] Fix MSVC ABI for classes with a deleted copy assignment operator (#90547)
For global functions and static methods the MSVC ABI returns
structs/classes with a deleted copy assignment operator indirectly.
>From local testing this ABI holds true for all currently supported
architectures including ARM64EC.
Commit: 04d0a691af9e116f651d233c5689863f614d3adf
https://github.com/llvm/llvm-project/commit/04d0a691af9e116f651d233c5689863f614d3adf
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] Fix --compress-debug-sections=zstd when zlib is disabled
Commit: 77c5cea78eac3f20d0ba79f5892235e5aac82603
https://github.com/llvm/llvm-project/commit/77c5cea78eac3f20d0ba79f5892235e5aac82603
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/except/except.spec/p13.cpp
A clang/test/CXX/temp/temp.deduct/p7.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
Log Message:
-----------
[Clang][Sema] Explicit template arguments are not substituted into the exception specification of a function (#90760)
[temp.deduct.general] p6 states:
> At certain points in the template argument deduction process it is
necessary to take a function type that makes use of template parameters
and replace those template parameters with the corresponding template
arguments.
This is done at the beginning of template argument deduction when any
explicitly specified template arguments are substituted into the
function type, and again at the end of template argument deduction when
any template arguments that were deduced or obtained from default
arguments are substituted.
[temp.deduct.general] p7 goes on to say:
> The _deduction substitution loci_ are
> - the function type outside of the _noexcept-specifier_,
> - the explicit-specifier,
> - the template parameter declarations, and
> - the template argument list of a partial specialization
>
> The substitution occurs in all types and expressions that are used in
the deduction substitution loci. [...]
Consider the following:
```cpp
struct A
{
static constexpr bool x = true;
};
template<typename T, typename U>
void f(T, U) noexcept(T::x); // #1
template<typename T, typename U>
void f(T, U*) noexcept(T::y); // #2
template<>
void f<A>(A, int*) noexcept; // clang currently accepts, GCC and EDG reject
```
Currently, `Sema::SubstituteExplicitTemplateArguments` will substitute
into the _noexcept-specifier_ when deducing template arguments from a
function declaration or when deducing template arguments for taking the
address of a function template (and the substitution is treated as a
SFINAE context). In the above example, `#1` is selected as the primary
template because substitution of the explicit template arguments into
the _noexcept-specifier_ of `#2` failed, which resulted in the candidate
being ignored.
This behavior is incorrect ([temp.deduct.general] note 4 says as much), and
this patch corrects it by deferring all substitution into the
_noexcept-specifier_ until it is instantiated.
As part of the necessary changes to make this patch work, the
instantiation of the exception specification of a function template
specialization when taking the address of a function template is changed
to only occur for the function selected by overload resolution per
[except.spec] p13.1 (as opposed to being instantiated for every candidate).
Commit: d4cf20ca37160cb062a9db773d0e6255d6bbc31a
https://github.com/llvm/llvm-project/commit/d4cf20ca37160cb062a9db773d0e6255d6bbc31a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
Log Message:
-----------
[Clang][Sema] Don't set instantiated from function when rewriting operator<=> (#91339)
The following snippet causes a crash:
```
template<typename T>
struct A
{
bool operator<=>(const A&) const requires true = default;
};
bool f(A<int> a)
{
return a != A<int>();
}
```
This occurs because during the rewrite from `operator<=>` to
`operator==`, the "pattern" `operator<=>` function is set as the
instantiated from function for the newly created `operator==` function.
This is obviously incorrect, and this patch fixes it.
Commit: 83f3b1cb480b41e3347035aff14fd4bc2ba21d24
https://github.com/llvm/llvm-project/commit/83f3b1cb480b41e3347035aff14fd4bc2ba21d24
Author: Yinying Li <yinyingli at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
Log Message:
-----------
[mlir][sparse] Add verification for explicit/implicit value (#90111)
1. Verify that the type of explicit/implicit values should be the same
as the tensor element type.
2. Verify that implicit value could only be zero.
3. Verify that explicit/implicit values should be numeric.
4. Fix the type change issue caused by SparseTensorType(enc).
Commit: 34ae2265e88c8a04350de5a244d0d888e74a8388
https://github.com/llvm/llvm-project/commit/34ae2265e88c8a04350de5a244d0d888e74a8388
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.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
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
Log Message:
-----------
[Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (#88963)
Consider the following snippet from the discussion of CWG2847 on the core reflector:
```
template<typename T>
concept C = sizeof(T) <= sizeof(long);
template<typename T>
struct A
{
template<typename U>
void f(U) requires C<U>; // #1, declares a function template
void g() requires C<T>; // #2, declares a function
template<>
void f(char); // #3, an explicit specialization of a function template that declares a function
};
template<>
template<typename U>
void A<short>::f(U) requires C<U>; // #4, an explicit specialization of a function template that declares a function template
template<>
template<>
void A<int>::f(int); // #5, an explicit specialization of a function template that declares a function
template<>
void A<long>::g(); // #6, an explicit specialization of a function that declares a function
```
A number of problems exist:
- Clang rejects `#4` because the trailing _requires-clause_ has `U`
substituted with the wrong template parameter depth when
`Sema::AreConstraintExpressionsEqual` is called to determine whether it
matches the trailing _requires-clause_ of the implicitly instantiated
function template.
- Clang rejects `#5` because the function template specialization
instantiated from `A<int>::f` has a trailing _requires-clause_, but `#5`
does not (nor can it have one as it isn't a templated function).
- Clang rejects `#6` for the same reasons it rejects `#5`.
This patch resolves these issues by making the following changes:
- To fix `#4`, `Sema::AreConstraintExpressionsEqual` is passed
`FunctionTemplateDecl`s when comparing the trailing _requires-clauses_
of `#4` and the function template instantiated from `#1`.
- To fix `#5` and `#6`, the trailing _requires-clauses_ are not compared
for explicit specializations that declare functions.
In addition to these changes, `CheckMemberSpecialization` now considers
constraint satisfaction/constraint partial ordering when determining
which member function is specialized by an explicit specialization of a
member function for an implicit instantiation of a class template (we
previously would select the first function that has the same type as the
explicit specialization). With constraints taken under consideration, we
match EDG's behavior for these declarations.
Commit: 584253c4e2f788f870488fc32193b52d67ddaccc
https://github.com/llvm/llvm-project/commit/584253c4e2f788f870488fc32193b52d67ddaccc
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/echo.ll
M llvm/tools/llvm-c-test/echo.cpp
Log Message:
-----------
[C API] Add getters and build function for CallBr (#91154)
This adds LLVMBuildCallBr to create CallBr instructions, and getters for
the CallBr-specific data. The remainder of its data, e.g.
arguments/function, can be accessed using existing getters.
Commit: c4e5a8a4d3ef0948384d9411ea1e44fc113e5b5c
https://github.com/llvm/llvm-project/commit/c4e5a8a4d3ef0948384d9411ea1e44fc113e5b5c
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
Log Message:
-----------
[mlir][sparse] support 'batch' dimensions in sparse_tensor.print (#91411)
Commit: 2dade0041a62b192e9bde24ae6bbe6208f027523
https://github.com/llvm/llvm-project/commit/2dade0041a62b192e9bde24ae6bbe6208f027523
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/tailcall-range.ll
Log Message:
-----------
[Analysis] Attribute Range should not prevent tail call optimization (#91122)
- Remove Range attr when comparing for tailcall
- Add test for testcall with range
Commit: 7098cd215b95286794d9e0c822e8323ad0509750
https://github.com/llvm/llvm-project/commit/7098cd215b95286794d9e0c822e8323ad0509750
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[NFC] Add myself as code owner for llvm/IR/Core.cpp
In practice I end up reviewing most changes to the C API.
Commit: d085b42cbbefe79a41113abcd2b1e1f2a203acef
https://github.com/llvm/llvm-project/commit/d085b42cbbefe79a41113abcd2b1e1f2a203acef
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/PGOProfile/chr.ll
Log Message:
-----------
[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (#91215)
See the LangRef:
> All uses of a value returned by the same ‘freeze’ instruction are
guaranteed to always observe the same value, while different ‘freeze’
instructions may yield different values.
It is incorrect to replace freezes with the simplified value.
Proof:
https://alive2.llvm.org/ce/z/3Dn9Cd
https://alive2.llvm.org/ce/z/Qyh5h6
Fixes https://github.com/llvm/llvm-project/issues/91178
Commit: bb01b89cda71fe1594a87f81b3f3c01f66fcac59
https://github.com/llvm/llvm-project/commit/bb01b89cda71fe1594a87f81b3f3c01f66fcac59
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Ignore system headers in WebKit checkers. (#91103)
Commit: 0af448b71116ae93eae1cb9c3121cb94be076fc3
https://github.com/llvm/llvm-project/commit/0af448b71116ae93eae1cb9c3121cb94be076fc3
Author: Menooker <yijie.mei at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
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/BufferResultsToOutParams.cpp
A mlir/test/Transforms/buffer-results-to-out-params-elim.mlir
Log Message:
-----------
[MLIR][Bufferization] BufferResultsToOutParams: Add an option to eliminate AllocOp and avoid Copy (#90011)
Add an option hoist-static-allocs to remove the unnecessary memref.alloc
and memref.copy after this pass, when the memref in ReturnOp is
allocated by memref.alloc and is statically shaped. Instead, it replaces
the uses of the allocated memref with the memref in the out argument.
By default, BufferResultsToOutParams will result in a memcpy operation
to copy the originally returned memref to the output argument memref.
This is inefficient when the source of memcpy (the returned memref in
the original ReturnOp) is from a local AllocOp. The pass can use the
output argument memref to replace the locally allocated memref for
better performance.hoist-static-allocs avoids dynamic allocation and
memory movement.
This option will be critical for performance-sensivtive applications,
which require BufferResultsToOutParams pass for a caller-owned output
buffer calling convension.
Commit: 1c8c2fdd289075d6ef448f60db9dd30caf7f78df
https://github.com/llvm/llvm-project/commit/1c8c2fdd289075d6ef448f60db9dd30caf7f78df
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
Log Message:
-----------
[mlir] Fix -Wdeprecated-declarations in BufferResultsToOutParams.cpp (NFC)
/llvm-project/mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp:124:26:
error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
124 | orig.getType().cast<MemRefType>().hasStaticShape()) {
|
Commit: 31b45a9d0d91cc3a78446ee379abc6f2a3000065
https://github.com/llvm/llvm-project/commit/31b45a9d0d91cc3a78446ee379abc6f2a3000065
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
A clang/test/CodeGenHLSL/builtins/tan.hlsl
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
[clang][hlsl] Add tan intrinsic part 1 (#90276)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `clang/docs/LanguageExtensions.rst` - Document the new elementwise tan
builtin.
- `clang/include/clang/Basic/Builtins.td` - Implement the tan builtin.
- `clang/lib/CodeGen/CGBuiltin.cpp` - invoke the tan intrinsic on uses
of the builtin
- `clang/lib/Headers/hlsl/hlsl_intrinsics.h` - Associate the tan builtin
with the equivalent hlsl apis
- `clang/lib/Sema/SemaChecking.cpp` - Add generic sema checks as well as
HLSL specifc sema checks to the tan builtin
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/docs/LangRef.rst` - Document the tan intrinsic
Commit: b438a817bd863699715116ee7d85b454f3289c08
https://github.com/llvm/llvm-project/commit/b438a817bd863699715116ee7d85b454f3289c08
Author: Jhonatan Cléto <52751492+cl3to at users.noreply.github.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/omptarget.cpp
Log Message:
-----------
[Offload] Fix dataDelete op for TARGET_ALLOC_HOST memory type (#91134)
Summary:
The `GenericDeviceTy::dataDelete` method doesn't verify the
`TargetAllocTy` of the of the device pointer. Because of this, it can
use the `MemoryManager` to free the ptr. However, the
`TARGET_ALLOC_HOST` and `TARGET_ALLOC_SHARED` types are not allocated
using the `MemoryManager` in the `GenericDeviceTy::dataAlloc` method.
Since the `MemoryManager` uses the `DeviceAllocatorTy::free` operation
without specifying the type of the ptr, some plugins may use incorrect
operations to free ptrs of certain types. In particular, this bug causes
the CUDA plugin to use the `cuMemFree` operation on ptrs of type
`TARGET_ALLOC_HOST`, resulting in an unchecked error, as shown in the
output snippet of the test
`offload/test/api/omp_host_pinned_memory_alloc.c`:
```
omptarget --> Notifying about an unmapping: HstPtr=0x00007c6114200000
omptarget --> Call to llvm_omp_target_free_host for device 0 and address 0x00007c6114200000
omptarget --> Call to omp_get_num_devices returning 1
omptarget --> Call to omp_get_initial_device returning 1
PluginInterface --> MemoryManagerTy::free: target memory 0x00007c6114200000.
PluginInterface --> Cannot find its node. Delete it on device directly.
TARGET CUDA RTL --> Failure to free memory: Error in cuMemFree[Host]: invalid argument
omptarget --> omp_target_free deallocated device ptr
```
This patch fixes this by adding the check of the device pointer type
before calling the appropriate operation for each type.
Commit: f4d2f7a3b7984795d61ff45daf37c76bf3fc8604
https://github.com/llvm/llvm-project/commit/f4d2f7a3b7984795d61ff45daf37c76bf3fc8604
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
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/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
A llvm/test/CodeGen/RISCV/xcvbi.ll
Log Message:
-----------
[RISCV] Codegen support for XCVbi extension (#89719)
spec:
https://github.com/openhwgroup/cv32e40p/blob/master/docs/source/instruction_set_extensions.rst#immediate-branching-operations
Contributors: @CharKeaney, @jeremybennett, @lewis-revill,
@NandniJamnadas,
@PaoloS02, @simonpcook, @xingmingjie, @realqhc, @PhilippvK, at melonedo
Commit: 48b6f4a18255816df51fcab7648c5a7f205dfe14
https://github.com/llvm/llvm-project/commit/48b6f4a18255816df51fcab7648c5a7f205dfe14
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/spill-fpr-scalar.ll
Log Message:
-----------
[RISCV] Rewrite spill-fpr-scalar.ll test to not use vsetvli. NFC (#91428)
It was relying on the fact that vsetvlis have side effects to prevent
reordering, but #91319 proposes to remove the side effects. This reworks
it to use volatile loads and stores instead.
Commit: 812c3025ec033ad1f306aff7f8b6e6695a79ee35
https://github.com/llvm/llvm-project/commit/812c3025ec033ad1f306aff7f8b6e6695a79ee35
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ptr-add.mir
Log Message:
-----------
[GlobalIsel][AArch64] legalize ptr add (#89218)
LLVM ERROR: unable to legalize instruction: %275:_(<4 x p0>) = G_PTR_ADD
%268:_, %274:_(<4 x s64>) (in function: prepare_for_pass)
Commit: 2c209957819328481554e7c5929d134502b4972a
https://github.com/llvm/llvm-project/commit/2c209957819328481554e7c5929d134502b4972a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Detect duplicate extensions in parseNormalizedArchString. (#91416)
This detects the same extension name being added twice. Mostly I'm
worried about the case that the same string appears with two different
versions. We will only preserve one of the versions.
We could allow the same version to be repeated, but that doesn't seem
useful at the moment.
I've updated addExtension to use map::emplace instead of
map::operator[]. This means we only keep the first version if there are
duplicates. Previously we kept the last version, but that shouldn't matter
now that we don't allow duplicates. parseArchString already doesn't allow
duplicates.
Commit: 85ef6b7c364f3b57c13c179bf278fe47366287a2
https://github.com/llvm/llvm-project/commit/85ef6b7c364f3b57c13c179bf278fe47366287a2
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/tan.ll
A llvm/test/CodeGen/DirectX/tan_error.ll
Log Message:
-----------
[DXIL] Add tan intrinsic part 2 (#90277)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/lib/Target/DirectX/DXIL.td` - Map `int_tan` (the tan intrinsic)
to the equivalent DXIL Op.
Commit: ef84452571b8e8f4a38a173e6adf6a5ecbbde97e
https://github.com/llvm/llvm-project/commit/ef84452571b8e8f4a38a173e6adf6a5ecbbde97e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/pr90936.ll
Log Message:
-----------
[DAGCombiner] Be more careful about looking through extends and truncates in mergeTruncStores. (#91375)
Previously we recursively looked through extends and truncates on both
SourceValue and WideVal.
SourceValue is the largest source found for each of the stores we are
combining. WideVal is the source for the current store.
Previously we could incorrectly look through a (zext (trunc X)) pair and
incorrectly believe X to be a good source.
I think we could also look through a zext on one store and a sext on
another store and arbitrarily pick one of the extends as the final
source.
With this patch we only look through one level of extend or truncate.
And we don't look through extends/truncs on both SourceValue and WideVal
at the same time.
This may lose some optimization cases, but keeps everything we had tests
for.
Fixes #90936.
Commit: 0d93b01c3b1e2e543acec3f36db639b8b7b0b20d
https://github.com/llvm/llvm-project/commit/0d93b01c3b1e2e543acec3f36db639b8b7b0b20d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M llvm/lib/Support/RISCVISAUtils.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Don't crash if parseNormalizedArchString encounters a multi-letter extension with an unknown prefix. (#91398)
The sorting code previously asserted if a prefix was multiple letters,
but didn't start with s, x, or z.
Replace the assert with an explicit check and sort the multi-letter
extension after the known multi-letter prefixes.
Commit: 8296f061aafb844bf3b9b002b7791ade7a1d3006
https://github.com/llvm/llvm-project/commit/8296f061aafb844bf3b9b002b7791ade7a1d3006
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Add invariants that registers always have definitions. NFC (#90587)
For vector merge operands, we check if it's a NoRegister beforehand so
any other register type should have a definition.
For VL operands, they don't get replaced with NoRegisters since they're
scalar and should also always have a definition, even if it's an
implicit_def.
All the definitions at this stage should also be unique, this will
change in #70549
Commit: 3e82442ff7288b4c41bb77888bc2cfea2c34d6ee
https://github.com/llvm/llvm-project/commit/3e82442ff7288b4c41bb77888bc2cfea2c34d6ee
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
Log Message:
-----------
[SPIRV] Add tan intrinsic part 3 (#90278)
This change is an implementation of #87367's investigation on supporting
IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
If you want an overarching view of how this will all connect see:
https://github.com/llvm/llvm-project/pull/90088
Changes:
- `llvm/docs/GlobalISel/GenericOpcode.rst` - Document the `G_FTAN`
opcode
- `llvm/include/llvm/IR/Intrinsics.td` - Create the tan intrinsic
- `llvm/include/llvm/Support/TargetOpcodes.def` - Create a `G_FTAN`
Opcode handler
- `llvm/include/llvm/Target/GenericOpcodes.td` - Define the `G_FTAN`
Opcode
- `llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp` Map the tan intrinsic
to `G_FTAN` Opcode
- `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - Map the
`G_FTAN` opcode to the GLSL 4.5 and openCL tan instructions.
- `llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp` - Define `G_FTAN` as a
legal spirv target opcode.
Commit: 084e2b53d22c11e013b0a495b65d39aa7f934048
https://github.com/llvm/llvm-project/commit/084e2b53d22c11e013b0a495b65d39aa7f934048
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/SROA.cpp
Log Message:
-----------
[MLIR][Interfaces] Change MemorySlotInterface to use OpBuilder (#91341)
This commit changes the `MemorySlotInterface` back to using `OpBuilder`
instead of a rewriter. This was originally introduced in
https://reviews.llvm.org/D150432 but it was shown that patterns are a
bad idea for both Mem2Reg and SROA.
Mem2Reg suffers from the usage of a rewriter due to being forced to
create new basic blocks. This is an issue, as it leads to the
invalidation of the dominance information, which can be expensive to
recompute.
Commit: a99ce615f19fec6fbb835490b89f53cba3cf9eff
https://github.com/llvm/llvm-project/commit/a99ce615f19fec6fbb835490b89f53cba3cf9eff
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91141)
… (#90885)"
This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
Also change isMapType as @vitalybuka suggested. Hope this fix sanitizer
build problem.
Commit: 8755d24cb34b902557469445e1983850e0ce7cc7
https://github.com/llvm/llvm-project/commit/8755d24cb34b902557469445e1983850e0ce7cc7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-07 (Tue, 07 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[compiler-rt][ctx_profile] Fix signed-ness warnings in test
Follow-up from PR ##89838. Some build bots warn-as-error
about signed/unsigned comparison in CtxInstrProfilingTest.
Example: https://lab.llvm.org/buildbot/#/builders/37/builds/34610
Commit: 23ae482bd01d7c966f871ddd620e9a26d6d66299
https://github.com/llvm/llvm-project/commit/23ae482bd01d7c966f871ddd620e9a26d6d66299
Author: martinboehme <mboehme at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Log Message:
-----------
[clang][dataflow] Allow `DataflowAnalysisContext` to use a non-owned `Solver`. (#91316)
For some callers (see change in DataflowAnalysis.h), this is more
convenient.
Commit: e44600f3ab58b0e93a2a80f18e17181c2bc007a4
https://github.com/llvm/llvm-project/commit/e44600f3ab58b0e93a2a80f18e17181c2bc007a4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
A clang/test/CodeGen/X86/inline-asm-gcc-regs.c
Log Message:
-----------
[X86][CFE] Support EGPR in GCCRegNames. (#91323)
Commit: bbd6a2d85c44d99e66b471d251a742f7551a0c61
https://github.com/llvm/llvm-project/commit/bbd6a2d85c44d99e66b471d251a742f7551a0c61
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
Log Message:
-----------
[RISCV] Convert implicit_def tuples to noreg in post-isel peephole (#91173)
If a segmented load has an undefined passthru then it will be selected
as a reg_sequence with implicit_def operands, which currently slips
through the implicit_def -> noreg peephole.
This patch fixes this so we're able to infer if the passthru is
undefined without the need for looking through vreg definitions with
MachineRegisterInfo, which will help with moving RISCVInsertVSETVLI to
LiveIntervals in #70549
Commit: 81d304566b3b22781ca42303ec534bdc0ac5418c
https://github.com/llvm/llvm-project/commit/81d304566b3b22781ca42303ec534bdc0ac5418c
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove unused arg in getDemanded in RISCVInsertVSETVLI. NFC
Commit: bafbe39778a972d0f2869980de22fb00c03a6a35
https://github.com/llvm/llvm-project/commit/bafbe39778a972d0f2869980de22fb00c03a6a35
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/atomics-sm90.ll
Log Message:
-----------
[NVPTX] Add support for atomic add for bf16 type (#89586)
atom.add.noftz.bf16 is supported since SM 9.0 and PTX 7.8
Commit: 3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
https://github.com/llvm/llvm-project/commit/3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/include/__functional/is_transparent.h
M libcxx/include/map
M libcxx/include/set
M libcxx/include/unordered_map
M libcxx/include/unordered_set
Log Message:
-----------
[libc++][NFC] Refactor __is_transparent to be a variable template (#90865)
Commit: 9ef28cf88ca6e45c3ecb75c649463f8797db68d2
https://github.com/llvm/llvm-project/commit/9ef28cf88ca6e45c3ecb75c649463f8797db68d2
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: add test for crash #88796 (#91200)
Commit: 57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
https://github.com/llvm/llvm-project/commit/57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: fix logical error after m_Trunc match (#91201)
The matcher m_Trunc() matches an Operator with a given Opcode, which
could either be an Instruction or ConstExpr.
VectorCombine::foldTruncFromReductions() incorrectly assumes that the
pattern matched is always an Instruction, and attempts a cast. Fix this.
Fixes #88796.
Commit: 746bf297e2f0f637d2e1c197bf04a32ab04b669a
https://github.com/llvm/llvm-project/commit/746bf297e2f0f637d2e1c197bf04a32ab04b669a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/do08.f90
Log Message:
-----------
[Flang][OpenMP] Add checks for EXIT from associated loops (#91315)
Extend the checker that deals with CYCLE to handle EXIT also. The
difference for EXIT is that it is not allowed to EXIT from the innermost
associated loops while it is OK to CYCLE in the innermost associated
loop. Also add an incrementer on leaving the DO loop for EXIT checks.
Commit: 602df270a9bfcb52980a93c85eb615c0d91eba0c
https://github.com/llvm/llvm-project/commit/602df270a9bfcb52980a93c85eb615c0d91eba0c
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/w-option.f90
Log Message:
-----------
[Flang] RFC: Add support for -w option 1/n (#90420)
Add support for the -w option to switch OFF all Flang
warnings. This patch only supports switching OFF the
frontend warnings.
TODO : Support for MLIR, LLVM and Driver warnings.
TODO : Support interactions between -w, -pedantic, -Wall
Commit: 1a498103ee5c4d101e70dc49db11938d8b87b518
https://github.com/llvm/llvm-project/commit/1a498103ee5c4d101e70dc49db11938d8b87b518
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
A mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
R mlir/test/Dialect/ArmSME/tile-allocation.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
Log Message:
-----------
[mlir][ArmSME][test] Prepare tests for tile allocation changes (#91358)
This patch:
1. Removes some duplicate test cases
2. Removes unnecessary uses of `-convert-arm-sme-to-llvm`
3. Ensures tile values have uses via `test.some_use()`
1 and 2 will make these tests easier to update. 3 will be needed as
ArmSME operations will be pure.
Commit: dd4bf22b9380e797362fac1415a1796da338b2db
https://github.com/llvm/llvm-project/commit/dd4bf22b9380e797362fac1415a1796da338b2db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - don't introduce lane-crossing permutes without AVX2 support.
Fixes #91433
Commit: 8f21294897befee48f9f72734ea1b0ad4c920aa0
https://github.com/llvm/llvm-project/commit/8f21294897befee48f9f72734ea1b0ad4c920aa0
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lld/test/ELF/mips-eh_frame-pic.s
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/DebugInfo/Mips/eh_frame.ll
M llvm/test/MC/Mips/eh-frame.s
Log Message:
-----------
MIPS: Use pcrel|sdata4 for eh_frame (#91291)
Gas uses encoding DW_EH_PE_absptr for PIC, and gnu ld converts it to
DW_EH_PE_sdata4|DW_EH_PE_pcrel.
LLD doesn't have this workarounding, thus complains
```
relocation R_MIPS_32 cannot be used against local symbol; recompile with -fPIC
relocation R_MIPS_64 cannot be used against local symbol; recompile with -fPIC
```
So, let's generates asm/obj files with `DW_EH_PE_sdata4|DW_EH_PE_pcrel`
encoding. In fact, GNU ld supports such OBJs well.
For N64, maybe we should use sdata8, while GNU ld doesn't support it
well, and in fact sdata4 is enough now. So we just ignore the `Large`
for `MCObjectFileInfo::initELFMCObjectFileInfo`. Maybe we should switch
back to sdata8 once GNU LD supports it well.
Fixes: #58377.
Commit: df311a27629618f6ba645bfe3f46e981000cb5da
https://github.com/llvm/llvm-project/commit/df311a27629618f6ba645bfe3f46e981000cb5da
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
Add interface to check if a call has a deopt bundle (NFC) (#91348)
Encapsulate check that a call has a deopt bundle to make it easier to
change the deopt scheme.
Commit: d4fef93724e290a82d498f0d8df1a84a5ff50ab3
https://github.com/llvm/llvm-project/commit/d4fef93724e290a82d498f0d8df1a84a5ff50ab3
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Split up mutex libraries like ab3a9e724d87a4272782f76b90fb0872a6a86939 did
Commit: aefad851672e6dd17592895066a39aa5b388e5db
https://github.com/llvm/llvm-project/commit/aefad851672e6dd17592895066a39aa5b388e5db
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
Log Message:
-----------
[clangd] Fix data race surfaced in clangd-tsan buildbot
We can have concurrent accesses to same PreambleData (e.g.
code-completion and ast-builds). Hence we need to
deep copy TargetOpts.
Commit: 341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
https://github.com/llvm/llvm-project/commit/341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
Author: Weaver <Tom.Weaver at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91141)"
This reverts commit a99ce615f19fec6fbb835490b89f53cba3cf9eff.
Caused test failure on following buildbot:
https://lab.llvm.org/buildbot/#/builders/139/builds/65066
Commit: 927913fac74b671b5202eb00a52907d8445c7691
https://github.com/llvm/llvm-project/commit/927913fac74b671b5202eb00a52907d8445c7691
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ValueMapper.cpp
Log Message:
-----------
[RemoveDIs] Fix remapping of DbgLabelRecords. (#91447)
We already remapped DILocations for DbgVariableRecords, but
DbgLabelRecords have debug locations too that need to be mapped the same
way.
Commit: 19220110acf5ed5cf8be035b7e4a7aed69f0adb1
https://github.com/llvm/llvm-project/commit/19220110acf5ed5cf8be035b7e4a7aed69f0adb1
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
Log Message:
-----------
[PowerPC][AIX] Refactor existing logic to handle non-zero offsets for aix-small-local-dynamic-tls (#89182)
To enable optimized small local-dynamic access sequence for non-zero
offsets, this patch refactors existing
2a50921553798d2db52ca6330c89f0f8a5bc2215.
Commit: 6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
https://github.com/llvm/llvm-project/commit/6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in MIGChecker (#91331)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in the checker `osx.MIG`.
The code was simplified to use a `CallDescriptionMap` instead of a raw
vector of pairs.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits have already performed this change in other checkers:
- easy cases: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa,
6d64f8e1feee014e72730a78b62d9d415df112ff
- MallocChecker: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
- iterator checkers: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
- InvalidPtr checker: 024281d4d26344f9613b9115ea1fcbdbdba23235
- apiModeling.llvm.ReturnValue: 97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
... and follow-up commits will handle the remaining few checkers.
My goal is to ensure that the call description mode is always explicitly
specified and eliminate (or strongly restrict) the vague "may be either
a method or a simple function" mode that's the current default.
Commit: 943617d12ccbd3cf317f0bbec03d9efc700f3953
https://github.com/llvm/llvm-project/commit/943617d12ccbd3cf317f0bbec03d9efc700f3953
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
Log Message:
-----------
Typo fix; NFC
Commit: c5509fedc5757fffece385d9d068e36b26793ade
https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/packoffset.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
[HLSL] Support packoffset attribute in AST (#89836)
Add HLSLPackOffsetAttr to save packoffset in AST.
Since we have to parse the attribute manually in ParseHLSLAnnotations,
we could create the ParsedAttribute with a integer offset parameter
instead of string. This approach avoids parsing the string if the offset
is saved as a string in HLSLPackOffsetAttr.
For #57914.
Commit: 737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
https://github.com/llvm/llvm-project/commit/737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
Log Message:
-----------
[GlobalIsel] combine ext of trunc with flags (#87115)
https://github.com/llvm/llvm-project/pull/85592
https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453
https://github.com/llvm/llvm-project/pull/88609
Commit: db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
https://github.com/llvm/llvm-project/commit/db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update CODEOWNERS
Adding myself to linalg dialect
Commit: c84c74e67839a5207d7c6318fc37e607f088a994
https://github.com/llvm/llvm-project/commit/c84c74e67839a5207d7c6318fc37e607f088a994
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add tests for vector extracts from unpacked types.
Commit: 686a206b2665b6ba9245980489daa79dc8547079
https://github.com/llvm/llvm-project/commit/686a206b2665b6ba9245980489daa79dc8547079
Author: Nabeel Omer <nabeel.omer at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/overflow.proftext
A llvm/test/Transforms/SampleProfile/overflow.ll
Log Message:
-----------
[SampleProfileLoader] Fix integer overflow in generateMDProfMetadata (#90217)
This patch fixes an integer overflow in the SampleProfileLoader pass.
The issue occurs when weights are saturated and Profi isn't being used.
This patch also adds a newline to a debug message to make it more
readable.
Commit: 3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
https://github.com/llvm/llvm-project/commit/3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
Log Message:
-----------
[Coro] Relax a debug-info test (#91401)
Debug-info metadata does not have a strictly defined order. Check that
elements are linked to each other correctly, not that metadata appears
in a particular order.
Commit: 665af09a86b8d80af33f170fca89ced9986cf1e5
https://github.com/llvm/llvm-project/commit/665af09a86b8d80af33f170fca89ced9986cf1e5
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/TargetParser/Triple.cpp
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DirectX backend] emits metadata for DXIL version. (#88350)
Emit named metadata "dx.version" for DXIL version.
Default to DXIL 1.0
Commit: 40b322baef143df271d8b9142028aaeeec2a4d78
https://github.com/llvm/llvm-project/commit/40b322baef143df271d8b9142028aaeeec2a4d78
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
A llvm/test/Transforms/IndVarSimplify/trip-count-expansion-loop-guard-preserve-nsw.ll
Log Message:
-----------
[SCEV] Add tests for missed NSW preservation during loop guard handling.
Add test coverage for missed simplification.
Commit: f97f04ec4392c79163179331211ea8c48e61799b
https://github.com/llvm/llvm-project/commit/f97f04ec4392c79163179331211ea8c48e61799b
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
Log Message:
-----------
[mlir] Fixing a regression that '-D' option of llvm-tblgen is unregistered. (#91329)
PR #89664 introduced a regression that it unregistered llvm-tblgen
option `-D` for macros. The test `TestOps.cpp` failed due to passing a
macros to llvm-tblgen.
It caused our internal build to fail because we append `-DLOCAL_NAME`
into `LLVM_TABLEGEN_FLANGS` in `llvm/lib/cmake/llvm/TableGen.cmake` as
```
list(APPEND LLVM_TABLEGEN_FLAGS "-DLOCAL_NAME")
```
And in `./llvm/lib/Target/PowerPC/PPC.td`, we check it for some
downstream code as:
```
...
#ifdef LOCAL_NAME
...
#endif
```
Now we got error message from mlir-src-sharder as
```
mlir-src-sharder -op-shard-index=1 -DLOCAL_NAME llvm-project/mlir/test/lib/Dialect/Test/TestOps.cpp --write-if-changed -o tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp -d tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp.d
mlir-src-sharder: Unknown command line argument '-DLOCAL_NAME'. Try: 'llvm-project/build/bin/mlir-src-sharder --help'
mlir-src-sharder: Did you mean '-I'?
```
This PR is to fix the regression.
Commit: 9c09b0840e82490ed194207adc03d3e7284b8764
https://github.com/llvm/llvm-project/commit/9c09b0840e82490ed194207adc03d3e7284b8764
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/packoffset.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
Revert "[HLSL] Support packoffset attribute in AST (#89836)" (#91473)
This reverts commit c5509fedc5757fffece385d9d068e36b26793ade.
Commit: c6efcc925c9969d616bc463171c0423d6a9766af
https://github.com/llvm/llvm-project/commit/c6efcc925c9969d616bc463171c0423d6a9766af
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Transforms/Mem2Reg.cpp
Log Message:
-----------
[MLIR][Mem2Reg] Improve performance by avoiding recomputations (#91444)
This commit ensures that Mem2Reg reuses the `DominanceInfo` as well as
block index maps to avoid expensive recomputations. Due to the recent
migration to `OpBuilder`, the promotion of a slot does no longer replace
blocks. Having stable blocks makes the `DominanceInfo` preservable and
additionally allows to cache block index maps between different
promotions.
Performance measurements on very large functions show an up to 4x
speedup by these changes.
Commit: 2c1c67674cb3beb4e091a9f446de5858631cf8ae
https://github.com/llvm/llvm-project/commit/2c1c67674cb3beb4e091a9f446de5858631cf8ae
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Transform/Utils/Utils.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/Utils/Utils.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/Linalg/promotion_options.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
M mlir/test/Dialect/Linalg/tile-softmax.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Linalg/transform-op-compose-masked-vectorize-and-cleanups.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Dialect/Transform/ops.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][transform] Consistent `linalg` `transform` op syntax for dynamic index lists (#90897)
This patch is a first pass at making consistent syntax across the
`LinalgTransformOp`s that use dynamic index lists for size parameters.
Previously, there were two different forms: inline types in the list, or
place them in the functional style tuple. This patch goes for the
latter.
In order to do this, the `printPackedOrDynamicIndexList`,
`printDynamicIndexList` and their `parse` counterparts were modified so
that the types can be optionally provided to the corresponding custom
directives.
All affected ops now use tablegen `assemblyFormat`, so custom
`parse`/`print` functions have been removed. There are a couple ops that
will likely add dynamic size support, and once that happens it should be
made sure that the assembly remains consistent with the changes in this
patch.
The affected ops are as follows: `pack`, `pack_greedily`,
`tile_using_forall`. The `tile_using_for` and `vectorize` ops already
used this syntax, but their custom assembly was removed.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d6d613aaebc0ae503409ba7719a43b4a55e1ee70
https://github.com/llvm/llvm-project/commit/d6d613aaebc0ae503409ba7719a43b4a55e1ee70
Author: martinboehme <mboehme at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[clang][dataflow] Make `SolverTest` a type-parameterized test. (#91455)
This allows the tests to be run against any implementation of `Solver`
instead
of begin specific to `WatchedLiteralsSolver` as they currently are.
Commit: b5afda8d760998641cf08a6d229252924b0ad146
https://github.com/llvm/llvm-project/commit/b5afda8d760998641cf08a6d229252924b0ad146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
AMDGPU: Add some more ctlz_zero_undef tests
Commit: 27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
https://github.com/llvm/llvm-project/commit/27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/numeric/gcd.bench.cpp
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
Log Message:
-----------
[libc++] Implement std::gcd using the binary version (#77747)
The binary version is four times faster than current implementation in
my setup, and generally considered a better implementation.
Code inspired by https://en.algorithmica.org/hpc/algorithms/gcd/ which
itself is inspired by
https://lemire.me/blog/2013/12/26/fastest-way-to-compute-the-greatest-common-divisor/
Fix #77648
Commit: 73bb8d9d92f689863c94d48517e89d35dae0ebcf
https://github.com/llvm/llvm-project/commit/73bb8d9d92f689863c94d48517e89d35dae0ebcf
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/test/affinity/redetect.c
Log Message:
-----------
[OpenMP] Fix child processes to use affinity_none (#91391)
When a child process is forked with OpenMP already initialized, the
child process resets its affinity mask and sets proc-bind-var to false
so that the entire original affinity mask is used. This patch corrects
an issue with the affinity initialization code setting affinity to
compact instead of none for this special case of forked children.
The test trying to catch this only testing explicit setting of
KMP_AFFINITY=none. Add test run for no KMP_AFFINITY setting.
Fixes: #91098
Commit: 6ed8434edc5934210a38be99f33b6baed83df85c
https://github.com/llvm/llvm-project/commit/6ed8434edc5934210a38be99f33b6baed83df85c
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][fold-memref-alias-ops] Add support for folding memref.expand_shape involving dynamic dims (#89093)
`fold-memref-alias-ops` bails out in presence of dynamic shapes in
`memref.expand_shape` op. Handle this case.
Commit: 2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
https://github.com/llvm/llvm-project/commit/2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type.
Need to look through the SExt/ZExt scalars to be gathered, when trying
to reduce their width after minbitwidth analysis to prevent permanent
attempts to revectorize such gathered instructions.
Commit: 2868e26d0a6f257d3a8f303c7918f37c690e35a4
https://github.com/llvm/llvm-project/commit/2868e26d0a6f257d3a8f303c7918f37c690e35a4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
Use cmake to find perl executable (#91275)
`clang/tools/scan-build` is implemented in `perl`. However given `perl`
is not mentioned as a required dependency in `GettingStarted.rst` we
should make this optional.
This adds a `find_package(Perl)` check to cmake and disables the
`scan-build` tests when no perl executable is found.
Ideally we would also check if dependent perl modules like `Hash::Util`
are present on the system, but I don't see any pre-existing cmake macros
to easily test this. So for now I go with a plain check for the `perl`
package, at least this allows to use `cmake
-DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON` to manually disable `perl` and the
tests.
Commit: 3a8316216807d64a586b971f51695e23883331f7
https://github.com/llvm/llvm-project/commit/3a8316216807d64a586b971f51695e23883331f7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 6ed8434edc5934210a38be99f33b6baed83df85c
Commit: 50b45b24220ead33cf5cedc49c13e0336297e4eb
https://github.com/llvm/llvm-project/commit/50b45b24220ead33cf5cedc49c13e0336297e4eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
Log Message:
-----------
[LAA] Add tests with forward dependences known via assumes.
Commit: 11a6799740f824282650aa9ec249b55dcf1a8aae
https://github.com/llvm/llvm-project/commit/11a6799740f824282650aa9ec249b55dcf1a8aae
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
A clang/test/CodeGen/linking-bitcode-postopt.cpp
Log Message:
-----------
[clang][CodeGen] Omit pre-opt link when post-opt is link requested (#85672)
Currently, when the -relink-builtin-bitcodes-postop option is used we
link builtin bitcodes twice: once before optimization, and again after
optimization.
With this change, we omit the pre-opt linking when the option is set,
and we rename the option to the following:
-Xclang -mlink-builtin-bitcodes-postopt
(-Xclang -mno-link-builtin-bitcodes-postopt)
The goal of this change is to reduce compile time. We do lose the
theoretical benefits of pre-opt linking, but in practice these are small
than the overhead of linking twice. However we may be able to address
this in a future patch by adjusting the position of the builtin-bitcode
linking pass.
Compilations not setting the option are unaffected
Commit: a55127281b2ed5f24f848b9e5c70870ad170bc3f
https://github.com/llvm/llvm-project/commit/a55127281b2ed5f24f848b9e5c70870ad170bc3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] getGSVectorCost - add cost kind support
Don't just assume gather/scatter non-throughput costs are 1 - latency and sizelatency (#uops) costs will be high, and codesize (#instructions) needs to account splitting.
Commit: 29b7eb8400f48fe7d8de3cb3741584c329ec597c
https://github.com/llvm/llvm-project/commit/29b7eb8400f48fe7d8de3cb3741584c329ec597c
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/test/CodeGen/AArch64/stackmap-liveness.ll
M llvm/test/CodeGen/X86/stackmap-liveness.ll
Log Message:
-----------
[llvm][stackmaps] Include pristine registers for liveness computation. (#90529)
Users of stackmaps and patchpoints need to add all pristine registers to
the
spill set, even so they don't need to be all preserved.
This fixes the liveness computation for stackmaps to include pristine
registers.
This fixes rdar://21228337.
Commit: 9263318f9da22e6632f1aae3e85717ed88fde64f
https://github.com/llvm/llvm-project/commit/9263318f9da22e6632f1aae3e85717ed88fde64f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revise the modules document for clarity (#90237)
The intention isn't to add or change the information provided, but to
improve clarity through some grammar fixes, improvements to the
markdown, and so forth.
Commit: 2ceb1291ef3ddb87cb58030cd61d965f4030338f
https://github.com/llvm/llvm-project/commit/2ceb1291ef3ddb87cb58030cd61d965f4030338f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add canScaleShuffleElements helper. NFC.
Returns true if the shuffle mask can be rescaled to the requested number of elements.
Commit: a6171900a446c85c3b53a4a9deba16b746f9f77f
https://github.com/llvm/llvm-project/commit/a6171900a446c85c3b53a4a9deba16b746f9f77f
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[RemoveDIs] Change remapDbgVariableRecord to remapDbgRecord (#91456)
We need to remap any DbgRecord, not just DbgVariableRecords.
This is the followup to #91447.
Co-authored-by: PietroGhg <pietro.ghiglio at codeplay.com>
Commit: 5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
https://github.com/llvm/llvm-project/commit/5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - allow whole-lane permutation on AVX1 targets.
dd4bf22b9380e797362fac1415a1796da338b2db fixed #91433 but meant we couldn't use vperm2f128 to permute entire 128-bit lanes - if the new 256-bit permutation mask can be scaled to 2x128-bit elements, then we can still fold.
Commit: 6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
https://github.com/llvm/llvm-project/commit/6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DXIL] Set DXIL Version in DXIL target triple based on shader model version (#91407)
This change set restores commit 080978dd2067d0c9ea7e229aa7696c2480d89ef1 that was reverted to address ASAN
failures and includes a fix for the ASAN failures.
Following is the description of the change:
An earlier commit provided a way to decouple DXIL version from Shader
Model version by representing the DXIL version as `SubArch` in the DXIL
Target Triple and adding corresponding valid DXIL Arch types.
This change constructs DXIL target triple with DXIL version that is
deduced from Shader Model version specified in the following scenarios:
1. When compilation target profile is specified:
For e.g., DXIL target triple `dxilv1.8-unknown-shader6.8-library` is
constructed when `-T lib_6_8` is specified.
2. When DXIL target triple without DXIL version is specified:
For e.g., DXIL target triple `dxilv1.8-pc-shadermodel6.8-library` is
constructed when `-mtriple=dxil-pc-shadermodel6.8-library` is specified.
Updated relevant HLSL tests that check for target triple.
Commit: efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
https://github.com/llvm/llvm-project/commit/efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Support] Add end/error to decode[US]LEB128AndInc
Follow-up to #85739 to encourage error checking. We make `end` mandatory
and add decodeULEB128AndIncUnsafe to be used without `end`.
Pull Request: https://github.com/llvm/llvm-project/pull/90006
Commit: 8d9b15497d70ac782d7d01a2d606f9fec7e7f642
https://github.com/llvm/llvm-project/commit/8d9b15497d70ac782d7d01a2d606f9fec7e7f642
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CodeGenAction.cpp
Log Message:
-----------
Fix unused private field warning (#91500)
After 11a6799740f8 "[clang][CodeGen] Omit pre-opt link when post-opt is
link requested (#85672)" I'm seeing a new warning:
> BackendConsumer.h:37:22: error: private field 'FileMgr' is not used
[-Werror,-Wunused-private-field]
Remove the field since it's no longer used.
Commit: 3dcbcce287877322b2902ae271642416fdc8481c
https://github.com/llvm/llvm-project/commit/3dcbcce287877322b2902ae271642416fdc8481c
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
Log Message:
-----------
[clang][CodeGen] Remove now-unused FileManager variable (#91495)
Fixes "error: private field 'FileMgr' is not used" introduced by 11a6799
Commit: b59461ac63aa1770a617f96bab31010442bd2090
https://github.com/llvm/llvm-project/commit/b59461ac63aa1770a617f96bab31010442bd2090
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
M llvm/unittests/ADT/StringSetTest.cpp
Log Message:
-----------
[ADT] Add back ability to compare StringSet (#91374)
StringSet comparison was broken after moving from llvm::Optional to
std::optional because std::nullopt_t is not equality-comparable. Without
this patch a try to compare objects of StringSet type leads to
compilation error:
```
llvm-project/llvm/include/llvm/ADT/StringMap.h:294:33: error: no match for ‘operator==’ (operand types are ‘std::nullopt_t’ and ‘std::nullopt_t’)
294 | if (!(KeyValue.getValue() == FindInRHS->getValue()))
```
Commit: 4298fc5eb5c483fb72db6fce062352087dfd0acf
https://github.com/llvm/llvm-project/commit/4298fc5eb5c483fb72db6fce062352087dfd0acf
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Move strength reduction of mul X, 3/5/9*2^N to combine (#89966)
This moves our last major category tablegen driven multiply strength
reduction into the post legalize combine framework. The one slightly
tricky bit is making sure that we use a leading shl if we can form a
slli.uw, and trailing shl otherwise. Having the trailing shl is critical
for shNadd matching, and folding any following sext.w.
As can be seen in the TD deltas, this allows us to kill off both the
actual multiply patterns and the explicit add (mul X, C) Y patterns. The
later are now handled by the generic shNadd matching code, with the
exception of the THead only C=200 case because we don't (yet) have a
multiply expansion with two shNadd + a shift.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: a620697340671aea2b0c65449fcddf3c2e4d1917
https://github.com/llvm/llvm-project/commit/a620697340671aea2b0c65449fcddf3c2e4d1917
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/unittests/IR/AttributesTest.cpp
Log Message:
-----------
[IR] Check callee param attributes as well in CallBase::getParamAttr() (#91394)
These methods aren't used yet, but may be in the future. This keeps them
in line with other methods like getFnAttr().
Commit: 576838301d23bb779aa9c3f0cc3d086c46add44b
https://github.com/llvm/llvm-project/commit/576838301d23bb779aa9c3f0cc3d086c46add44b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Remove check for bitcast of called function in CallBase::has/getFnAttrOnCalledFunction (#91392)
With opaque pointers, we shouldn't have bitcasts between function
pointer types.
Commit: 08011cf8453c7c9e87d135f063356b6764a91cbc
https://github.com/llvm/llvm-project/commit/08011cf8453c7c9e87d135f063356b6764a91cbc
Author: XChy <xxs_chy at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[Docs][NFC] Use opaque ptr in the example (#91502)
Commit: 46435ac19e09039fb146fa6c12da0e640a66d435
https://github.com/llvm/llvm-project/commit/46435ac19e09039fb146fa6c12da0e640a66d435
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/lib/Passes/FrameAnalysis.cpp
Log Message:
-----------
[NFC][BOLT] Remove dead code (SPTAllocatorsId) (#91477)
It seems that SPTAllocatorsId is no longer used in FrameAnalysis, so
let's remove it.
It seems the use of SPTAllocatorsId was removed back in 2019, in commit
cc8415406c7.
Commit: bb6df0804ba0a0b0581aec4156138f5144dbcee2
https://github.com/llvm/llvm-project/commit/bb6df0804ba0a0b0581aec4156138f5144dbcee2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FuzzMutate/FuzzerCLI.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCSymbolXCOFF.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/TargetParser/CSKYTargetParserTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[llvm] Use StringRef::operator== instead of StringRef::equals (NFC) (#91441)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
70 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: dabdec1001dc368373dd581cf72f37a440873ce3
https://github.com/llvm/llvm-project/commit/dabdec1001dc368373dd581cf72f37a440873ce3
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
Fix `memref.expand_shape` verifier (#91501)
Torch-mlir integration is currently blocked on `memref.expand_shape`
verifier errors of the form
```
'memref.expand_shape' op invalid output shape provided at pos 1
```
The verifier code generating these errors was introduced in
https://github.com/llvm/llvm-project/pull/91245. I have commented there
why I believe it's incorrect. This PR has my suggested fix.
Unfortunately, this does not seem to be directly testable on `memref`
IR, because `static_output_shape` is not directly exposed in the custom
assembly format.
Commit: fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
https://github.com/llvm/llvm-project/commit/fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
Add a dependency from lldb-sbapi-dwarf-enums as a dependency of libll… (#91511)
…db-resource-headers
The Xcode build otherwise fails with
```
CMake Error in source/API/CMakeLists.txt:
The custom command generating
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-standalone/lldb-xcode-build/include/lldb/API/SBLanguages.h
is attached to multiple targets:
lldb-sbapi-dwarf-enums
liblldb-resource-headers
but none of these is a common dependency of the other(s). This is not
allowed by the Xcode "new build system".
CMake Generate step failed. Build files cannot be regenerated correctly.
```
Commit: dbcfa2957d9f99de62fc86db12a857caf929583c
https://github.com/llvm/llvm-project/commit/dbcfa2957d9f99de62fc86db12a857caf929583c
Author: Nicklas Boman <smurfd at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
lldb create API folder if it does not exist, before creating SBLangua… (#91128)
Create API folder if it does not exist, before creating SBLanguages.h
Commit: 42d99013bd6b7ed4a085e39c94ab86938d633f8a
https://github.com/llvm/llvm-project/commit/42d99013bd6b7ed4a085e39c94ab86938d633f8a
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
NFC: Add a comment indicating UpdateAnalysisInformation invalidates DFS Numbering (#91252)
Commit: 10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
https://github.com/llvm/llvm-project/commit/10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
Log Message:
-----------
[clang-tidy] Handle implicit casts in hicpp-signed-bitwise for IgnorePositiveIntegerLiterals (#90621)
Improved hicpp-signed-bitwise check by ignoring false positives
involving positive integer literals behind implicit casts when
IgnorePositiveIntegerLiterals is enabled.
Closes #89367
Commit: 37b6ba96dea54e7af3772d78c90bfb3fd61140f6
https://github.com/llvm/llvm-project/commit/37b6ba96dea54e7af3772d78c90bfb3fd61140f6
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
Log Message:
-----------
[clang-tidy] Handle expr with side-effects in readability-static-accessed-through-instance (#90736)
Improved readability-static-accessed-through-instance check to
support expressions with side-effects.
Originally calls to overloaded operator were
ignored by check, in fear of possible side-effects.
This change remove that restriction, and enables
fix-its for expressions with side-effect via
--fix-notes.
Closes #75163
Commit: 79921fbd5c6223ff7e6c75ed75974b4d16cad529
https://github.com/llvm/llvm-project/commit/79921fbd5c6223ff7e6c75ed75974b4d16cad529
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/ranges.inc
M libcxx/test/CMakeLists.txt
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libc++][CI] Reenables clang-tidy. (#90077)
The patch does several things:
- fixes module exports
- disables clang-tidy with Clang-17 due to known issues
- disabled clang-tidy on older libstdc++ versions since it lacks C++20
features used
- fixes the CMake dependency
The issue why clang-tidy was not used in the CI was the last issue; the
plugin was not a
dependency of the tests. Without a plugin the tests disable clang-tidy.
This was noticed while investigating
https://github.com/llvm/llvm-project/issues/89898
Commit: a6b623705b13b0f69c302ee7b36fe87f833ff193
https://github.com/llvm/llvm-project/commit/a6b623705b13b0f69c302ee7b36fe87f833ff193
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port 2868e26d0a6f (PERL_EXECUTABLE)
Commit: db29f20fdd4f715553f663f21021330cb4497e00
https://github.com/llvm/llvm-project/commit/db29f20fdd4f715553f663f21021330cb4497e00
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Ignore returns in DataAggregator
Returns are ignored in perf/pre-aggregated/fdata profile reader (see
DataReader::convertBranchData). They are also omitted in
YAMLProfileWriter by virtue of not having the profile attached to them
in the reader, and YAMLProfileWriter converting the profile attached to
BinaryFunctions. Thus, return profile is universally ignored across all
profile types except BAT YAML.
To make returns ignored for YAML produced in BAT mode, we can:
1) ignore them in YAMLProfileReader,
2) omit them from YAML profile in profile conversion/writing.
The first option is prone to profile staleness issue, where the profiled
binary doesn't match the one to be optimized, and thus returns in the
profile can no longer be reliably detected (as we don't distinguish them
from calls in the profile).
The second option is robust to staleness but requires disassembling the
branch source instruction.
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/90807
Commit: 2f956a35edb61d250a52c4d883f368d060fae57c
https://github.com/llvm/llvm-project/commit/2f956a35edb61d250a52c4d883f368d060fae57c
Author: Artem Belevich <tra at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M llvm/lib/Target/NVPTX/NVPTX.td
Log Message:
-----------
[CUDA] Mark CUDA-12.4 as supported and introduce ptx 8.4. (#91516)
Commit: 7e35a9a0e77aad673a3054855761ee4afd2605c1
https://github.com/llvm/llvm-project/commit/7e35a9a0e77aad673a3054855761ee4afd2605c1
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Replace dynamic sizes in insert_slice of tensor.cast canonicalization (#91352)
In some cases this pattern may ignore static information due to dynamic
operands in the insert_slice sizes operands, e.g.:
```
%0 = tensor.cast %arg0 : tensor<1x?xf32> to tensor<?x?xf32>
%1 = tensor.insert_slice %0 into %arg1[...] [%s0, %s1] [...]
: tensor<?x?xf32> into tensor<?x?xf32>
```
Can be rewritten into:
```
%1 = tensor.insert_slice %arg0 into %arg1[...] [1, %s1] [...]
: tensor<1x?xf32> into tensor<?x?xf32>
```
This PR updates the matching in the pattern to allow rewrites like this.
Commit: 878c141adcd3a1ea47c4cc8429af5c8522678536
https://github.com/llvm/llvm-project/commit/878c141adcd3a1ea47c4cc8429af5c8522678536
Author: Lily Brown <lily at lily.fyi>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir-lsp] Add DiagnosticTag from LSP spec (#91396)
Adds the [DiagnosticTag][diagtag] LSP construct to the LSP support
headers. I also added a unit test file to validate that the `tags` array
is omitted entirely if it's empty.
The LSP spec requires that `Diagnostic::tags` be an array; in order to
conform to that I used `std::vector`, as `SmallVector` doesn't have JSON
decoding support (you can encode it to JSON, but not decode it from
JSON).
[diagtag]:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnosticTag
Commit: 1464aee3767bf516633ce595ccd89a9cb50ae763
https://github.com/llvm/llvm-project/commit/1464aee3767bf516633ce595ccd89a9cb50ae763
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
Log Message:
-----------
[LAA] Add tests with non-constant backward deps with known min value.
Add a set of tests with non-constant backward dependences, where the
minimum value is known (via the start value of the outer AddRec).
Commit: 63c38ba64ebe079439e29acf43f24c33ecf44f4c
https://github.com/llvm/llvm-project/commit/63c38ba64ebe079439e29acf43f24c33ecf44f4c
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
Log Message:
-----------
[Sanitizers] Fix fake_test_gc not working on devices (#91284)
The way the LIT RUN command is currently constructed ( %run not --crash
%t ) causes the test failure on devices - since 'not' is a LLVM built
command, not available on devices.
Changing the command to read 'not --crash %run %t' fixes it, as 'not'
now executes on the host running the test.
rdar://115914588
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 9047331f1b4a623332966d888f05bcd3381c8abe
https://github.com/llvm/llvm-project/commit/9047331f1b4a623332966d888f05bcd3381c8abe
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[AArch64] Add some additional add mul imm tests with multiple uses. NFC
Commit: 5526c8a7425350cff2cd9cafa1bf5f20753e7848
https://github.com/llvm/llvm-project/commit/5526c8a7425350cff2cd9cafa1bf5f20753e7848
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR] Model llvm.inline_asm side_effects (#91507)
Allow more cleanups on inline_asm ops modeling side effects based on the
side_effect attributed.
Commit: e3938f4d71493673033f6190454e7e19d5411ea7
https://github.com/llvm/llvm-project/commit/e3938f4d71493673033f6190454e7e19d5411ea7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Detect native ELF machine from preprocessor (#91282)
Summary:
This gets the target's corresponding ELF value from the preprocessor.
We use this to detect if a given ELF is compatible with the CPU
offloading impolementation for OpenMP. Previously we used defitions from
CMake, but this is easier for people to understand as there may be new
users of this in the future.
Commit: 559accf365a6eb885c24cf15e14aea2eb8e66596
https://github.com/llvm/llvm-project/commit/559accf365a6eb885c24cf15e14aea2eb8e66596
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add VOP3_PACKED to V_PK_{MIN|MAX}IMUM_F16 profile (#91512)
NFCI as far as I understand, added for consitency.
Commit: b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
https://github.com/llvm/llvm-project/commit/b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Transforms/constant-fold.mlir
Log Message:
-----------
[mlir][arith] Fix overflow bug in arith::CeilDivSIOp::fold (#90947)
The folder for arith::CeilDivSIOp should only be applied when it can be
guaranteed that no overflow would happen. The current implementation
works fine when both dividends are positive and the only arithmetic
operation is the division itself.
However, in cases where either the dividend or divisor is negative (or
both),
the division is split into multiple arith operations, e.g.: `- ( -a /
b)`. That's
additional 2 operations on top of the actual division that can overflow
- the folder should check all 3 ops for overflow.
The current logic doesn't do that - it effectively only checks the last
operation
(i.e. the division). It breaks when using e.g. MININT values (e.g. -128
for
8-bit integers) - negating such values overflows.
This PR makes sure that no folding happens if any of the intermediate
arithmetic operations overflows.
Fixes https://github.com/llvm/llvm-project/issues/89382
Commit: b52160dbae268cc87cb8f6cdf75553ca095e26a9
https://github.com/llvm/llvm-project/commit/b52160dbae268cc87cb8f6cdf75553ca095e26a9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/Mangled.cpp
Log Message:
-----------
[lldb] Consult Language plugin in GetDisplayDemangledName (#90294)
Give language plugins the opportunity to provide a language specific
display name.
This will be used in a follow up commit. The purpose of this change is
to ultimately display breakpoint locations with a more human friendly
demangling of Swift symbols.
Commit: cec6665f2b7583223eb20519dfc3289011d1d2d7
https://github.com/llvm/llvm-project/commit/cec6665f2b7583223eb20519dfc3289011d1d2d7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
Log Message:
-----------
[MemProf] Optionally update hints on existing hot/cold new calls (#91047)
If directed by an option, update hints on calls to new that already
provide a hot/cold hint.
Commit: 965f3ca3dc5464892e283e176bf058ae04d8b654
https://github.com/llvm/llvm-project/commit/965f3ca3dc5464892e283e176bf058ae04d8b654
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
Log Message:
-----------
[GISel] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#91355)
Sibling patch to #89897
Commit: fcf945f4edbad1f2d82df067c2826baa6165dd3e
https://github.com/llvm/llvm-project/commit/fcf945f4edbad1f2d82df067c2826baa6165dd3e
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[DAG] Fold add(mul(add(A, CA), CM), CB) -> add(mul(A, CM), CM*CA+CB) (#90860)
This is useful when the inner add has multiple uses, and so cannot be
canonicalized by pushing the constants down through the mul. This patch
adds patterns for both `add(mul(add(A, CA), CM), CB)` and with an extra add
`add(add(mul(add(A, CA), CM), B) CB)` as the second can come up when
lowering geps.
Commit: e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
https://github.com/llvm/llvm-project/commit/e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libc/hdr/fenv_macros.h
Log Message:
-----------
[libc][fenv] Add missing FE_* definitions for some environment. (#91519)
Commit: 7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
https://github.com/llvm/llvm-project/commit/7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Display breakpoint locations using display name (#90297)
Adds a `show_function_display_name` parameter to
`SymbolContext::DumpStopContext`. This
parameter defaults to false, but `BreakpointLocation::GetDescription`
sets it to true.
This is NFC in mainline lldb, and will be used to modify how Swift
breakpoint locations are printed.
Commit: 1610eaad39ad882f006f32c29771862a610f8314
https://github.com/llvm/llvm-project/commit/1610eaad39ad882f006f32c29771862a610f8314
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Make Version2 officially available (#91541)
Commit: 64f4ceb09ec3559368dd775330184b5259531cd3
https://github.com/llvm/llvm-project/commit/64f4ceb09ec3559368dd775330184b5259531cd3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/update_invoke_prof.ll
Log Message:
-----------
[Inline][PGO] After inline, update InvokeInst profile counts in caller and cloned callee (#83809)
A related change is https://reviews.llvm.org/D133121, which correctly
preserves both branch weights and value profiles for invoke instruction.
* If the branch weight of the `invokeinst` specifies taken / not-taken branches, there is no scale.
Commit: 99052c4bdf9593a2e648f2c99cabaab36580898c
https://github.com/llvm/llvm-project/commit/99052c4bdf9593a2e648f2c99cabaab36580898c
Author: Augusto Noronha <augusto2112 at me.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[gardening][DebugInfo][NFC] Improve comment on HashingDISubprogram test (#91543)
Commit: 2fb377432134b12c3522b1ba8fa35ac4d0f14e1d
https://github.com/llvm/llvm-project/commit/2fb377432134b12c3522b1ba8fa35ac4d0f14e1d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
Revert "[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type."
This reverts commit 2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6.
Causes crashes, see comments on https://github.com/llvm/llvm-project/commit/2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6.
Commit: c0b5a96ac44a70bdc0b138e117e3fea1b49189f5
https://github.com/llvm/llvm-project/commit/c0b5a96ac44a70bdc0b138e117e3fea1b49189f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Add tests where we could use Zbs instructions in constant materialization. NFC
Commit: 36d8b37dfaa95b8b4e21cb8269fefb62e1f59c2f
https://github.com/llvm/llvm-project/commit/36d8b37dfaa95b8b4e21cb8269fefb62e1f59c2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Add another missed Zbs constant materialization test. NFC
This can be LI+BCLRI+BCLRI.
Commit: 1710c8cf0f8def4984893e9dd646579de5528d95
https://github.com/llvm/llvm-project/commit/1710c8cf0f8def4984893e9dd646579de5528d95
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/test/Fir/dispatch.f90
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Lower/CUDA/cuda-data-attribute.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/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.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/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/char_extremum.f03
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/dot_product.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-box.f90
M flang/test/Lower/HLFIR/expr-value.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-type-conversion.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/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/statement-functions.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/unary-ops.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_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.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-str.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.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.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-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.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/allocatable-polymorphic.f90
M flang/test/Lower/array-expression.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/charconvert.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang] Lowering changes for assigning dummy_scope to hlfir.declare. (#90989)
The lowering produces fir.dummy_scope operation if the current
function has dummy arguments. Each hlfir.declare generated
for a dummy argument is then using the result of fir.dummy_scope
as its dummy_scope operand. This is only done for HLFIR.
I was not able to find a reliable way to identify dummy symbols
in `genDeclareSymbol`, so I added a set of registered dummy symbols
that is alive during the variables instantiation for the current
function. The set is initialized during the mapping of the dummy
argument symbols to their MLIR values. It is reset right after
all variables are instantiated - this is done to avoid generating
hlfir.declare operations with dummy_scope for the clones of
the dummy symbols (e.g. this happens with OpenMP privatization).
If this can be done in a cleaner way, please advise.
Commit: 96568f3539d8a72432a03257a7a8ed2f36014b59
https://github.com/llvm/llvm-project/commit/96568f3539d8a72432a03257a7a8ed2f36014b59
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
A llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[llvm][ctx_profile] Add instrumentation lowering (#90821)
This adds the instrumentation lowering pass.
(Tracking Issue: #89287, RFC referenced there)
Commit: 1aaab334c53d5c52ae337939e9c853e6e1061128
https://github.com/llvm/llvm-project/commit/1aaab334c53d5c52ae337939e9c853e6e1061128
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Don't use std::vector<std::string> for split extensions in RISCVISAInfo::parseArchString. NFC (#91538)
We can use a SmallVector<StringRef>.
Adjust the code so we check for empty strings in the loop instead of
making a copy of the vector returned from StringRef::split.
This overlaps with #91532 which also removed the std::vector, but
that PR may be more controversial.
Commit: 409ff97aac00e5a677c90353b8b413c2bf46e28f
https://github.com/llvm/llvm-project/commit/409ff97aac00e5a677c90353b8b413c2bf46e28f
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Log Message:
-----------
[InstCombine] Fix comment from #88193 (NFC) (#91427)
It is inaccurate and needs to be corrected.
Commit: ba5170f430b027c6d290f57d7a5d7ba6ee2b265b
https://github.com/llvm/llvm-project/commit/ba5170f430b027c6d290f57d7a5d7ba6ee2b265b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/lshr.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization in shl-add test (NFC) (#91413)
Fixed test for #88193
Commit: 62b5b61f436add042d8729dc9837d055613180d9
https://github.com/llvm/llvm-project/commit/62b5b61f436add042d8729dc9837d055613180d9
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)
Fixes a crash caused by #90152.
Commit: 73a01448c733bf08443435927677d0ebd133615b
https://github.com/llvm/llvm-project/commit/73a01448c733bf08443435927677d0ebd133615b
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
A bolt/test/X86/jump-table-fixed-ref-pic.test
Log Message:
-----------
[BOLT] Add test case for PIC fixed indirect jump (#91547)
A compiler can generate a redundant indirection for a jump via a fixed
jump table target. Add a test case that covers such pattern that covers
PIC case. We already have non-PIC case detection.
Currently XFAIL.
Commit: 51f178d909d477bd269e0b434af1a7f9373d4e61
https://github.com/llvm/llvm-project/commit/51f178d909d477bd269e0b434af1a7f9373d4e61
Author: Artem Dergachev <adergachev at apple.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-atomics.cpp
Log Message:
-----------
[analyzer] MallocChecker: Recognize std::atomics in smart pointer suppression. (#90918)
Fixes #90498.
Same as 5337efc69cdd5 for atomic builtins, but for `std::atomic` this
time. This is useful because even though the actual builtin atomic is
still there, it may be buried beyond the inlining depth limit.
Also add one popular custom smart pointer class name to the name-based
heuristics, which isn't necessary to fix the bug but arguably a good
idea regardless.
Commit: ea126aebdc9d8205016f355d85dbf1c15f2f4b28
https://github.com/llvm/llvm-project/commit/ea126aebdc9d8205016f355d85dbf1c15f2f4b28
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt-small-local-dynamic-tls.ll
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-IRattribute.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-Option.ll
Log Message:
-----------
[PowerPC] Tune AIX shared library TLS model at function level (#84132)
Under some circumstance (library loaded with the main program), TLS
initial-exec model can be applied to local-dynamic access(es). We
could use some simple heuristic to decide the update at function level:
* If there is equal or less than a number of TLS local-dynamic access(es)
in the function, use TLS initial-exec model. (the threshold which default to
1 is controlled by hidden option)
Commit: b910bebc300dafb30569cecc3017b446ea8eafa0
https://github.com/llvm/llvm-project/commit/b910bebc300dafb30569cecc3017b446ea8eafa0
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Object/MachO.h
M llvm/lib/Object/MachOObjectFile.cpp
A llvm/test/Object/Inputs/MachO/bind-negative-skip.yaml
A llvm/test/Object/macho-bind-negative-skip.test
Log Message:
-----------
[llvm][MachO] Fix integer truncation in rebase/bind parsing (#89337)
`Count` and `Skip` should use `uint64_t` as they are encoded/decoded
using 64-bit ULEB128.
In `*_OPCODE_DO_*_ULEB_TIMES_SKIPPING_ULEB`, `Skip` could be encoded as
a two's complement for moving `SegmentOffset` backwards. Having a 32-bit
`Skip` truncates the encoded value and leads to a malformed
`AdvanceAmount`
and invalid `SegmentOffset` that extends past valid sections.
Commit: a39a382755c8cf27ecd9a646e720610f48dc09ad
https://github.com/llvm/llvm-project/commit/a39a382755c8cf27ecd9a646e720610f48dc09ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization (NFC)
These tests did not test what they were supposed to. The transform
fails to actually handle the commuted cases.
Commit: 0d335f78e45341db53d9f956adcebbb2d2616c9a
https://github.com/llvm/llvm-project/commit/0d335f78e45341db53d9f956adcebbb2d2616c9a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Handle more commuted cases in matchesSquareSum()
Commit: f958a7348fcb27c3c6b07f1c8bdb902c7525b845
https://github.com/llvm/llvm-project/commit/f958a7348fcb27c3c6b07f1c8bdb902c7525b845
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
Log Message:
-----------
[InstCombine] Fix name clashes in check lines (NFC)
These used both lower and upper case variants of the same name,
resulting in malformed check lines when regenerated.
Commit: 8f4f34f10345806b25b892d3df15951ee820de82
https://github.com/llvm/llvm-project/commit/8f4f34f10345806b25b892d3df15951ee820de82
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Add test for vmerge.vvm that could have splat sunk. NFC
Commit: 73d423319c0957a9b16ed8d5fb7c8336729b9c38
https://github.com/llvm/llvm-project/commit/73d423319c0957a9b16ed8d5fb7c8336729b9c38
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
M llvm/test/Transforms/InstCombine/apint-or.ll
M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: 3a3aeb8eba40e981d3a9ff92175f949c2f3d4434
https://github.com/llvm/llvm-project/commit/3a3aeb8eba40e981d3a9ff92175f949c2f3d4434
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/test/CodeGen/PowerPC/merge-string-used-by-metadata.mir
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-pass-only.mir
Log Message:
-----------
[PPCMergeStringPool] Avoid replacing constant with instruction (#88846)
String pool merging currently, for a reason that's not entirely clear to
me, tries to create GEP instructions instead of GEP constant expressions
when replacing constant references. It only uses constant expressions in
cases where this is required. However, it does not catch all cases where
such a requirement exists. For example, the landingpad catch clause has
to be a constant.
Fix this by always using the constant expression variant, which also
makes the implementation simpler.
Additionally, there are some edge cases where even replacement with a
constant GEP is not legal. The one I am aware of is the
llvm.eh.typeid.for intrinsic, so add a special case to forbid
replacements for it.
Fixes https://github.com/llvm/llvm-project/issues/88844.
Commit: 5baf58b628a4488de3f1a6af7c0df180358ba5dc
https://github.com/llvm/llvm-project/commit/5baf58b628a4488de3f1a6af7c0df180358ba5dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Improve use of BSETI/BCLRI in constant materialization. (#91546)
We failed to use BSETI when bit 31 was set and a few bits above bit 31
were set. We also failed to use multiple BSETI when the low 32 bits were
zero.
I've removed the special cases for constants 0x80000000-0xffffffff and
wrote a more generic algorithm for BSETI.
I've rewritten the BCLRI handling to be similar to the new BSETI
algorithm. This picks up cases where bit 31 is 0 and only a few high
bits are 0.
Commit: 666970cab2e80055cf1e5b5e9025c8f88e0d0732
https://github.com/llvm/llvm-project/commit/666970cab2e80055cf1e5b5e9025c8f88e0d0732
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Remove unnecessary initialization from RISCVPostRAExpandPseudo pass constructor.
It is already initialized in RISCVTargetMachine.cpp
Commit: 2a57657d5571b097eb0070e6f26ad4954c0fd990
https://github.com/llvm/llvm-project/commit/2a57657d5571b097eb0070e6f26ad4954c0fd990
Author: chandan singh <36783761+chandankds at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
A openmp/runtime/test/misc_bugs/omp__kmpc_fork_call_if.c
Log Message:
-----------
[OpenMP] [Flang] Resolved Issue llvm#76121: Implemented Check for Unhandled Arguments in __kmpc_fork_call_if (#82221)
Root cause: Segmentation fault is caused by null pointer dereference
inside the __kmpc_fork_call_if function at
https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/z_Linux_asm.S#L1186
. __kmpc_fork_call_if is missing case to handle argc=0 .
Fix: Added a check inside the __kmp_invoke_microtask function to handle
the case when argc is 0.
---------
Co-authored-by: Singh <chasingh at amd.com>
Commit: 5adcfd4c17826b2b8f023881baa1c7f79cb23920
https://github.com/llvm/llvm-project/commit/5adcfd4c17826b2b8f023881baa1c7f79cb23920
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[flang][CMake] Add missing dependency to generate Fortran module files (#91517)
Fixes bug https://github.com/llvm/llvm-project/issues/90769. Many thanks
to @Meinersbur for providing the initial thought and solution to this.
Commit: 90ffaa6ccc6dc7351c72979da217bd3eb7fd4491
https://github.com/llvm/llvm-project/commit/90ffaa6ccc6dc7351c72979da217bd3eb7fd4491
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/or-xor.ll
Log Message:
-----------
[InstCombine] Add proper test coverage for or of xors pattern (NFC)
Test all commuted variants of the pattern, most of which currently
fail to fold.
Commit: 534701d5f93369e822f3afc9670e3a42b08dfc6f
https://github.com/llvm/llvm-project/commit/534701d5f93369e822f3afc9670e3a42b08dfc6f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-xor.ll
Log Message:
-----------
[InstCombine] Handle commuted variants in or of xor pattern
This pattern only handled commutation in the "or", while all
involved operations are commutative. Make sure we handle all
sixteen patterns.
Commit: 97be79ca126c1a0e174fdbc345a28868edc7cdc7
https://github.com/llvm/llvm-project/commit/97be79ca126c1a0e174fdbc345a28868edc7cdc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
Log Message:
-----------
[Reassociate] Generate test checks (NFC)
Commit: 042a0b000dfe602ee0432be5ff88c67f531791bc
https://github.com/llvm/llvm-project/commit/042a0b000dfe602ee0432be5ff88c67f531791bc
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb] Make SBType::GetDirectNestedType (mostly) work with typedefs (#91189)
The implementation is straight-forward, but comes with a big disclaimer.
See #91186 for details.
Commit: fd1bd53ba5a06f344698a55578f6a5d79c457e30
https://github.com/llvm/llvm-project/commit/fd1bd53ba5a06f344698a55578f6a5d79c457e30
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
[lldb/aarch64] Fix unwinding when signal interrupts a leaf function (#91321)
A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.
To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).
The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.
Commit: dec8055a1e71fe25d4b85416ede742e8fdfaf3f0
https://github.com/llvm/llvm-project/commit/dec8055a1e71fe25d4b85416ede742e8fdfaf3f0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/TypeDetail.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/TableGen/Builder.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir] Use StringRef::operator== instead of StringRef::equals (NFC) (#91560)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
10 under mlir/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: aacea0d0f67401f5a0b74947f3ff179ade9cbf6d
https://github.com/llvm/llvm-project/commit/aacea0d0f67401f5a0b74947f3ff179ade9cbf6d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/TestingGuide.rst
M llvm/test/tools/UpdateTestChecks/lit.local.cfg
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic-asm.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/basic-asm.test
A llvm/test/tools/UpdateTestChecks/update_test_body/basic.test
A llvm/test/tools/UpdateTestChecks/update_test_body/empty-stdout.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-absent.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-fail.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-unterminated.test
A llvm/test/tools/UpdateTestChecks/update_test_body/lit.local.cfg
M llvm/test/tools/llvm-dwarfdump/X86/formclass4.s
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units_split_v5.s
A llvm/utils/update_test_body.py
Log Message:
-----------
[utils] Add script to generate elaborated IR and assembly tests (#89026)
Generally, IR and assembly test files benefit from being cleaned to
remove unnecessary details. However, for tests requiring elaborate
IR or assembly files where cleanup is less practical (e.g., large amount
of debug information output from Clang), the current practice is to
include the C/C++ source file and the generation instructions as
comments.
This is inconvenient when regeneration is needed. This patch adds
`llvm/utils/update_test_body.py` to allow easier regeneration.
`ld.lld --debug-names` tests (#86508) utilize this script for
Clang-generated assembly tests.
Note: `-o pipefail` is standard (since
https://www.austingroupbugs.net/view.php?id=789) but not supported by
dash.
Link:
https://discourse.llvm.org/t/utility-to-generate-elaborated-assembly-ir-tests/78408
Commit: c4a3d184db5fdffe798208b8281dfe944616f9ed
https://github.com/llvm/llvm-project/commit/c4a3d184db5fdffe798208b8281dfe944616f9ed
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
A libc/src/__support/CPP/mutex.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/thread.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/mutex_test.cpp
Log Message:
-----------
[libc] Replace `MutexLock` with `cpp::lock_guard` (#89340)
This PR address issue #89002.
#### Changes in this PR
* Added a simple implementation of `cpp::lock_guard` (an equivalent of
`std::lock_guard`) in libc/src/__support/CPP inspired by the libstdc++
implementation
* Added tests for `cpp::lock_guard` in
/libc/test/src/__support/CPP/mutex_test.cpp
* Replaced all references to `MutexLock` with `cpp::lock_guard`
---------
Co-authored-by: Guillaume Chatelet <gchatelet at google.com>
Commit: 443377a9d1a8d4a69a317a1a892184c59dd0aec6
https://github.com/llvm/llvm-project/commit/443377a9d1a8d4a69a317a1a892184c59dd0aec6
Author: Daniel M. Katz <katzdm at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/enum-scoped.cpp
Log Message:
-----------
[Clang] Fix P2564 handling of variable initializers (#89565)
The following program produces a diagnostic in Clang and EDG, but
compiles correctly in GCC and MSVC:
```cpp
#include <vector>
consteval std::vector<int> fn() { return {1,2,3}; }
constexpr int a = fn()[1];
```
Clang's diagnostic is as follows:
```cpp
<source>:6:19: error: call to consteval function 'fn' is not a constant expression
6 | constexpr int a = fn()[1];
| ^
<source>:6:19: note: pointer to subobject of heap-allocated object is not a constant expression
/opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-gnu/14.0.1/../../../../include/c++/14.0.1/bits/allocator.h:193:31: note: heap allocation performed here
193 | return static_cast<_Tp*>(::operator new(__n));
| ^
1 error generated.
Compiler returned: 1
```
Based on my understanding of
[`[dcl.constexpr]/6`](https://eel.is/c++draft/dcl.constexpr#6):
> In any constexpr variable declaration, the full-expression of the
initialization shall be a constant expression
It seems to me that GCC and MSVC are correct: the initializer `fn()[1]`
does not evaluate to an lvalue referencing a heap-allocated value within
the `vector` returned by `fn()`; it evaluates to an lvalue-to-rvalue
conversion _from_ that heap-allocated value.
This PR turns out to be a bug fix on the implementation of
[P2564R3](https://wg21.link/p2564r3); as such, it only applies to C++23
and later. The core problem is that the definition of a
constant-initialized variable
([`[expr.const/2]`](https://eel.is/c++draft/expr.const#2)) is contingent
on whether the initializer can be evaluated as a constant expression:
> A variable or temporary object o is _constant-initialized_ if [...]
the full-expression of its initialization is a constant expression when
interpreted as a _constant-expression_, [...]
That can't be known until we've finished parsing the initializer, by
which time we've already added immediate invocations and consteval
references to the current expression evaluation context. This will have
the effect of evaluating said invocations as full expressions when the
context is popped, even if they're subexpressions of a larger constant
expression initializer. If, however, the variable _is_
constant-initialized, then its initializer is [manifestly
constant-evaluated](https://eel.is/c++draft/expr.const#20):
> An expression or conversion is _manifestly constant-evaluated_ if it
is [...] **the initializer of a variable that is usable in constant
expressions or has constant initialization** [...]
which in turn means that any subexpressions naming an immediate function
are in an [immediate function
context](https://eel.is/c++draft/expr.const#16):
> An expression or conversion is in an immediate function context if it
is potentially evaluated and either [...] it is a **subexpression of a
manifestly constant-evaluated expression** or conversion
and therefore _are not to be considered [immediate
invocations](https://eel.is/c++draft/expr.const#16) or
[immediate-escalating
expressions](https://eel.is/c++draft/expr.const#17) in the first place_:
> An invocation is an _immediate invocation_ if it is a
potentially-evaluated explicit or implicit invocation of an immediate
function and **is not in an immediate function context**.
> An expression or conversion is _immediate-escalating_ if **it is not
initially in an immediate function context** and [...]
The approach that I'm therefore proposing is:
1. Create a new expression evaluation context for _every_ variable
initializer (rather than only nonlocal ones).
2. Attach initializers to `VarDecl`s _prior_ to popping the expression
evaluation context / scope / etc. This sequences the determination of
whether the initializer is in an immediate function context _before_ any
contained immediate invocations are evaluated.
3. When popping an expression evaluation context, elide all evaluations
of constant invocations, and all checks for consteval references, if the
context is an immediate function context. Note that if it could be
ascertained that this was an immediate function context at parse-time,
we [would never have
registered](https://github.com/llvm/llvm-project/blob/760910ddb918d77e7632be1678f69909384d69ae/clang/lib/Sema/SemaExpr.cpp#L17799)
these immediate invocations or consteval references in the first place.
Most of the test changes previously made for this PR are now reverted
and passing as-is. The only test updates needed are now as follows:
- A few diagnostics in `consteval-cxx2a.cpp` are updated to reflect that
it is the `consteval tester::tester` constructor, not the more narrow
`make_name` function call, which fails to be evaluated as a constant
expression.
- The reclassification of `warn_impcast_integer_precision_constant` as a
compile-time diagnostic adds a (somewhat duplicative) warning when
attempting to define an enum constant using a narrowing conversion. It
also, however, retains the existing diagnostics which @erichkeane
(rightly) objected to being lost from an earlier revision of this PR.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: febd89cafea11e6603f593e41be1a21ca9d009ac
https://github.com/llvm/llvm-project/commit/febd89cafea11e6603f593e41be1a21ca9d009ac
Author: Vadim D <36827317+vvd170501 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
Log Message:
-----------
[clang-tidy] check `std::string_view` and custom string-like classes in `readability-string-compare` (#88636)
This PR aims to expand the list of classes that are considered to be
"strings" by `readability-string-compare` check.
1. Currently only `std::string;:compare` is checked, but
`std::string_view` has a similar `compare` method. This PR enables
checking of `std::string_view::compare` by default.
2. Some codebases use custom string-like classes that have public
interfaces similar to `std::string` or `std::string_view`. Example:
[TStringBase](https://github.com/yandex/yatool/blob/main/util/generic/strbase.h#L38),
A new option, `readability-string-compare.StringClassNames`, is added to
allow specifying a custom list of string-like classes.
Related to, but does not solve #28396 (only adds support for custom
string-like classes, not custom functions)
Commit: b52fa9461ab73eaf2d04f32c806a1715b2595830
https://github.com/llvm/llvm-project/commit/b52fa9461ab73eaf2d04f32c806a1715b2595830
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
A llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
Log Message:
-----------
[Analysis] Add cost model for experimental.cttz.elts intrinsic (#90720)
In PR #88385 I've added support for auto-vectorisation of some early
exit loops, which requires using the experimental.cttz.elts to calculate
final indices in the early exit block. We need a more accurate cost
model for this intrinsic to better reflect the cost of work required in
the early exit block. I've tried to accurately represent the expansion
code for the intrinsic when the target does not have efficient lowering
for it. It's quite tricky to model because you need to first figure out
what types will actually be used in the expansion. The type used can
have a significant effect on the cost if you end up using illegal vector
types.
Tests added here:
Analysis/CostModel/AArch64/cttz_elts.ll
Analysis/CostModel/RISCV/cttz_elts.ll
Commit: 105dd60fc86a20404bd97ea7132e2c746ade300a
https://github.com/llvm/llvm-project/commit/105dd60fc86a20404bd97ea7132e2c746ade300a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aapcs64-align.cpp
Log Message:
-----------
[Clang][AArch64] Fixed incorrect _BitInt alignment (#90602)
This patch makes determining alignment and width of BitInt to be target
ABI specific and makes it consistent with [Procedure Call Standard for
the Arm® 64-bit Architecture
(AArch64)](https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst)
for AArch64 targets.
Commit: 8afa6cf510608079e24d07423782c4db20de7498
https://github.com/llvm/llvm-project/commit/8afa6cf510608079e24d07423782c4db20de7498
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/functional
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][functional] P2944R3 (partial): Comparisons for `reference_wrapper` (`reference_wrapper` operators only) (#88384)
Implements https://wg21.link/P2944R3 (partially)
Implements https://wg21.link/LWG4071 /
https://cplusplus.github.io/LWG/issue4071 (fixes build failures in the
test suite)
- https://eel.is/c++draft/refwrap.comparisons
Commit: 2cbfe4a823020b2efe53d32ad7eccbc5a037943f
https://github.com/llvm/llvm-project/commit/2cbfe4a823020b2efe53d32ad7eccbc5a037943f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/combine_vloads.ll
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-global-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
M llvm/test/CodeGen/AMDGPU/nullptr.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/store-global.ll
M llvm/test/CodeGen/AMDGPU/store-local.ll
M llvm/test/CodeGen/AMDGPU/trunc-vector-store-assertion-failure.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/AMDGPU/wrong-transalu-pos-fix.ll
Log Message:
-----------
[AMDGPU] Remove duplicate -mtriple options in tests (#91576)
Commit: 643c38333fc1b1e7e705e6e1035c595bbd95bc74
https://github.com/llvm/llvm-project/commit/643c38333fc1b1e7e705e6e1035c595bbd95bc74
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-vuzp.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
Log Message:
-----------
[AArch64] Remove EXT instr before UZP when extracting elements from vector (#91328)
Assembly generated for getting odd/even elements from vector contained
extra EXT instruction. This was due to way llvm constructs DAGs when
vector_shuffling from larger type to smaller. This patch optimises DAG
in these situations, allowing for correct assembly to be emitted.
Commit: 1494d8849fa2aef575dabd431b0060639f4a57c1
https://github.com/llvm/llvm-project/commit/1494d8849fa2aef575dabd431b0060639f4a57c1
Author: jofrn <jofernau at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
Log Message:
-----------
[AMDGPU] Always Inline preserved analyses (#91198)
When replacing all uses, the structural-hash of the IR can change, so
keep track of changes using Changed variable and return it to pass
manager.
Commit: 6eb9e214b3cb06fc31f2547275e746761c3e41de
https://github.com/llvm/llvm-project/commit/6eb9e214b3cb06fc31f2547275e746761c3e41de
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
Log Message:
-----------
RFC: [AMDGPU] Check subtarget features for consistency (#86957)
Implement GCNSubtarget::checkSubtargetFeatures as a canonical place to
check subtarget features for consistency and diagnose any
inconsistencies. To start with, the implementation just checks that
either wavefrontsize32 or wavefrontsize64 is selected.
checkSubtargetFeatures is called at the start of instruction selection.
This is pretty arbitrary. It is just a convenient point at which we have
access to the subtarget that we're going to use for codegenning a
particular function.
Commit: 58a94b1d0ad8df85bc6b1edb22c74ffb718ca1a1
https://github.com/llvm/llvm-project/commit/58a94b1d0ad8df85bc6b1edb22c74ffb718ca1a1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
A llvm/test/Transforms/SLPVectorizer/X86/extended-vectorized-gathered-inst.ll
Log Message:
-----------
[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type.
Need to look through the SExt/ZExt scalars to be gathered, when trying
to reduce their width after minbitwidth analysis to prevent permanent
attempts to revectorize such gathered instructions.
Commit: aa16de6399a42421076ed642c3b4f7fb12c6d44b
https://github.com/llvm/llvm-project/commit/aa16de6399a42421076ed642c3b4f7fb12c6d44b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Linker/IRMover.h
M llvm/lib/Linker/CMakeLists.txt
M llvm/lib/Linker/IRMover.cpp
A llvm/test/Linker/Inputs/strlen.ll
A llvm/test/Linker/libcalls.ll
Log Message:
-----------
[Linker] Propagate `nobuiltin` attributes when linking known libcalls (#89431)
Summary:
As discussed in
https://discourse.llvm.org/t/rfc-libc-ffreestanding-fno-builtin.
LLVM ascribes special semantics to several functions that are known to
be `libcalls`. These are functions that middle-end optimizations may
transforms calls into or perform optimizations based off of known
semantics. However, these assumptions require an opaque function call to
be known valid. In situations like LTO or IR linking it is possible to
bring a libcall definition into the current module. Once this happens,
we can no longer make any guarantees about the semantics of these
functions.
We currently attempt to solve this by preventing all inlining if the
called function has `no-builtin` https://reviews.llvm.org/D74162.
However, this is overly pessimistic as it prevents all inlining even for
non-libcall functions.
This patch modifies the IRMover class to track known libcalls enabled
for the given target. If we encounter a known libcall during IR linking,
we then need to append the `nobuiltin` attribute to the destination
module. Afterwards, all new definitions we link in will be applied as
well.
Commit: 80f9e814ec896fdc57ee84afad8ac4cb1f8e4627
https://github.com/llvm/llvm-project/commit/80f9e814ec896fdc57ee84afad8ac4cb1f8e4627
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Libomptarget] Statically link all plugin runtimes (#87009)
This patch overhauls the `libomptarget` and plugin interface. Currently,
we define a C API and compile each plugin as a separate shared library.
Then, `libomptarget` loads these API functions and forwards its internal
calls to them. This was originally designed to allow multiple
implementations of a library to be live. However, since then no one has
used this functionality and it prevents us from using much nicer
interfaces. If the old behavior is desired it should instead be
implemented as a separate plugin.
This patch replaces the `PluginAdaptorTy` interface with the
`GenericPluginTy` that is used by the plugins. Each plugin exports a
`createPlugin_<name>` function that is used to get the specific
implementation. This code is now shared with `libomptarget`.
There are some notable improvements to this.
1. Massively improved lifetimes of life runtime objects
2. The plugins can use a C++ interface
3. Global state does not need to be duplicated for each plugin +
libomptarget
4. Easier to use and add features and improve error handling
5. Less function call overhead / Improved LTO performance.
Additional changes in this plugin are related to contending with the
fact that state is now shared. Initialization and deinitialization is
now handled correctly and in phase with the underlying runtime, allowing
us to actually know when something is getting deallocated.
Depends on https://github.com/llvm/llvm-project/pull/86971
https://github.com/llvm/llvm-project/pull/86875
https://github.com/llvm/llvm-project/pull/86868
Commit: b903badd73a2467fdd4e363231f2bf9b0704b546
https://github.com/llvm/llvm-project/commit/b903badd73a2467fdd4e363231f2bf9b0704b546
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
Log Message:
-----------
[lldb] Attempt to fix signal-in-leaf-function-aarch64 on darwin
Convert settings set EXC_BAD_INSTRUCTION to SIGILL so we get uniform
behavior (and can resume the inferior).
Fix a "omitting the parameter name in a function definition is a C23
extension" warning as a drive-by.
Commit: b452b34932a3f0450026c40fb797698a6671f9a7
https://github.com/llvm/llvm-project/commit/b452b34932a3f0450026c40fb797698a6671f9a7
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
A llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
Log Message:
-----------
[DebugInfo][IndVarSimplify] Fix missing debug location updates (#91443)
Adds debug location updates for the newly created `phi`, `add`, `icmp` and `sitofp` instructions in `IndVarSimplify`.
Fixes #91436
Commit: a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
https://github.com/llvm/llvm-project/commit/a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/mutex.h
Log Message:
-----------
[libc] Remove unused variable causing build errors
Commit: d86b68afd7f0d7684adc312bcdc87f9027d0d896
https://github.com/llvm/llvm-project/commit/d86b68afd7f0d7684adc312bcdc87f9027d0d896
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/alignto_mcexpr.s
A llvm/test/MC/AMDGPU/extrasgprs_mcexpr.s
A llvm/test/MC/AMDGPU/occupancy_mcexpr.s
A llvm/test/MC/AMDGPU/totalnumvgpr_mcexpr.s
M llvm/unittests/MC/AMDGPU/CMakeLists.txt
A llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
MCExpr-ify SIProgramInfo (#88257)
Convert members in SIProgramInfo affected by variables provided by AMDGPUResourceUsageAnalysis into MCExprs.
Commit: e5e66073c3d404f4dedf1b0be160b7815ccf8903
https://github.com/llvm/llvm-project/commit/e5e66073c3d404f4dedf1b0be160b7815ccf8903
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
Revert "[Libomptarget] Statically link all plugin runtimes (#87009)"
Caused failures on build-bots, reverting to investigate.
This reverts commit 80f9e814ec896fdc57ee84afad8ac4cb1f8e4627.
Commit: e0d8dbc1dc203983243860c1fcc4698f60de37c0
https://github.com/llvm/llvm-project/commit/e0d8dbc1dc203983243860c1fcc4698f60de37c0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/opt-shuff-tstore.ll
Log Message:
-----------
[X86] opt-shuff-tstore.ll - regenerate checks
Commit: 8b400de79eff2a4fb95f06b6e4d167e65abbf448
https://github.com/llvm/llvm-project/commit/8b400de79eff2a4fb95f06b6e4d167e65abbf448
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] Enable TuningSlowDivide64 on Barcelona/Bobcat/Bulldozer/Ryzen Families (#91277)
Despite most AMD cpus having a lower latency for i64 divisions that converge early, we are still better off testing for values representable as i32 and performing a i32 division if possible.
All AMD cpus appear to have been missed when we added the "idivq-to-divl" attribute - this patch now matches Intel cpu behaviour (and the x86-64/v2/3/4 levels).
Unfortunately the difference in code scheduling means I've had to stop using the update_llc_test_checks script and just use old-fashioned CHECK-DAG checks for divl/divq pairs.
Fixes #90985
Commit: c2a87d7e032f8e6c8cbe6ab4c7cfbb7f7996ca9f
https://github.com/llvm/llvm-project/commit/c2a87d7e032f8e6c8cbe6ab4c7cfbb7f7996ca9f
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
Log Message:
-----------
[AMDGPU] Remove unused lambda capture (NFC)
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:733:30:
error: lambda capture 'Ctx' is not used [-Werror,-Wunused-lambda-capture]
auto TryGetMCExprValue = [&Ctx](const MCExpr *Value, uint64_t &Res) -> bool {
~^~~
1 error generated.
Commit: ad652efa1f65e16f5380acfba1bb132145984805
https://github.com/llvm/llvm-project/commit/ad652efa1f65e16f5380acfba1bb132145984805
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGen/aarch64-elf-pauthabi.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[AArch64][PAC][clang][ELF] Support PAuth ABI core info (#85235)
Depends on #87545
Emit PAuth ABI compatibility tag values as llvm module flags:
- `aarch64-elf-pauthabi-platform`
- `aarch64-elf-pauthabi-version`
For platform 0x10000002 (llvm_linux), the version value bits correspond
to the following LangOptions defined in #85232:
- bit 0: `PointerAuthIntrinsics`;
- bit 1: `PointerAuthCalls`;
- bit 2: `PointerAuthReturns`;
- bit 3: `PointerAuthAuthTraps`;
- bit 4: `PointerAuthVTPtrAddressDiscrimination`;
- bit 5: `PointerAuthVTPtrTypeDiscrimination`;
- bit 6: `PointerAuthInitFini`.
---------
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 6a8d30b1c1be5e46deb9b3a17915d488e1dbc470
https://github.com/llvm/llvm-project/commit/6a8d30b1c1be5e46deb9b3a17915d488e1dbc470
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
Log Message:
-----------
DAG: Skip 0 sign handling in minimum/maximum lowering for _ieee case (#91326)
dc9664a8adae17f2083fbcc8e96cfce606c56d57 changed the documentation to
assume these order -0 as less than +0.
Commit: e2d17a053edff68c9761aceb8ff8303e3e37172c
https://github.com/llvm/llvm-project/commit/e2d17a053edff68c9761aceb8ff8303e3e37172c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
Log Message:
-----------
[AMDGPU] Build lane intrinsics in a mangling-agnostic way. NFC. (#91583)
Use the form of CreateIntrinsic that takes an explicit return type and
works out the mangling based on that and the types of the arguments. The
advantage is that this still works if intrinsics are changed to have
type mangling, e.g. if readlane/readfirstlane/writelane are changed to
work on any type.
Commit: d98e3d43e7943f0440013c9f491f323bcc864aa3
https://github.com/llvm/llvm-project/commit/d98e3d43e7943f0440013c9f491f323bcc864aa3
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M bolt/include/bolt/Passes/IndirectCallPromotion.h
Log Message:
-----------
[BOLT][NFC] Apply absorption rule to boolean expression (#91540)
Fixes #91197.
Commit: ed3a60c796c2ed3c9fc59efc83856913ab5860f5
https://github.com/llvm/llvm-project/commit/ed3a60c796c2ed3c9fc59efc83856913ab5860f5
Author: Hongbin Jin <octopus.busts_0w at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv64.mir
Log Message:
-----------
[RISCV][GlobalISel] Fix selectShiftMask when shift mask is created from G_AND (#89602)
This patch fixes cases where G_AND creating the shift mask is eliminated
if one of its source operands is a constant, resulting from an incorrect
predicate.
Commit: 0c0fc9a7c6e298269871b4f1bf5fea7fa9048209
https://github.com/llvm/llvm-project/commit/0c0fc9a7c6e298269871b4f1bf5fea7fa9048209
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port d86b68afd7f0 (AMDGPUMCTests dependency mess)
Commit: c73516af10f800d0d5641651eefce128b866a155
https://github.com/llvm/llvm-project/commit/c73516af10f800d0d5641651eefce128b866a155
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[ORC] Add tests for error handling paths in suspended generators.
Test that (1) errors returned from a manually suspended generator are
propagated as expected, and (2) automatic suspension does not interfere with
our ability to resume (and return errors from) a generator.
Commit: cbf1535cc813b2f226498d974c43675832abc233
https://github.com/llvm/llvm-project/commit/cbf1535cc813b2f226498d974c43675832abc233
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
Log Message:
-----------
[ORC] Fix fall-through in error case in EPCGenericDylibManager::lookupAsync.
In the event of a serialization error (e.g. due to a network dropout) we should
only run the Complete handler once, passing the serialization error value.
No test-case: This would require a deliberately injected failure in a
remote-JIT test and we don't have the infrastructure for that at the moment.
rdar://126772381
Commit: e88ba6d975d887ca001cae30bfa0c53d91165148
https://github.com/llvm/llvm-project/commit/e88ba6d975d887ca001cae30bfa0c53d91165148
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#88266)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: 6f1013a5b3f92d3ae6e378d6706584a2a44e6964
https://github.com/llvm/llvm-project/commit/6f1013a5b3f92d3ae6e378d6706584a2a44e6964
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/mutex.h
Log Message:
-----------
[libc] Add template deduction guide for cpp::lock_guard. (#91589)
Fix ctad-maybe-unsupported warnings for `cpp::lock_guard`.
Commit: 8d2ab2a0ec168673696930ba3e3c403656cdfe55
https://github.com/llvm/llvm-project/commit/8d2ab2a0ec168673696930ba3e3c403656cdfe55
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
[OpenACC][NFC] Fix EndLoc behavior of optional clause params
It was discovered while writing the 'wait' clause ast tests that the
'endloc' wasn't set correctly when there was no arguments. This patch
ensures we set it right, and adds an assert to prevent us from messing
it up in the future.
Commit: b1b465218d1fd3e1abe9332ed9ec535c49061425
https://github.com/llvm/llvm-project/commit/b1b465218d1fd3e1abe9332ed9ec535c49061425
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
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/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] 'wait' clause for compute construct sema
'wait' takes a few int-exprs (well, a series of async-arguments, but
those are effectively just an int-expr), plus a pair of tags. This
patch adds the support for this to the AST, and does the appropriate
semantic analysis for them.
Commit: c416e43571cca78dea3ee75b2a9fec944c0c65a1
https://github.com/llvm/llvm-project/commit/c416e43571cca78dea3ee75b2a9fec944c0c65a1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-complete-test.s
Log Message:
-----------
[lld-macho] Add support for non-lazy categories to ObjC category merger (#91548)
In ObjC we can have categories that define a `+load` method that is
called when the category is loaded. In such cases, we shouldn't optimize
the category. These categories are present in the `__objc_nlcatlist`
section. So we scan these section for such categories and ignore them
from optimization.
Commit: 4ad3de901e8acfafdeb59406064f24a3c2ea27e8
https://github.com/llvm/llvm-project/commit/4ad3de901e8acfafdeb59406064f24a3c2ea27e8
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/plugin-driver-args.cpp
Log Message:
-----------
[driver][test] Only check for unused plugin options (#91522)
This fixes matching `clang: error: argument unused during compilation:
'-Werror' [-Werror,-Wunused-command-line-argument]` on AIX.
---------
Co-authored-by: Hubert Tong <hubert-reinterpretcast at users.noreply.github.com>
Commit: b54a5e7271e34530893ae374876e284a65d785d4
https://github.com/llvm/llvm-project/commit/b54a5e7271e34530893ae374876e284a65d785d4
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] port d86b68afd7f0 more
See my comments on https://github.com/llvm/llvm-project/pull/88257.
(The AMDGPU target internal depencencies were among the messiest
among all targets even before that.)
Commit: 139e0aa68dc23d2aeec05de1ae05ebf2aa5fa11e
https://github.com/llvm/llvm-project/commit/139e0aa68dc23d2aeec05de1ae05ebf2aa5fa11e
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
R clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
R llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
Revert "[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators" (#91597)
Reverts llvm/llvm-project#88266 due to test failures
error: 'expected-error' diagnostics seen but not expected:
(frontend): '-fsyntax-only' action ignored; '-emit-llvm' action
specified previously
Commit: 673cfcd03b7b938b422fee07d8ca4a127d480b1f
https://github.com/llvm/llvm-project/commit/673cfcd03b7b938b422fee07d8ca4a127d480b1f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Linker/IRMover.h
M llvm/lib/Linker/CMakeLists.txt
M llvm/lib/Linker/IRMover.cpp
R llvm/test/Linker/Inputs/strlen.ll
R llvm/test/Linker/libcalls.ll
Log Message:
-----------
Revert "[Linker] Propagate `nobuiltin` attributes when linking known libcalls (#89431)"
This apparently breaks AMDGPU offloading for unknown reasons. Reverting
for now.
This reverts commit aa16de6399a42421076ed642c3b4f7fb12c6d44b.
Commit: 846ffc7ac1a43dc83fc0ee1280a793988fae7ab0
https://github.com/llvm/llvm-project/commit/846ffc7ac1a43dc83fc0ee1280a793988fae7ab0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/test/dfsan/release_shadow_space.c
Log Message:
-----------
Disable flaky test: dfsan/release_shadow_space.c (#91493)
The current pass rate on the bot is ~50%.
https://github.com/llvm/llvm-project/issues/91287
Commit: fa9e90f5d23312587b3a17920941334e0d1a58a1
https://github.com/llvm/llvm-project/commit/fa9e90f5d23312587b3a17920941334e0d1a58a1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Reland][Libomptarget] Statically link all plugin runtimes (#87009)
This patch overhauls the `libomptarget` and plugin interface. Currently,
we define a C API and compile each plugin as a separate shared library.
Then, `libomptarget` loads these API functions and forwards its internal
calls to them. This was originally designed to allow multiple
implementations of a library to be live. However, since then no one has
used this functionality and it prevents us from using much nicer
interfaces. If the old behavior is desired it should instead be
implemented as a separate plugin.
This patch replaces the `PluginAdaptorTy` interface with the
`GenericPluginTy` that is used by the plugins. Each plugin exports a
`createPlugin_<name>` function that is used to get the specific
implementation. This code is now shared with `libomptarget`.
There are some notable improvements to this.
1. Massively improved lifetimes of life runtime objects
2. The plugins can use a C++ interface
3. Global state does not need to be duplicated for each plugin +
libomptarget
4. Easier to use and add features and improve error handling
5. Less function call overhead / Improved LTO performance.
Additional changes in this plugin are related to contending with the
fact that state is now shared. Initialization and deinitialization is
now handled correctly and in phase with the underlying runtime, allowing
us to actually know when something is getting deallocated.
Depends on https://github.com/llvm/llvm-project/pull/86971
https://github.com/llvm/llvm-project/pull/86875
https://github.com/llvm/llvm-project/pull/86868
Commit: fdede92d435068f31e7ea3a1dddb46d50343dd8c
https://github.com/llvm/llvm-project/commit/fdede92d435068f31e7ea3a1dddb46d50343dd8c
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
Log Message:
-----------
[lldb][DWARF] Sort ranges list in dwarf 5. (#91343)
Dwarf 5 says "There is no requirement that the entries be ordered in any
particular way" in 2.17.3 Non-Contiguous Address Ranges for rnglist.
Some places assume the ranges are already sorted but it's not.
For example, when [parsing function
info](https://github.com/llvm/llvm-project/blob/bc8a42762057d7036f6871211e62b1c3efb2738a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L922-L927),
it validates low and hi address of the function: GetMinRangeBase returns
the first range entry base and GetMaxRangeEnd returns the last range
end. If low >= hi, it stops parsing this function. This causes missing
inline stack frames for those functions.
This change fixes it and updates the test
`lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s` so that two
ranges in `.debug_rnglists` are out of order and `image lookup -v -s
lookup_rnglists` is still able to produce sorted ranges for the inner
block.
Commit: aa9d467abaeb440dc70b64c0f35b8d5e731f3a19
https://github.com/llvm/llvm-project/commit/aa9d467abaeb440dc70b64c0f35b8d5e731f3a19
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
Revert "[AArch64] NFC: Add RUN lines for streaming-compatible code." (#91599)
Reverts llvm/llvm-project#90617
Commit: 87235fa9af06b639d7b4b1eb7ac5840fb56cc569
https://github.com/llvm/llvm-project/commit/87235fa9af06b639d7b4b1eb7ac5840fb56cc569
Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
Log Message:
-----------
[NFC] CoroElide: Refactor `Lowerer` into `CoroIdElider` (#91539)
This patch contains no functional changes.
The main goal of this patch is to get better clarity out of the code, to
make intentions and assumptions clear.
One major design problem I had in the past were `Lowerer`. It previously
inherited from `coro::LowererBase` but it doesn't use any of the fields
or methods from `LowererBase`. It might be an artifact leftover from
previous designs of this code.
Furthermore, we should clarify that although one such instance is bound
to the function, `Lowerer` was dedicated to one `CoroId` instruction at
a time. We rely on a sequence of fragile constructs like
`CoroBegins.clear(); DestroyAddr.clear()`. This doesn't help understand
the code.
What's worse is that we have confusing calls like
`elideHeapAllocations(CoroId->getFunction(), ...` and it might get
confused with `CoroId->getCoroutine()`.
The new structure intends to make it clear that we always operate on one
`CoroId` at a time, which may have multiple `CoroBegin`s. Such structure
doesn't rely on frequent `.clear()` that's prone to miss.
Commit: fe0b7983a2f510cdede22cdf6c9227e32ded6a15
https://github.com/llvm/llvm-project/commit/fe0b7983a2f510cdede22cdf6c9227e32ded6a15
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Create AMDGPUMnemonicAlias tablegen class (#89288)
AMDGPUMnemonicAlias is a MnemonicAlias that inherits from
GCNPredicateControl, so that we can set predicates on the alias the same
way as Instructions.
Use AssemblerPredicate instead of Requires on aliases
NFC.
Commit: b1cbf4a7c3174471690e20360c2adae173608ae0
https://github.com/llvm/llvm-project/commit/b1cbf4a7c3174471690e20360c2adae173608ae0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
Log Message:
-----------
[mlir][ArmSME] Add comments in tile-spills-and-fills.mlir (#91450)
* adds comments in tile-spills-and-fills.mlir
* adds comments in ArmSMEIntrinsicOps.td
* updates test in tile-spills-and-fills.mlir not to return 2D scalable
vectors (e.g. vector<[4]x[4]xf32>) - that's not supported and not
needed for that test
Commit: aeab44d3861dbaac1eb8d68d818f432c86322759
https://github.com/llvm/llvm-project/commit/aeab44d3861dbaac1eb8d68d818f432c86322759
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
Log Message:
-----------
[NFC][clang-tidy] remove magic-numbers-todo.cpp (#91577)
This XFAIL test is written in 4 years ago and still todo.
4 is already in DefaultIgnoredIntegerValues so I do not think this XFAIL
case can be passed.
Commit: df21ee4c62e97239560485abdcc42aa340de65f7
https://github.com/llvm/llvm-project/commit/df21ee4c62e97239560485abdcc42aa340de65f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[DAG] Add clang-format off/on wrappers around compact switch handlers. NFC.
Avoids a problem identified in #90503
Commit: eb177803bfc31ea8ce784c6cf5a881a8bbce0bce
https://github.com/llvm/llvm-project/commit/eb177803bfc31ea8ce784c6cf5a881a8bbce0bce
Author: Yinying Li <yinyingli at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
Log Message:
-----------
[mlir][sparse] Change sparse_tensor.print format (#91528)
1. Remove the trailing comma for the last element of memref and add
closing parenthesis.
2. Change integration tests to use the new format.
Commit: 9e1a49cba71416d7e425eb420e86e1120199f4de
https://github.com/llvm/llvm-project/commit/9e1a49cba71416d7e425eb420e86e1120199f4de
Author: David Green <david.green at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/frem-power2.ll
A llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[AArch64][ARM] Add tests for frem power2 lowering. NFC
Commit: 937643b8e1017ce6456de0c05b1673bd9ed0800d
https://github.com/llvm/llvm-project/commit/937643b8e1017ce6456de0c05b1673bd9ed0800d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/test/support/constexpr_char_traits.h
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Fixes constexpr char_traits. (#90981)
The issue in nasty_char_traits was discovered by @StephanTLavavej who
provided
the solution they use in MSVC STL. This solution is based on that
example.
The same issue affects the constexpr_char_traits which was discovered in
https://github.com/llvm/llvm-project/pull/88389. This uses the same fix.
Fixes: https://github.com/llvm/llvm-project/issues/74221
Commit: 6c8356579b20a6522d39649bcaaaf77e8e324daf
https://github.com/llvm/llvm-project/commit/6c8356579b20a6522d39649bcaaaf77e8e324daf
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][ASan] Fix std::basic_string trait type (#91590)
Addresses the comment:
https://github.com/llvm/llvm-project/pull/79536#discussion_r1593652240
Changes the type to `void` instead of `false_type`.
The value is used here:
https://github.com/llvm/llvm-project/blob/6f1013a5b3f92d3ae6e378d6706584a2a44e6964/libcxx/include/__type_traits/is_trivially_relocatable.h#L35-L38
Commit: 2083e97e88ed13d39d9190d65696ad3866c23caa
https://github.com/llvm/llvm-project/commit/2083e97e88ed13d39d9190d65696ad3866c23caa
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
Fix VectorEmulateNarrowType asserting on scalar type vs vector type. (#91613)
Commit: 28c427e5c022634ef479a98dc46291067a8c6c96
https://github.com/llvm/llvm-project/commit/28c427e5c022634ef479a98dc46291067a8c6c96
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/data01.f90
A flang/test/Semantics/data23.f90
Log Message:
-----------
[flang] Ensure that DATA converter can cope with proc ptr error (#90973)
Multiple definitions of a procedure pointer with DATA statements should
elicit an error message, not a compiler crash.
Fixes https://github.com/llvm/llvm-project/issues/90944.
Commit: e9be1292873428a81524f200aaa5cc23b857b22e
https://github.com/llvm/llvm-project/commit/e9be1292873428a81524f200aaa5cc23b857b22e
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Fixes typo in aarch64 triple (#91622)
Use llvm::Triple:aarch64 as the little-endian triple.
Fixes commit 3e54768d7a0e1cfa65e892b6602993192ecad91e.
Commit: 41f0574c4654fb8a8cbb8c26d453f51a31cfd2a0
https://github.com/llvm/llvm-project/commit/41f0574c4654fb8a8cbb8c26d453f51a31cfd2a0
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/packoffset.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
[HLSL] reenable add packoffset in AST (#91474)
This reapplies
https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade
"[HLSL] Support packoffset attribute in AST
(https://github.com/llvm/llvm-project/pull/89836)" with a fix for the
test failure caused by missing -fnative-half-type.
Since we have to parse the attribute manually in ParseHLSLAnnotations,
we could create the ParsedAttribute with an integer offset parameter
instead of string. This approach avoids parsing the string if the offset
is saved as a string in HLSLPackOffsetAttr.
For #57914
Commit: d0bafb5435d5ebd90cdf965a9b35bdfa05dde23b
https://github.com/llvm/llvm-project/commit/d0bafb5435d5ebd90cdf965a9b35bdfa05dde23b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for zext.w/h interaction with shift transforms
Two cases where folding the and (which could be a zext.w) through
shifts in generic DAG result in net worse code quality. And one
negative case where keeping a zext.h would result in a longer
critical path.
Commit: 8ed7ea08962bb878d31052c15e811d1a6cda0f07
https://github.com/llvm/llvm-project/commit/8ed7ea08962bb878d31052c15e811d1a6cda0f07
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile17.f90
A flang/test/Semantics/pdt03.f90
Log Message:
-----------
[flang] Defer conversion of PDT default initializers (#91026)
As the kinds of the integer types of type parameters may well depend on
the values of other type parameters, defer the attempt to convert their
values to the point of type instantiation instead of doing it during
declaration processing.
Commit: 4c3db2588e8b38f75744def6e2dd17c556950e46
https://github.com/llvm/llvm-project/commit/4c3db2588e8b38f75744def6e2dd17c556950e46
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
A mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul.mlir
Log Message:
-----------
[mlir][linalg] Block pack matmul pass (#89782)
Pack a matmul MxNxK operation into 4D blocked layout. Any present batch
dimensions remain unchanged and the result is unpacked back to the
original layout.
Matmul block packing splits the operands into major blocks (outer
dimensions) and minor blocks (inner dimensions). The desired block
layout can be controlled through packing options.
Commit: 317e6ff6290c4c3065cb79c3eaf52f171e40cdfd
https://github.com/llvm/llvm-project/commit/317e6ff6290c4c3065cb79c3eaf52f171e40cdfd
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
Log Message:
-----------
[NFC] Move parameter into field (#91065)
Fixes #89194.
Commit: e1f279e92ddda4e4fdd6fff165b950d0879fa41e
https://github.com/llvm/llvm-project/commit/e1f279e92ddda4e4fdd6fff165b950d0879fa41e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/FPUtil/FMA.h
R libc/src/__support/FPUtil/aarch64/FMA.h
R libc/src/__support/FPUtil/gpu/FMA.h
R libc/src/__support/FPUtil/riscv/FMA.h
R libc/src/__support/FPUtil/x86_64/FMA.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use __builtin_fma(f) by default if LIBC_TARGET_CPU_HAS_FMA is defined. (#91535)
Commit: ecae3ed958481cba7d60868cf3504292f7f4fdf5
https://github.com/llvm/llvm-project/commit/ecae3ed958481cba7d60868cf3504292f7f4fdf5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
Log Message:
-----------
[LAA] Apply loop guards to dependence distance.
After supporting non-constant dependence distances in 933f49248bf,
applying information from loop guards can help further disambiguate
dependencies.
Commit: 785b143a402a282822c3d5e30bb4e2b1980c0b1e
https://github.com/llvm/llvm-project/commit/785b143a402a282822c3d5e30bb4e2b1980c0b1e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
M lldb/examples/python/crashlog_scripted_process.py
Log Message:
-----------
[lldb/crashlog] Enforce image loading policy (#91109)
In `27f27d1`, we changed the image loading logic to conform to the
various options (`-a|--load-all` & `-c|--crashed-only`) and loaded them
concurrently.
However, instead of the subset of images that matched the user option,
the thread pool would always run on all the crashlog images, causing
them to be all loaded in the target everytime.
This matches the `-a|--load-all` option behaviour but depending on the
report, it can cause lldb to load thousands of images, which can take a
very long time if the images are downloaded over the network.
This patch fixes that issue by keeping a list of `images_to_load` based
of
the user-provided option. This list will be used with our executor
thread pool to load the images according to the user selection, and
reinstates
the expected default behaviour, by only loading the crashed thread
images and
skipping all the others.
This patch also unifies the way we load images into a single method
that's shared by both the batch mode & the interactive scripted process.
rdar://123694062
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 22c59e01cd2f87164301415c93b60fc3c204dfb8
https://github.com/llvm/llvm-project/commit/22c59e01cd2f87164301415c93b60fc3c204dfb8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/array-constr-index01.f90
Log Message:
-----------
[flang] Don't crash on bad inherited implied DO type (#91073)
Fortran has an ambiguously defined rule about the typing of index
variables of implied DO loops in DATA statements and array constructors
that omit an explicit type specification. Such indices have the type
that they would have "if they were variables" in the innermost enclosing
scope. Although this could, and perhaps should, be read to mean that
implicit typing rules active in that innermost enclosing scope should be
applied, every other Fortran compiler interprets that language to mean
that if there is a type declaration for that name that is visible from
the enclosing scope, it is applied, and it is an error if that type is
not integer.
Fixes https://github.com/llvm/llvm-project/issues/91053.
Commit: 8585bf7542f1098bd03a667a408d42d2a815d305
https://github.com/llvm/llvm-project/commit/8585bf7542f1098bd03a667a408d42d2a815d305
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Update incorrect help message for `--no-crashed-only` option (#91162)
This patch rephrases the crashlog `--no-crashed-only` option help
message. This option is mainly used in batch mode to symbolicate and
dump all the threads backtraces, instead of only doing it for the
crashed thread which is the default behavior.
rdar://127391524
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b9e3fa84d3fdfe718a4a3085f7adeda3d81f2568
https://github.com/llvm/llvm-project/commit/b9e3fa84d3fdfe718a4a3085f7adeda3d81f2568
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb][enums] Remove broadcast bits from debugger (#91618)
Removes the debugger broadcast bits from `Debugger.h` and instead uses
the enum from `lldb-enumerations.h` and adds the
`eBroadcastSymbolChange` bit to the enum in `lldb-enumerations.h`. This fixes a bug wherein the incorrect broadcast bit could be referenced due both of these enums previously existing and being out-of-sync with each other.
Commit: 7c1b2898302c9f84fa43952f746d79817e1ead40
https://github.com/llvm/llvm-project/commit/7c1b2898302c9f84fa43952f746d79817e1ead40
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/program-parsers.cpp
Log Message:
-----------
[flang] Accept compiler directives between module subprograms (#91230)
Parse and represent compiler directives in a modules
module-subprogram-part between the module subprograms.
Commit: b3a835e129ed8a67cf393f9ee26989b36a3eff1c
https://github.com/llvm/llvm-project/commit/b3a835e129ed8a67cf393f9ee26989b36a3eff1c
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
Log Message:
-----------
[lldb] Verify target stop-hooks support with scripted process (#91107)
This patch makes sure that scripted process are compatible with target
stop-hooks. This wasn't tested in the past, but it turned out to be
working out of the box.
rdar://124396534
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 98c1ba460a697110c64f6d1dd362dcf7088a13ca
https://github.com/llvm/llvm-project/commit/98c1ba460a697110c64f6d1dd362dcf7088a13ca
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[InstrProf] Add vtables with type metadata into symtab (#81051)
The indirect-call-promotion pass will look up the vtable to find out
the virtual function [1],
and add vtable-derived information in icall
candidate [2] for cost-benefit analysis.
[1] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR395-R416
[2] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR195-R199
Commit: 7b25ddc559fad078b605c7b3c0d9f4a35a973a52
https://github.com/llvm/llvm-project/commit/7b25ddc559fad078b605c7b3c0d9f4a35a973a52
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Don't crash in expression analysis after detecting error (#91234)
Avoid calling GetArguments() if a fatal error has been detected.
Fixes https://github.com/llvm/llvm-project/issues/91114.
Commit: bce3132cd26c9546a7429da534aed332f4d05d27
https://github.com/llvm/llvm-project/commit/bce3132cd26c9546a7429da534aed332f4d05d27
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipProjects.csv
Log Message:
-----------
[libc++][doc] Updates Spaceship status page.
The completed chrono parts no longer need an implementation.
Commit: d742c2aa25226c2b48f3917ed86a5a224cf25734
https://github.com/llvm/llvm-project/commit/d742c2aa25226c2b48f3917ed86a5a224cf25734
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/test/Semantics/equivalence01.f90
Log Message:
-----------
[flang] Move EQUIVALENCE object checking to check-declarations.cpp (#91259)
Move EQUIVALENCE object checking from resolve-names-utils.cpp to
check-declarations.cpp, where it can work on fully resolved symbols and
reduce clutter in name resolution. Add a check for EQUIVALENCE objects
that are not ObjectEntityDetails symbols so that attempts to equivalence
a procedure are caught.
Commit: 5ad418b55c167fbdce31b92467e90eb3a03d85ce
https://github.com/llvm/llvm-project/commit/5ad418b55c167fbdce31b92467e90eb3a03d85ce
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
Remove stale TODO comment
Commit: 90501be35b2c4ad314a45634062e0dfe878d8621
https://github.com/llvm/llvm-project/commit/90501be35b2c4ad314a45634062e0dfe878d8621
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve85.f90
Log Message:
-----------
[flang] Accept interoperable types without BIND(C) (#91363)
A derived type that meets (most of) the requirements of an interoperable
type but doesn't actually have the BIND(C) attribute can be accepted as
an interoperable type, with optional warnings.
Commit: 8fd838a8c499b4ce2822d51d1c661058ccc08c7d
https://github.com/llvm/llvm-project/commit/8fd838a8c499b4ce2822d51d1c661058ccc08c7d
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
Log Message:
-----------
[RISC-V] Limit vscale interleaving to addrspace 0. (#91573)
The vlseg and vsseg intrinsic functions are not overloaded on pointer
type, so cannot handle non-default address spaces.
This fixes an error we see after #90583.
Commit: c3d2af0f4e180e67c4c5dd0f83bed1ea226f4565
https://github.com/llvm/llvm-project/commit/c3d2af0f4e180e67c4c5dd0f83bed1ea226f4565
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] VPEVLBasedIVPHI is a VPSingleDefRecipe.
VPEVLBasedIVPHIRecipe inherits from VPSingleDefRecipe. Add
VPEVLBasedIVPHISC to VPSingleDefRecipe::classof to make isa/dyn_cast &
co work as expected.
Split off https://github.com/llvm/llvm-project/pull/67934.
Commit: b942c24845a39e6161c8623b1efc4e2083d879e9
https://github.com/llvm/llvm-project/commit/b942c24845a39e6161c8623b1efc4e2083d879e9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/data-to-inits.cpp
Log Message:
-----------
[flang] Don't crash on not-yet-implemented feature (#91368)
A procedure pointer can be initialized in a DATA statement, but
semantics crashes if the initializer is the name of an intrinsic
function. This patch fixes that crash so that compilation survives to
the point where lowering admits that it doesn't yet support the feature.
Addresses https://github.com/llvm/llvm-project/issues/91295.
Commit: 19b41f40a4b93a6243c816b80b6e664a4418f79f
https://github.com/llvm/llvm-project/commit/19b41f40a4b93a6243c816b80b6e664a4418f79f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
Log Message:
-----------
[flang] Complete RESULT() name constraint checking (#91476)
There are two constraints in the language that prohibit the use of an
ENTRY name being used as the RESULT() variable of the function or
another ENTRY name in the same function's scope; neither can the name of
the function be used as the RESULT() of an ENTRY.
Move most of the existing partial enforcement of these constraints from
name resolution into declaration checking, complete it, and add more
cases to the tests.
Commit: a51d92a44740fd1b17930de183c9ad6d993029b1
https://github.com/llvm/llvm-project/commit/a51d92a44740fd1b17930de183c9ad6d993029b1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/stmt-func01.f90
Log Message:
-----------
[flang] Fix crash in semantics on error case (#91482)
An erroneous statement function declaration exposed an unhandled
situation in a utility routine in semantics. Patch that hole and add a
test.
Fixes https://github.com/llvm/llvm-project/issues/91429.
Commit: dcf92a249233cab103f848dd12e96e0d642a8899
https://github.com/llvm/llvm-project/commit/dcf92a249233cab103f848dd12e96e0d642a8899
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A clang/test/CXX/dcl/dcl.init/aggr.cpp
Log Message:
-----------
[clang][NFC] Add examples from [dcl.init.aggr] to C++ conformance tests (#91435)
This patch adds examples from 2024-04-22 draft of
[[dcl.init.aggr]](http://eel.is/c++draft/dcl.init.aggr) to C++
conformance tests. Testing is done via constant evaluation and static
asserts. As far as I can see, the rest of the conformance suite is
typically testing the latest language mode at the time of writing (with
a notable exception of defect report tests), so I'm also testing in the
latest language mode.
Commit: d36b4abb51a9f84d436f184581b15021fdf22114
https://github.com/llvm/llvm-project/commit/d36b4abb51a9f84d436f184581b15021fdf22114
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Rework liblldb (#91549)
Previously we were linking liblldb as a shared library, but also linking
the contents into the lldb binary. This is invalid and results in subtle
runtime issues because of duplicate constants, like the global plugin
registry. This now links the dylib to lldb directly. This requires we
switch to cc_binary instead because cc_shared_library expects your
library to export all symbols in your transitive dependency tree, where
we only want to export lldb symbols.
Commit: 75ebcbf24abb2e5b045ec920bc86f667516e4cc6
https://github.com/llvm/llvm-project/commit/75ebcbf24abb2e5b045ec920bc86f667516e4cc6
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Revert changes to operator= lookup in templated classes from #91498, #90999, and #90152 (#91620)
This reverts changes in #91498, #90999, and #90152 which make
`operator=` dependent whenever the current class is templated.
Commit: 8ac928fea8d561261133e0337a2777fcda99f7ba
https://github.com/llvm/llvm-project/commit/8ac928fea8d561261133e0337a2777fcda99f7ba
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
[libc][NFC] adjust time related implementations (#91485)
Commit: ddad7c3c84a8706ad539f1a69660a31a00b411a2
https://github.com/llvm/llvm-project/commit/ddad7c3c84a8706ad539f1a69660a31a00b411a2
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[AArch64] add some more tests for FMV (#91490)
Add a couple of tests to make it clear:
- when FMV should be enabled and disabled by the driver.
- which extensions are enabled/disabled based on the dependencies
specified in TargetParser.
Commit: f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
https://github.com/llvm/llvm-project/commit/f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix module binary resolution (#91631)
This patch fixes a bug in when resolving and loading modules from the
binary image list.
When loading a module, we would first use the UUID from the binary image
list with `dsymForUUID` to fetch the dSYM bundle from our remote build
records and copy the executable locally.
If we failed to find a matching dSYM bundle for that UUID on the build
record, let's say if that module was built locally, we use Spotlight
(`mdfind`) to find the dSYM bundle once again using the UUID.
Prior to this patch, we would set the image path to be the same as the
symbol file. This resulted in trying to load the dSYM as a module in
lldb, which isn't allowed.
This patch address that by looking for a binary matching the image
identifier, next to the dSYM bundle and try to load that instead.
rdar://127433616
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 639a740035b732e9bc0f43f3f95d1ce3acf82e1b
https://github.com/llvm/llvm-project/commit/639a740035b732e9bc0f43f3f95d1ce3acf82e1b
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64] move extension information into tablgen (#90987)
Generate TargetParser extension information from tablegen. This includes FMV extension information. FMV only extensions are represented by a separate tablegen class.
Use MArchName/ArchKindEnumSpelling to avoid renamings.
Cases where there is simply a case difference are handled by
consistently uppercasing the AEK_ name in the emitted code.
Remove some Extensions which were not needed.
These had AEK entries but were never actually used for anything.
They are not present in Extensions[] data.
Commit: 99f45b4c5b67cccb7845580a67b42776f49ef0e2
https://github.com/llvm/llvm-project/commit/99f45b4c5b67cccb7845580a67b42776f49ef0e2
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix new CodeGen dep (#91654)
```
.../AMDGPUUtilsAndDesc/AMDGPUCallLowering.h:17:10: fatal error: 'llvm/CodeGen/GlobalISel/CallLowering.h' file not found
```
https://buildkite.com/llvm-project/upstream-bazel/builds/97166
Commit: db9421381980cdf3d6914f8898a77d3237325019
https://github.com/llvm/llvm-project/commit/db9421381980cdf3d6914f8898a77d3237325019
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix test failure when creating a target using command options (#91653)
This should fix the various crashlog test failures on the bots:
```
lldb-shell :: ScriptInterpreter/Python/Crashlog/app_specific_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_json.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_legacy.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/last_exception_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/skipped_status_interactive_crashlog.test
```
When we create a target by using the command option, we don't set it in
the crashlog object which later on cause us to fail loading the images.
rdar://127832961
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: ca3917538de1deeb0e51f11fbdbe295b6d3768d1
https://github.com/llvm/llvm-project/commit/ca3917538de1deeb0e51f11fbdbe295b6d3768d1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangOffloadBundler] make hipv4 and hip compatible (#91637)
The distinction between the hip and hipv4 offload kinds is historically
based. Originally, these designations might have indicated different
versions of the code object ABI (Application Binary Interface). However,
as the system has evolved, the ABI version is now embedded directly
within the code object itself, making these historical distinctions
irrelevant during the unbundling process. Consequently, hip and hipv4
are treated as compatible in current implementations, facilitating
interchangeable handling of code objects without differentiation based
on offload kind. This change streamlines code management within the
ecosystem.
Commit: 5a0e0b659fb5c652c66a083224bf300b4ae32452
https://github.com/llvm/llvm-project/commit/5a0e0b659fb5c652c66a083224bf300b4ae32452
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
R libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/clock_t.h
R libc/hdr/types/clockid_t.h
R libc/hdr/types/struct_timeval.h
R libc/hdr/types/suseconds_t.h
R libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
R libc/src/__support/time/CMakeLists.txt
R libc/src/__support/time/clock_gettime.h
R libc/src/__support/time/linux/CMakeLists.txt
R libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
A libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Revert "[libc][NFC] adjust time related implementations" (#91657)
Reverts llvm/llvm-project#91485. It breaks GPU and fuchisa.
Commit: dfff57e751f6bae12172a1a246e1f8b33db042f8
https://github.com/llvm/llvm-project/commit/dfff57e751f6bae12172a1a246e1f8b33db042f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add isel special case for (and (shl X, c2), c1) -> (slli_uw (srli x, c3-c2), c3). (#91638)
Where c1 is a shifted mask with 32 set bits and c3 trailing zeros.
Commit: a3457369cd12b093185a5bda3443e08a4390f3ed
https://github.com/llvm/llvm-project/commit/a3457369cd12b093185a5bda3443e08a4390f3ed
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[Orc] Fix `-Wsign-compare` warnings in unittest
Multiple compares against `LookupsCompleted`, which is effectively an
unsigned long, with constant signed integer were throwing -Wsign-compare
warnings.
This is effectively NFC.
Commit: 8466480bdad9d1ef858329ec51cd910c419036a0
https://github.com/llvm/llvm-project/commit/8466480bdad9d1ef858329ec51cd910c419036a0
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[ProfData] Remove unused variable in unittest
Removed unused `VTables` in unittests/ProfileData/InstrProfTest.cpp.
NFC.
Commit: 04ce10357b485e5e03480b1ca2e91e75c50b1fef
https://github.com/llvm/llvm-project/commit/04ce10357b485e5e03480b1ca2e91e75c50b1fef
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
Log Message:
-----------
[mlir][SCF] Avoid generating unnecessary div/rem operations during coalescing (#91562)
When coalescing is some of the loops are unit-trip we can avoid
generating div/rem instructions during delinearization. Ideally we could
use some thing like `affine.delinearize` to handle this but tthat causes
dependence issues.
Commit: ba66dfb11bcaef5e0dc21358b3712b491d61d020
https://github.com/llvm/llvm-project/commit/ba66dfb11bcaef5e0dc21358b3712b491d61d020
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning: invalid escape sequence \[ \d \s (#91146)
Reproduced with Python 3.12.3
Commit: 5d51db75e46155d0f3d70cf3253d3b075cfcf93a
https://github.com/llvm/llvm-project/commit/5d51db75e46155d0f3d70cf3253d3b075cfcf93a
Author: asraa <asraa at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[mlir][affine] Use alias analysis to redetermine intervening memory effects in affine-scalrep (#90859)
This fixes a TODO to use alias analysis to determine whether a read op
intervenes between two write operations to the same memref.
Signed-off-by: Asra <asraa at google.com>
Commit: a99cb96dfa97c04c3313cb3770b876fee20eb131
https://github.com/llvm/llvm-project/commit/a99cb96dfa97c04c3313cb3770b876fee20eb131
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow trivial operator++ (#91102)
This PR adds the support for trivial operator++ implementations. T&
operator++() and T operator++(int) are trivial if the callee is trivial.
Also allow incrementing and decrementing of a POD member variable.
Also treat any __builtin_ functions as trivial.
Commit: 8a3277acbc7b7af917f570f7d6430dda41c4d9ee
https://github.com/llvm/llvm-project/commit/8a3277acbc7b7af917f570f7d6430dda41c4d9ee
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f32.store_f16 instruction. (#91545)
Adds a builtin and intrinsic for the f32.store_f16 instruction.
The instruction stores an f32 value as an f16 memory. Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f32.store_f16 as opcode 0xFD0121, but this is
incorrect and will be changed to 0xFC31 soon.
Commit: 1e97d114b5b2b522de7e0aa9c950199de0798d53
https://github.com/llvm/llvm-project/commit/1e97d114b5b2b522de7e0aa9c950199de0798d53
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/test/tools/dsymutil/ARM/empty-map.test
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Add -q/--quiet flag to suppress warnings (#91658)
Add a -q/--quiet flag to suppress dsymutil output. For now the flag is
limited to dsymutil, though there might be other places in the DWARF
linker that could be conditionalized by this flag.
The motivation is having a way to silence the "no debug symbols in
executable" warning. This is useful when we want to generate a dSYM for
a binary not containing debug symbols, but still want a dSYM that can be
indexed by spotlight.
rdar://127843467
Commit: 95f208f97e709139c3ecbce552bcf1e34b9fcf12
https://github.com/llvm/llvm-project/commit/95f208f97e709139c3ecbce552bcf1e34b9fcf12
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] Unify CalculateMD5 return types (#91029)
This is a retake of https://github.com/llvm/llvm-project/pull/90921
which got reverted because I forgot to modify the CalculateMD5 unit test
I had added in https://github.com/llvm/llvm-project/pull/88812
The prior failing build is here:
https://lab.llvm.org/buildbot/#/builders/68/builds/73622
To make sure this error doesn't happen, I ran `ninja
ProcessGdbRemoteTests` and then executed the resulting test binary and
observed the `CalculateMD5` test passed.
# Overview
In my previous PR: https://github.com/llvm/llvm-project/pull/88812,
@JDevlieghere suggested to match return types of the various calculate
md5 functions.
This PR achieves that by changing the various calculate md5 functions to
return `llvm::ErrorOr<llvm::MD5::MD5Result>`.
The suggestion was to go for `std::optional<>` but I opted for
`llvm::ErrorOr<>` because local calculate md5 was already possibly
returning `ErrorOr`.
To make sure I didn't break the md5 calculation functionality, I ran
some tests for the gdb remote client, and things seem to work.
# Testing
1. Remote file doesn't exist
![image](https://github.com/llvm/llvm-project/assets/1326275/b26859e2-18c3-4685-be8f-c6b6a5a4bc77)
1. Remote file differs
![image](https://github.com/llvm/llvm-project/assets/1326275/cbdb3c58-555a-401b-9444-c5ff4c04c491)
1. Remote file matches
![image](https://github.com/llvm/llvm-project/assets/1326275/07561572-22d1-4e0a-988f-bc91b5c2ffce)
## Test gaps
Unfortunately, I had to modify
`lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp` and I
can't test the changes there. Hopefully, the existing test suite / code
review from whomever is reading this will catch any issues.
Commit: f893dccbba372792e7e7095d741f98a234654875
https://github.com/llvm/llvm-project/commit/f893dccbba372792e7e7095d741f98a234654875
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/JumpThreading/thread-two-bbs.ll
Log Message:
-----------
Replace uses of ConstantExpr::getCompare. (#91558)
Use ICmpInst::compare() where possible, ConstantFoldCompareInstOperands
in other places. This only changes places where the either the fold is
guaranteed to succeed, or the code doesn't use the resulting compare if
we fail to fold.
Commit: f865dbff17ca516d605b053d5556c1498c300a42
https://github.com/llvm/llvm-project/commit/f865dbff17ca516d605b053d5556c1498c300a42
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Support GEP reordering for different types (#90802)
This doesn't show up in existing lit tests, but has an impact on real
code -- especially after the canonicalization of GEPs to i8.
Alive2 tests for the inbounds handling:
Case 1: https://alive2.llvm.org/ce/z/6bfFY3
Case 2: https://alive2.llvm.org/ce/z/DkLMLF
Commit: e4763ca83b90eed96be6fd83a9867e435f4b8ffe
https://github.com/llvm/llvm-project/commit/e4763ca83b90eed96be6fd83a9867e435f4b8ffe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/lit.common.cfg.py
A llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[ctx_profile] Pull `ContextNode` in a `.inc` file (#91669)
This pulls out `ContextNode` as we need to use it pretty much as-is to implement a writer. The writer will be implemented on the LLVM side because it takes a dependency on BitStreamWriter.
Since we can't reuse a header between compiler-rt and llvm, we use a header file which is copied on both sides, and test that the 2 copies are identical.
The changes adds the necessary other stuff for compiler-rt/ctx_profile testing.
Commit: 0fd017ce43875283ecce55f18f721f47ba37a920
https://github.com/llvm/llvm-project/commit/0fd017ce43875283ecce55f18f721f47ba37a920
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
R llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[nfc][ctx_profile] Move `CtxInstrContextNode.h` in `include`
Follow-up from PR #91669.
Commit: db78ee0cb82669302a5e0f18a15fd53346a73823
https://github.com/llvm/llvm-project/commit/db78ee0cb82669302a5e0f18a15fd53346a73823
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho] Fix address sanitizer for category merging (#91680)
FIxing the address sanitizer issue reported in
https://github.com/llvm/llvm-project/pull/91548 .
The problem comes from the assignment `auto bodyData = newSectionData`
which defaults to `SmallVector<uint8_t> data = newSectionData` - which
actually creates a copy of the data, placed on the stack.
By explicitly using `ArrayRef` instead, we make sure that the original
copy is used.
We also change the assignment in `ObjcCategoryMerger::newStringData`
from `auto` to `SmallVector<uint8_t> &` to make it explicit.
Commit: d24eaef92525d03b4b64c7b4acd07197bdfb57cc
https://github.com/llvm/llvm-project/commit/d24eaef92525d03b4b64c7b4acd07197bdfb57cc
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Sink vector select splat operands (#91554)
vmerge.vxm allows us to splat the true operand of a select, so sink it
where possible to reduce vector register pressure.
Commit: 427beff2ad274f38f9de682f48f550cdcf5fc505
https://github.com/llvm/llvm-project/commit/427beff2ad274f38f9de682f48f550cdcf5fc505
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add `private` clause to `omp.target` (#91202)
Commit: e069bb7fd85b69abded27b44f33bf40a522ab9b6
https://github.com/llvm/llvm-project/commit/e069bb7fd85b69abded27b44f33bf40a522ab9b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in RISCVISAInfo::updateCombination. NFC
hasExtension check isSupportedExtension before the map lookup. All
of the extensions we check for in updateCombination should be valid
extension names so we can bypass that to save some time.
Commit: 0d31ac8893c382117abfb238f52c9736b2a38a8d
https://github.com/llvm/llvm-project/commit/0d31ac8893c382117abfb238f52c9736b2a38a8d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows: Remove top-level permissions from release-tasks.yml (#91088)
This is the recommend best practice and we also don't need write access
for all jobs.
Commit: 720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
https://github.com/llvm/llvm-project/commit/720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-doxygen.yml
Log Message:
-----------
workflows: Fix missing GITHUB_TOKEN in release-doxygen.yml upload step (#91091)
We were accidentally setting the GITHUB_TOKEN environment variable in
the previous step.
Commit: 181e2e8fb9efe6e8f3f7fc094516f125659b687c
https://github.com/llvm/llvm-project/commit/181e2e8fb9efe6e8f3f7fc094516f125659b687c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[nfc][memprof] Add missing license to `MemProfTest` (#91695)
Commit: 21be8182239a9c87a50071d122d5532037fd8305
https://github.com/llvm/llvm-project/commit/21be8182239a9c87a50071d122d5532037fd8305
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[analyzer] Support determining origins in a conditional operator in WebKit checkers. (#91143)
This PR adds the support for determining the origin of a pointer in a
conditional operator.
Because such an expression can have two distinct origins each of which
needs to be visited, this PR refactors tryToFindPtrOrigin to take a
callback instead of returning a pair.
The callback is called for the second operand and the third operand of
the conditioanl operator (i.e. E2 and E3 in E1 ? E2 : E3).
Also treat nullptr and integer literal as safe pointer origins in the
local variable checker.
Commit: 2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
https://github.com/llvm/llvm-project/commit/2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
Log Message:
-----------
[AMDGPU] Move LDS utilities from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils (#88002)
This moves some of the utility methods from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils.
Commit: 87f3407856e61a73798af4e41b28bc33b5bf4ce6
https://github.com/llvm/llvm-project/commit/87f3407856e61a73798af4e41b28bc33b5bf4ce6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694)
Commit: 06ad86361ab29d344a5e2e22903c2739743c77be
https://github.com/llvm/llvm-project/commit/06ad86361ab29d344a5e2e22903c2739743c77be
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[NFC] Prefer `str.resize(len)` over `str.substr(0, len)` (#91067)
Commit: 135d92f903161e66ff82ab846acfbc5015ef3096
https://github.com/llvm/llvm-project/commit/135d92f903161e66ff82ab846acfbc5015ef3096
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Driver] Use StringRef::operator== instead of StringRef::equals (NFC) (#91698)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
13 under clang/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
https://github.com/llvm/llvm-project/commit/e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
Log Message:
-----------
[ORC] Fix another error fall-through in EPCGenericDylibManager::lookupAsync.
The early return added in this commit should have been added in cbf1535cc81.
No test-case: This would require a deliberately injected failure in a
remote-JIT test and we don't have the infrastructure for that at the moment.
rdar://126772381
Commit: 0ebe48f068c0ca69f76ed68b621c9294acd75f76
https://github.com/llvm/llvm-project/commit/0ebe48f068c0ca69f76ed68b621c9294acd75f76
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vaadd.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vasub.ll
M llvm/test/CodeGen/RISCV/rvv/vasubu.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vnclip.ll
M llvm/test/CodeGen/RISCV/rvv/vnclipu.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Move RISCVInsertVSETVLI after CSR/VXRM passes (#91701)
This further splits off #91440 to inch RISCVInsertVSETVLI closer to post
vector regalloc.
As noted in #91440, most of the diffs are from moving vsetvli insertion
after the vxrm/csr insertion passes, but these are getting conflated
with the changes from moving to LiveIntervals.
One idea was that we could try and remove some of these diffs by
manually moving back the vsetvlis past the vxrm/csr instructions. But
this meant having to touch up the LiveIntervals again which seemed to
lead to even more diffs.
This instead just moves RISCVInsertVSETVLI after RISCVInsertReadWriteCSR
and RISCVInsertWriteVXRM so we can isolate those changes.
Commit: 5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
https://github.com/llvm/llvm-project/commit/5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/unittests/Symbol/TestType.cpp
Log Message:
-----------
[lldb] Improve type name parsing (#91586)
Parsing of '::' scopes in TypeQuery was very naive and failed for names
with '::''s in template arguments. Interestingly, one of the functions
it was calling (Type::GetTypeScopeAndBasename) was already doing the
same thing, and getting it (mostly (*)) right. This refactors the
function so that it can return the scope results, fixing the parsing of
names like std::vector<int, std::allocator<int>>::iterator.
Two callers of GetTypeScopeAndBasename are deleted as the functions are
not used (I presume they stopped being used once we started pruning type
search results more eagerly).
(*) This implementation is still not correct when one takes c++
operators into account -- e.g., something like `X<&A::operator<>::T` is
a legitimate type name. We do have an implementation that is able to
handle names like these (CPlusPlusLanguage::MethodName), but using it is
not trivial, because it is hidden in a language plugin and specific to
method name parsing.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 2dbe89d15046bedcc36a5de1242e20aa91a5e598
https://github.com/llvm/llvm-project/commit/2dbe89d15046bedcc36a5de1242e20aa91a5e598
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement __reference_converts_from_temporary (#91199)
This completes the required language support for P2255R2.
Commit: 7e52ad3b5b9509d0873965e8492ab01141342822
https://github.com/llvm/llvm-project/commit/7e52ad3b5b9509d0873965e8492ab01141342822
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
Log Message:
-----------
Fix a warning for #91455 [-Wc++20-extensions]
Commit: 2a61eebc66c0903cf3834a520b1f975ac3cdf92b
https://github.com/llvm/llvm-project/commit/2a61eebc66c0903cf3834a520b1f975ac3cdf92b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
Log Message:
-----------
Cleanup asserts in BranchParameters and DecisionParameters
Commit: 6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
https://github.com/llvm/llvm-project/commit/6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Drop a redundant clang::format::
Commit: 6aac30fa43f094ac25269bda163dc89a88cb8da7
https://github.com/llvm/llvm-project/commit/6aac30fa43f094ac25269bda163dc89a88cb8da7
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
Log Message:
-----------
Update FEAT_PAuth_LR behaviour for AArch64 (#90614)
Currently, LLVM enables `-mbranch-protection=standard` as `bti+pac-ret`.
To align LLVM with the behaviour in GNU, this has been updated to
`bti+pac-ret+pc` when FEAT_PAuth_LR is enabled as an optional feature
via the `-mcpu=` options. If this is not enabled, then this will revert
to the existing behaviour.
Commit: 5d24217c2c1c06358168cae65d3ff8632b28cd7d
https://github.com/llvm/llvm-project/commit/5d24217c2c1c06358168cae65d3ff8632b28cd7d
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/fseparate-named-sections.c
Log Message:
-----------
[Clang] Pass -fseparate-named-sections from the driver (#91567)
This is a follow up to #91028.
Commit: a76518cadc5eaa6b6d07334e2b5bc08382aabe49
https://github.com/llvm/llvm-project/commit/a76518cadc5eaa6b6d07334e2b5bc08382aabe49
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Return address class map changes from symbol table parsing methods (#91585)
Instead of updating the member of the ObjectFileELF instance. This means
that if one object file asks another to parse the symbol table, that
first object's can update its address class map with the same changes
that the other object did.
(I'm not returning a reference to the other object's m_address_class_map
member because there may be other things in there not related to the
symbol table being parsed)
This will fix the code added in
https://github.com/llvm/llvm-project/pull/90622 which broke the test
`Expr/TestStringLiteralExpr.test` on 32 bit Arm Linux.
This happened because we had the program file, then asked for a better
object file, which returned the same program file again. This creates a
second ObjectFileELF for the same file, so when we tell the second
instance to parse the symbol table it actually calls into the first
instance, leaving the address class map of the second instance empty.
Which caused us to put an Arm breakpoint instuction at a Thumb return
address and broke the ability to call mmap.
Commit: 23b673e5b4b73b42864fcd7d63c1e974317ed4d6
https://github.com/llvm/llvm-project/commit/23b673e5b4b73b42864fcd7d63c1e974317ed4d6
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[DAG][AArch64] Handle vscale addressing modes in reassociationCanBreakAddressingModePattern (#89908)
reassociationCanBreakAddressingModePattern tries to prevent bad add
reassociations that would break adrressing mode patterns. This adds
support for vscale offset addressing modes, making sure we don't break
patterns that already exist. It does not optimize _to_ the correct
addressing modes yet, but prevents us from optimizating _away_ from
them.
Commit: e6d29be566d19a6558597ed1ede4783e85485749
https://github.com/llvm/llvm-project/commit/e6d29be566d19a6558597ed1ede4783e85485749
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[clang] fix FMV test for Win x Arm builds (#91490)
Commit: 641949654910a533076e35517d084e2961adbdfa
https://github.com/llvm/llvm-project/commit/641949654910a533076e35517d084e2961adbdfa
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A flang/test/Integration/debug-loc-1.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[flang][OMPIRBuilder] Keep debug location in sync with insert point. (#89953)
A customer reported an issue which I have reduced to the test in the PR.
If built with debug info enabled, the build fails with the following
error in the verifier.
!dbg attachment points at wrong subprogram for function
The problem happened because some of the functions in OMPIRBuilder.cpp
updated the insertion point with the passed in location but did not
change the current debug location. This caused a stale debug location to
be attached to the instruction.
I have solved it by replacing restoreIP with updateToLocation which
updates both the insertion point and debug location. The
updateToLocation is used in many places already, so this PR brings
functions that I have changed in line with rest of the file.
Slight issue is that I am not checking the return type of
updateToLocation as there is no good value I could return in that case.
But if we have a condition where updateToLocation will return false,
these functions will fail in any case.
I have added a test that checks that build does not fail. I was not sure
what is the correct location for the test should be. Happy to move it to
more appropriate location.
Commit: fc57f88f007497a4ead0ec8607ac66e1847b02d6
https://github.com/llvm/llvm-project/commit/fc57f88f007497a4ead0ec8607ac66e1847b02d6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[Clang] Fix Undefined Behavior introduced by #91199 (#91718)
We stack allocated an OpaqueExpr that would be used after it was
destroyed.
e.g https://lab.llvm.org/buildbot/#/builders/57/builds/34909
Commit: 1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
https://github.com/llvm/llvm-project/commit/1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Add a comment to explain address class map type
It was pointed out that ordering is crucial here, so note that.
I also looked into using a vector instead, as described in
https://llvm.org/docs/ProgrammersManual.html#dss-sortedvectorset.
Which this is in theory perfect for, but we have at least 2 places
that update the map and both would need to sort/unique each time.
Plus this code is pretty bug prone.
If there is future refactoring it's one thing to consider.
Commit: b277bf56d7654877a1c4b59dc08bc96b4d75b649
https://github.com/llvm/llvm-project/commit/b277bf56d7654877a1c4b59dc08bc96b4d75b649
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Clean up lowering of VECTOR_SPLICE operations. (#91330)
Remove DAG combine that is performing type legalisation and instead
add isel patterns for all legal types.
Commit: 64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
https://github.com/llvm/llvm-project/commit/64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
Log Message:
-----------
[AArch64] Add intrinsics for 16-bit non-widening FMLA/FMLS (#88553)
According to the specification in
https://github.com/ARM-software/acle/pull/309
add the following intrinsics
void svmla[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmla[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmla_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmla_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmls_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmls_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmla_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmla_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
as well as the corresponding `_bf16` variants.
Commit: 2e8d8155969f90b8f17634ce9a8e4541fb21dbab
https://github.com/llvm/llvm-project/commit/2e8d8155969f90b8f17634ce9a8e4541fb21dbab
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[TTI] Support scalable offsets in getScalingFactorCost (#88113)
Part of the work to support vscale-relative immediates in LSR.
Commit: 28767afd53353d9333b0adf6f0fafa1592092532
https://github.com/llvm/llvm-project/commit/28767afd53353d9333b0adf6f0fafa1592092532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support backward dependences with non-constant distance. (#91525)
Following up to 933f49248, also update the code reasoning about
backwards dependences to support non-constant distances.
Update the code to use the signed minimum distance instead of a constant
distance
This means e checked the lower bound of the dependence distance and the
distance may be larger at runtime (and safe for vectorization). Whether
to classify it as Unknown or Backwards depends on the vector width and
LAA was updated to take TTI to get the maximum vector register width.
If the minimum dependence distance is larger than the max vector width,
we consider it as backwards-vectorizable. Otherwise we classify them as
Unknown, so we re-try with runtime checks.
PR: https://github.com/llvm/llvm-project/pull/91525
Commit: fa4e8995cb6b6281a94261bee34242a39fd9f462
https://github.com/llvm/llvm-project/commit/fa4e8995cb6b6281a94261bee34242a39fd9f462
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Make wfxt a full Extension (#90987)
Before #90987 WFxT did not have an AEK_WFXT, so it was assumed to be an
FMV-only extension. However it also had a SubtargetFeature. This commit
combines the two. This fixes an issue where -mattr=+wfxt was ignored,
but has the side effect of allowing +wfxt as an option to -march.
Commit: 2371a6410dd83e82862e1c4dce1f7411efbe6b1c
https://github.com/llvm/llvm-project/commit/2371a6410dd83e82862e1c4dce1f7411efbe6b1c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
Log Message:
-----------
[AArch64] Add intrinsics for non-widening FMOPA/FMOPS (#88105)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void svmopa_za16[_f16]_m(uint64_t tile, svbool_t pn, svbool_t pm,
svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
void svmops_za16[_f16]_m(uint64_t tile, svbool_t pn,
svbool_t pm, svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: f5e49279c01436971001e107a0a3435510b9ae98
https://github.com/llvm/llvm-project/commit/f5e49279c01436971001e107a0a3435510b9ae98
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
Log Message:
-----------
AMDGPU: fix isSafeToSink expecting exactly one predecessor (#89224)
isSafeToSink needs to check if machine cycle has divergent exit branch
but first it needs the MBB that contains cycle exit branch.
Early-tailduplication can delete exit block created by structurize-cfg
so there is still exactly one cycle exit block but the new cycle exit
block can have multiple predecessors.
Simplify search for MBBs that contain cycle exit branch by introducing
helper method getExitingBlocks in GenericCycle.
Fixes #89200
Commit: 73681b8fee930274e6dc11d4471b44666d6d0dfd
https://github.com/llvm/llvm-project/commit/73681b8fee930274e6dc11d4471b44666d6d0dfd
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Log Message:
-----------
[NFC][LLVM] Simplify SVE isel DAG patterns. (#91510)
We have many instances of (Ty ZPR:$op) than can be written as Ty:$Op.
Whilst other operands can also be simplified this patch focuses on
removing redundant instances of PPR, PNR and ZPR only.
Commit: 5ad7a210ff850eed1f255f81f0609efedabe3bb7
https://github.com/llvm/llvm-project/commit/5ad7a210ff850eed1f255f81f0609efedabe3bb7
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] wfxt must depend on itself (#90987)
Commit: f52ca632787a5d4227689726e14dae6749e1e650
https://github.com/llvm/llvm-project/commit/f52ca632787a5d4227689726e14dae6749e1e650
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
Log Message:
-----------
[LAA] Drop x86_64 target triple to fix test on builds with X86.
Follow-up o fix test after 28767afd53353d9333b0adf6f0fafa1592092532.
Commit: 200f3bd39562f4d605f13567398025d30fa27d61
https://github.com/llvm/llvm-project/commit/200f3bd39562f4d605f13567398025d30fa27d61
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAccess.cpp
A clang/test/SemaCXX/PR12361.cpp
Log Message:
-----------
[Clang][Sema] access checking of friend declaration should not be delayed (#91430)
attempt to fix https://github.com/llvm/llvm-project/issues/12361
Consider this example:
```cpp
class D {
class E{
class F{};
friend void foo(D::E::F& q);
};
friend void foo(D::E::F& q);
};
void foo(D::E::F& q) {}
```
The first friend declaration of foo is correct. After that, the second
friend declaration delayed access checking and set its previous
declaration to be the first one. When doing access checking of `F`(which
is private filed of `E`), we put its canonical declaration(the first
friend declaration) into `EffectiveContext.Functions`. Actually, we are
still checking the first one. This is incorrect due to the delayed
checking.
Creating a new scope to indicate we are parsing a friend declaration and
doing access checking in time.
Commit: 8c852ab57932a5cd954cb0d050c3d2ab486428df
https://github.com/llvm/llvm-project/commit/8c852ab57932a5cd954cb0d050c3d2ab486428df
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
Log Message:
-----------
[Clang][Sema] Revise the transformation of CTAD parameters of nested class templates (#91628)
This fixes a regression introduced by bee78b88f.
When we form a deduction guide for a constructor, basically, we do the
following work:
- Collect template parameters from the constructor's surrounding class
template, if present.
- Collect template parameters from the constructor.
- Splice these template parameters together into a new template
parameter list.
- Turn all the references (e.g. the function parameter list) to the
invented parameter list by applying a `TreeTransform` to the function
type.
In the previous fix, we handled cases of nested class templates by
substituting the "outer" template parameters (i.e. those not declared at
the surrounding class template or the constructor) with the
instantiating template arguments. The approach per se makes sense, but
there was a flaw in the following case:
```cpp
template <typename U, typename... Us> struct X {
template <typename V> struct Y {
template <typename T> Y(T) {}
};
template <typename T> Y(T) -> Y<T>;
};
X<int>::Y y(42);
```
While we're transforming the parameters for `Y(T)`, we first attempt to
transform all references to `V` and `T`; then, we handle the references
to outer parameters `U` and `Us` using the template arguments from
`X<int>` by transforming the same `ParamDecl`. However, the first step
results in the reference `T` being `<template-param-0-1>` because the
invented `T` is the last of the parameter list of the deduction guide,
and what we're substituting with is a corresponding parameter pack
(which is `Us`, though empty). Hence we're messing up the substitution.
I think we can resolve it by reversing the substitution order, which
means handling outer template parameters first and then the inner
parameters.
There's no release note because this is a regression in 18, and I hope
we can catch up with the last release.
Fixes https://github.com/llvm/llvm-project/issues/88142
Commit: 452f4393c70e0ffecf8e394f82b1eaeaa8d224af
https://github.com/llvm/llvm-project/commit/452f4393c70e0ffecf8e394f82b1eaeaa8d224af
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Precommit tests for #86111
The upcoming patch adds logic to prefer to use constants close to
power-of-two in these ashr exact + slt/ult patterns when it has a choice
on which constant can be used.
Commit: 3be8e2c95d3dca5b2fdea889649a69dce8605e65
https://github.com/llvm/llvm-project/commit/3be8e2c95d3dca5b2fdea889649a69dce8605e65
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Prefer to keep power-of-2 constants when combining ashr exact and slt/ult of a constant (#86111)
We have flexibility in what constant to use when combining an `ashr
exact` with a slt or ult of a constant, and it's not possible to revisit
this decision later in the compilation pipeline after the `ashr exact`
is removed. Keeping a constant close to power-of-2 (pow2val + 1) should
be no worse than neutral, and in some cases may allow better codegen
later on for targets that can more cheaply generate power of 2 (which
may be selectable if converting back to setle/setge) or near power of 2
constants.
Alive2 proofs:
<https://alive2.llvm.org/ce/z/2BmPnq> and
<https://alive2.llvm.org/ce/z/DtuhnR>
Commit: d48bf8aef2abeb915b1e04e1b78051869088df42
https://github.com/llvm/llvm-project/commit/d48bf8aef2abeb915b1e04e1b78051869088df42
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
Reapply "[InlineCost] Correct the default branch cost for the switch statement (#85160)"
This reverts commit c6e4f6309184814dfc4bb855ddbdb5375cc971e0.
Commit: 561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
https://github.com/llvm/llvm-project/commit/561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP][AIX] Implement __kmp_get_load_balance() for AIX (#91520)
AIX has the `/proc` filesystem where `/proc/<pid>/lwp/<tid>/lwpsinfo` has
the thread state in binary, similar to Linux's
`/proc/<pid>/task/<tid>/stat` where the state is in ASCII. However, the
definition of state info `R` in `lwpsinfo` is `runnable`. In Linux,
state `R` means the thread is `running`. Therefore, `lwpsinfo` is not
ideal for our purpose of getting the current load of the system. This
patch uses `perfstat_cpu()` in AIX system library `libperfstat.a` to
obtain the number of threads current running on logical CPUs.
Commit: 195d8ac26d91ca798733c3a5f58d67992d43503d
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Fix DXIL part header version encoding (#91506)
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 4cf3f032283d8426c9b7829c7ccf0ab01939c7db
https://github.com/llvm/llvm-project/commit/4cf3f032283d8426c9b7829c7ccf0ab01939c7db
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] use llvm::any_of refactor getAnalyzerCheckersAndPackages [NFC] (#91713)
Commit: 8fc9e3d577c02d2b97c952fbafb75db0100462a9
https://github.com/llvm/llvm-project/commit/8fc9e3d577c02d2b97c952fbafb75db0100462a9
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Lower frem of power-2 using div/trunc/mul+sub (#91148)
If we are lowering a frem and the divisor is known to be an integer power-2, we
can use the formula 'frem = x - trunc(x / d) * d'. This avoids the more
expensive call to fmod. The results are identical as fmod so long as d is a
power-2 (so the mul does not round incorrectly), and the sign of the return is
either always positive or not important for zeroes (nsz).
Unfortunately Alive2 does not handle this well at the moment. I was using
exhaustive checking to test this:
(https://gist.github.com/davemgreen/6078015f30d3bacd1e9572f8db5d4b64).
I found this in cpythons implementation of float_pow. I currently added it as a
DAG combine for frem with power-2 fp constants.
Commit: 63177422a834f4b81d59b827b5f2a1c5a9083749
https://github.com/llvm/llvm-project/commit/63177422a834f4b81d59b827b5f2a1c5a9083749
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[OpenACC][NFC] Fix isa behavior for OpenACC types
I discovered while working on a different patch that I'd not implemented
the 'classof' for any of the Clauses, which resulted in 'isa' always
returning 'true' for all of the types. This patch goes through all the
existing clauses and adds 'classof' such that it will work correctly.
Additionally, in doing this, I found a bug where I was doing a cast to
the wrong type in the ASTWriter, so this fixes that problem as well.
Commit: 331f22af4b4c849a97c97e6803e0c8cab57fa10b
https://github.com/llvm/llvm-project/commit/331f22af4b4c849a97c97e6803e0c8cab57fa10b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove unnecessary predicates from aliases. NFC. (#91602)
So long as the target of the alias is predicated with HasImageInsts or
similar, the alias itself does not need this predicate.
Commit: 52271a5c11f6abde1fa1221db304212b5eb8ec7c
https://github.com/llvm/llvm-project/commit/52271a5c11f6abde1fa1221db304212b5eb8ec7c
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
Log Message:
-----------
[libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335)
Fixes #86686
Commit: 9232591b04d7a4586e88bdbd1c3e513775c73560
https://github.com/llvm/llvm-project/commit/9232591b04d7a4586e88bdbd1c3e513775c73560
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/test/support/atomic_helpers.h
Log Message:
-----------
[libc++][NFC] Use TestEachPointerType in TestEachAtomicType (#91480)
That way, if we ever expand TestEachPointerType we will pick up those
changes in TestEachAtomicType.
Commit: c5c8ae43545e917e624edd93695d1b265bae1e5c
https://github.com/llvm/llvm-project/commit/c5c8ae43545e917e624edd93695d1b265bae1e5c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
Log Message:
-----------
[flang] Use i16 instead of i2 for cmdstat (#91647)
The code for preparing cmdstat was generating an i2 constant with value
0, casting it, and then storing it into i16 storage. Just generate i16
constant directly.
Commit: 92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
https://github.com/llvm/llvm-project/commit/92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/math/generic/powf.cpp
M libc/test/src/math/powf_test.cpp
Log Message:
-----------
[libc][math] Fix exact cases for powf. (#91488)
It was reported from the CORE-MATH project that the `powf`
implementation did not round correctly when `x^y` is either exact for
exactly half-way.
This PR deals with the potential exact cases when `y` is an integer `2 <
y < 25`. In such cases, the results of `x^y` is exactly representable in
double precision.
Commit: 023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
https://github.com/llvm/llvm-project/commit/023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
Update stale comments of the demangler, NFC (#91740)
To reflect what the actual code does.
Commit: b8f4f39d3d43d348e31fc5709b72e1f51392e52d
https://github.com/llvm/llvm-project/commit/b8f4f39d3d43d348e31fc5709b72e1f51392e52d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/threads/linux/callonce.cpp
Log Message:
-----------
[libc] avoid cmpxchg on the fastpath of callonce (#91748)
Avoid `cmpxchg` operation if the function has already been called.
The destination operand of `cmpxchg` may receive a write cycle without
regard to the result of the comparison
Commit: d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
https://github.com/llvm/llvm-project/commit/d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Don't pre-split before the loop in parseNormalizedArchString. (#91684)
We can extract each extension as we process them without much
complexity.
I changed the error message for cases where there are double underscores
or a trailing underscore. I think this is an improvement over the
previous error.
Commit: d358b2de458e0611a3f474a9c3e3deff926c07c4
https://github.com/llvm/llvm-project/commit/d358b2de458e0611a3f474a9c3e3deff926c07c4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
Log Message:
-----------
[clang][NFC] Rename C++ CWG DR test files to use `cwg` prefix
This is a follow-up for ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
Commit: ef71c79d85fb3f94f19a92a84ab44719d112c1bd
https://github.com/llvm/llvm-project/commit/ef71c79d85fb3f94f19a92a84ab44719d112c1bd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update C++ DR status page
Commit: 099c1527f6088305fc253e9598685faa85544a8e
https://github.com/llvm/llvm-project/commit/099c1527f6088305fc253e9598685faa85544a8e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/AST/ASTConcept.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[AST] Print the separator "," for template arguments in ConceptReference::print (#91750)
Commit: 9a7262c2601874e5aa64c5db19746770212d4b44
https://github.com/llvm/llvm-project/commit/9a7262c2601874e5aa64c5db19746770212d4b44
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)
This is the implementation for
https://discourse.llvm.org/t/rfc-delay-definition-die-searching-when-parse-a-declaration-die-for-record-type/78526.
#### Motivation
Currently, lldb eagerly searches for definition DIE when parsing a
declaration DIE for struct/class/union definition DIE. It will search
for all definition DIEs with the same unqualified name (just
`DW_AT_name` ) and then find out those DIEs with same fully qualified
name. Then lldb will try to resolve those DIEs to create the Types from
definition DIEs. It works fine most time. However, when built with
`-gsimple-template-names`, the search graph expands very quickly,
because for the specialized-template classes, they don’t have template
parameter names encoded inside `DW_AT_name`. They have
`DW_TAG_template_type_parameter` to reference the types used as template
parameters. In order to identify if a definition DIE matches a
declaration DIE, lldb needs to resolve all template parameter types
first and those template parameter types might be template classes as
well, and so on… So, the search graph explodes, causing a lot
unnecessary searching/type-resolving to just get the fully qualified
names for a specialized-template class. This causes lldb stack overflow
for us internally on template-heavy libraries.
#### Implementation
Instead of searching for definition DIEs when parsing declaration DIEs,
we always construct the record type from the DIE regardless if it's
definition or declaration. The process of searching for definition DIE
is refactored to `DWARFASTParserClang::FindDefinitionTypeForDIE` which
is invoked when 1) completing the type on
`SymbolFileDWARF::CompleteType`. 2) the record type needs to start its
definition as a containing type so that nested classes can be added into
it in `PrepareContextToReceiveMembers`.
The key difference is `SymbolFileDWARF::ResolveType` return a `Type*`
that might be created from declaration DIE, which means it hasn't starts
its definition yet. We also need to change according in places where we
want the type to start definition, like `PrepareContextToReceiveMembers`
(I'm not aware of any other places, but this should be a simple call to
`SymbolFileDWARF::FindDefinitionDIE`)
#### Result
It fixes the stack overflow of lldb for the internal binary built with
simple template name. When constructing the fully qualified name built
with `-gsimple-template-names`, it gets the name of the type parameter
by resolving the referenced DIE, which might be a declaration (we won't
try to search for the definition DIE to just get the name).
I got rough measurement about the time using the same commands (set
breakpoint, run, expr this, exit). For the binary built without
`-gsimple-template-names`, this change has no impact on time, still
taking 41 seconds to complete. When built with
`-gsimple-template-names`, it also takes about 41 seconds to complete
wit this change.
Commit: 062f6fe324e98b0994e49bc14eb45b20aa0807c4
https://github.com/llvm/llvm-project/commit/062f6fe324e98b0994e49bc14eb45b20aa0807c4
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/MachO.h
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Support mutually exclusive parse options (#90686)
Projects like libc use mutually exclusive macros to compile files
multiple times and then merge the result into the final library. For
installapi to accept these, we'd need to parse the same declarations in
different ways. This patch adds the basic pipelining for installapi to
create the correct TBD file.
* -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix
headers
* -Xlabel allows: -D and -U settings
* Error on 'private' and 'public' labels -X<label>
* Xplatform allows: -iframework <path> This is to support the case where
zippered frameworks want to pass in iOSSupport search path.
Commit: 871f4839f988a1ef59ea0371e0f25c8651a899f2
https://github.com/llvm/llvm-project/commit/871f4839f988a1ef59ea0371e0f25c8651a899f2
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Fix a race during shutdown (#91591)
lldb-dap was setting a flag which was meant to shut it down as soon as
it sent a terminated event. The problem with this flag is two-fold:
- as far as I can tell (definitely not an expert here), there's no
justification for this in the protocol spec. The only way I found to
shut the server down was to send it a disconnect request.
- the flag did not actually work most of the time, because it's only
checked between requests so nothing will happen if the server starts
listening for a new request before a different thread manages to send
the terminated event. And since the next request is usually the
disconnect request, everything will operate normally.
The combination of these two things meant that the issue was largely
unnoticable, except for rare flaky test failures, which happened when
the handler thread was too slow, and checked the flag after it has
already been said. This caused the test suite to complain as it did not
get a response to the disconnect request. This situation could be
s(t)imulated by adding a sleep to the and of the main loop, which
delayed the flag check, and caused the DAP tests to fail reliably.
This patch changes the shutdown condition to only trigger when the
disconnect request has been received. Since the flag can now only be set
from the handler thread, it no longer needs to be atomic.
Commit: 3bde7983986d8ce637f6bb506860859249787751
https://github.com/llvm/llvm-project/commit/3bde7983986d8ce637f6bb506860859249787751
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
[lldb] Put SBSourceLanguageName in lldb namespace (#91685)
Commit: 265953cc26b40c4f9a3300baa18c2b7a45074b74
https://github.com/llvm/llvm-project/commit/265953cc26b40c4f9a3300baa18c2b7a45074b74
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Arena should zero-initialize its allocation area.
Commit: 7c555cb2349b7f5f3b8336c40f38965aca354472
https://github.com/llvm/llvm-project/commit/7c555cb2349b7f5f3b8336c40f38965aca354472
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf02.cuf
Log Message:
-----------
[flang][cuda] Reapply restriction on kernel subprogram but not device (#91764)
The restriction was completely removed in #89677. This was a bit too
much. Reapply the restriction on elemental, pure and recursive but only
for kernel subprogram (`grid_global` and `global` attributes).
Commit: 842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
https://github.com/llvm/llvm-project/commit/842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] make +dit non-FMV-only (#90987)
Required to fix an llvm-test-suite failure:
error: expected writable system register or pstate: "msr DIT, x0"
Commit: 514d80b4feea3c788c1b0821959e96f63c8b8f3d
https://github.com/llvm/llvm-project/commit/514d80b4feea3c788c1b0821959e96f63c8b8f3d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
Log Message:
-----------
[Driver,test] Add -Werror to -ffp-contract/-ffp-model tests
Test that these combinations do not lead to a warning.
-funsafe-math-optimizations -ffp-contract=off
and
-ffast-math -ffp-contract=off
may issue a warning after #91271.
Commit: e513f2c69b13322d0289cbb74c91a84996382baa
https://github.com/llvm/llvm-project/commit/e513f2c69b13322d0289cbb74c91a84996382baa
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
Log Message:
-----------
[mlir][tosa] Cleanups for post-merge review comments in tosa-infer-shapes (#87660)
This change addresses some of the additional review feedback on
https://github.com/llvm/llvm-project/pull/87234.
A summary of the changes:
1. Cleaned up the language to use 'roll back' rather than revert to
reduce the chance of confusion. Improved some function names as well.
2. Eliminated string comparisons on dialect names.
3. Prevented the introduction of redundant tensor.cast operations for
the same value.
---------
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: af0b293b5068e71e34704fa4c997fc3295e673fe
https://github.com/llvm/llvm-project/commit/af0b293b5068e71e34704fa4c997fc3295e673fe
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests (#82850)
This is a large series of runtime tests that help to add coverage for
the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), additional IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Commit: 05f88b1769db90c10ca66810720b2092f9d73e34
https://github.com/llvm/llvm-project/commit/05f88b1769db90c10ca66810720b2092f9d73e34
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/cwchar
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/type_traits
Log Message:
-----------
[libc++][NFC] Replace __apply_cv with __copy_cv or __copy_cvref (#90867)
`__apply_cv_t` and `__copy_cvref_t` are very closely related. They are
in fact identical except that `__copy_cvref_t` handles rvalue references
properly. Some uses don't actually require handling of references, so
they are replaced with `__copy_cv_t`.
Commit: cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
https://github.com/llvm/llvm-project/commit/cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R offload/test/offloading/fortran/target-map-derived-type-full-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-2.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
R offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
R offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
R offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
R offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
R offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
Revert "[Flang][OpenMP] Derived type member map fortran offload runtime tests" (#91784)
Reverts llvm/llvm-project#82850, applied accidentally without the rest of the PR series.
Commit: 77a59c32105379b289ee3f7b6abbdf483bcb65c1
https://github.com/llvm/llvm-project/commit/77a59c32105379b289ee3f7b6abbdf483bcb65c1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Fix signed-ness in CtxInstrProfilingTest.cpp
Follow-up from `265953c`
Commit: 13af97a70e7202507dcca89d2f732e5126d2bbcd
https://github.com/llvm/llvm-project/commit/13af97a70e7202507dcca89d2f732e5126d2bbcd
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
Log Message:
-----------
[mlir][sparse] allow multiple COO segments in sparse encodings. (#91786)
**NOTE**: we still have implementation holes when handling multiple COO
segments in the encoding. But the format should be considered to be
legal.
Commit: d655054395e2dba2b949e170d7764cc8c9c8a597
https://github.com/llvm/llvm-project/commit/d655054395e2dba2b949e170d7764cc8c9c8a597
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
Revert "[DirectX] Fix DXIL part header version encoding" (#91791)
Test failures on big endian bots after this change.
Reverts llvm/llvm-project#91506
Commit: 88da8756a6f54a8ae441750eaa890c2450b94490
https://github.com/llvm/llvm-project/commit/88da8756a6f54a8ae441750eaa890c2450b94490
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64] Combine getActiveLaneMask with vector_extract (#81139)
... into a `whilelo` instruction with a pair of predicate registers.
Commit: 00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
https://github.com/llvm/llvm-project/commit/00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
Author: Joyce <joycebrum at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements_formatting.txt
Log Message:
-----------
Generate a new requirements.txt to fix CVEs (#90109)
Hi! Here is a patch for #81859 that fix the vulnerabilities found in
gitpython, cryptography, urllib3 and requests.
I have just regenerated the requirements.txt files running pip-compile
again. Fortunately, this was enough to set all the dependencies on safe
versions.
I have also checked if new vulnerabilities were introduced by running
scorecard on my fork, but none has been introduced.
Thanks!
Signed-off-by: Joyce Brum <joycebrum at google.com>
Commit: d009bd7c69ee338b9f550d65edd5ddaa4e032e00
https://github.com/llvm/llvm-project/commit/d009bd7c69ee338b9f550d65edd5ddaa4e032e00
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 05f88b1769db
Commit: 7fd6cb293975b05406e24aba1cc8e83275cb6bf9
https://github.com/llvm/llvm-project/commit/7fd6cb293975b05406e24aba1cc8e83275cb6bf9
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests
This is a large series of runtime tests that help to add coverage for the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), addiitonal IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Pull Request: https://github.com/llvm/llvm-project/pull/82850
Commit: 50df0ff515697090983b3cb951c48377bcfb6ddf
https://github.com/llvm/llvm-project/commit/50df0ff515697090983b3cb951c48377bcfb6ddf
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add new arguments to map_info to help support record type maps
This PR adds two new fields to omp.map_info, one BoolAttr and one I64ArrayAttr.
The BoolAttr is named partial_map, and is a flag that indicates if the record type captured by
the map_info operation is a partial map, or if it is mapped in its entirety, this currently helps
the later lowering determine the type of map entries that need to be generated.
The I64ArrayAttr named members_index is intended to track the placement of each member
map_info operations (and by extension mapped member variable) placement in the parent
record type. This may need to be extended to an N-D array for nested member mapping.
Pull Request: https://github.com/llvm/llvm-project/pull/82851
Commit: 462435f089b7ca67ed1eed60f369e16b71e76b74
https://github.com/llvm/llvm-project/commit/462435f089b7ca67ed1eed60f369e16b71e76b74
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
A mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
Log Message:
-----------
[OpenMP][MLIR] Extend record member map support for omp dialect to LLVM-IR
This patch seeks to refactor slightly and extend the current record type map
support that was put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth (the case of explicit
mapping of nested record types is currently unsupported).
This patch seeks to support this by extending the OpenMPToLLVMIRTranslation phase
to more generally support record types, building on the prior groundwork in the
Fortran allocatables/pointers patch. It now supports different kinds of record type
mapping, in this case full record type mapping and then explicit member mapping
in which there is a special case for certain types when mapped individually to not
require any parent map link in the kernel argument structure. To facilitate this
required:
* The movement of the setting of the map flag type "ptr_and_obj" to respective
frontends, now supporting it as a possible flag that can be read and printed
in mlir form. Some minor changes to declare target map type setting was
neccesary for this.
* The addition of a member index array operand, which tracks the position
of the member in the parent, required for caclulating the appropriate size
to offload to the target, alongside the parents offload pointer (always the
first member currently being mapped).
* A partial mapping attribute operand, to indicate if the entire record type is
being mapped or just member components, aiding the ability to lower
record types in the different manners that are possible.
* Refactoring bounds calculation for record types and general arrays to one
location (as well as load/store generation prior to assigning to the kernel
argument structure), as a side affect enter/exit/update/data mapping
should now be more correct and fully support bounds mapping, previously
this would have only worked for target.
Pull Request: https://github.com/llvm/llvm-project/pull/82852
Commit: 435e850ba97ab567a14b6c84d2b27cadb771cb27
https://github.com/llvm/llvm-project/commit/435e850ba97ab567a14b6c84d2b27cadb771cb27
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.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
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/target.f90
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
Log Message:
-----------
[Flang][OpenMP][MLIR] Initial derived type member map support
This patch is one in a series of four patches that seeks to refactor
slightly and extend the current record type map support that was
put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth.
For example, the below case where two members of a Fortran
derived type are mapped explicitly:
''''
type :: scalar_and_array
real(4) :: real
integer(4) :: array(10)
integer(4) :: int
end type scalar_and_array
type(scalar_and_array) :: scalar_arr
!$omp target map(tofrom: scalar_arr%int, scalar_arr%real)
''''
Current cases of derived type mapping left for future work are:
> explicit member mapping of nested members (e.g. two layers of
record types where we explicitly map a member from the internal
record type)
> Fortran's automagical mapping of all elements and nested elements
of a derived type
> explicit member mapping of a derived type and then constituient members
(redundant in Fortran due to former case but still legal as far as I am aware)
> explicit member mapping of a record type (may be handled reasonably, just
not fully tested in this iteration)
> explicit member mapping for Fortran allocatable types (a variation of nested
record types)
This patch seeks to support this by extending the Flang-new OpenMP lowering to
support generation of this newly required information, creating the neccessary
parent <-to-> member map_info links, calculating the member indices and
setting if it's a partial map.
The OMPDescriptorMapInfoGen pass has also been generalized into a map
finalization phase, now named OMPMapInfoFinalization. This pass was extended
to support the insertion of member maps into the BlockArg and MapOperands of
relevant map carrying operations. Similar to the method in which descriptor types
are expanded and constituient members inserted.
Pull Request: https://github.com/llvm/llvm-project/pull/82853
Commit: 7237bef5da57e8d67db25df7c22379e81e5903a7
https://github.com/llvm/llvm-project/commit/7237bef5da57e8d67db25df7c22379e81e5903a7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in computeDefaultABI. NFC
hasExtension checks if the extension name is a known extension name.
That should always be true for the extensions listed here so we can
skip that check.
Commit: d8e73752a5f4f79ef4293d8f446c03062010233d
https://github.com/llvm/llvm-project/commit/d8e73752a5f4f79ef4293d8f446c03062010233d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Reland "[libc][NFC] adjust time related implementations"" (#91687)
Reverts llvm/llvm-project#91657 and Relands #91485
Commit: d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
https://github.com/llvm/llvm-project/commit/d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
Log Message:
-----------
[Offload] Fix new fortran OpenMP offload test failures via addition of requires
Commit: 91feb130d5cd3cafce94bbaf7ad67d1542623a75
https://github.com/llvm/llvm-project/commit/91feb130d5cd3cafce94bbaf7ad67d1542623a75
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
A llvm/test/CodeGen/AArch64/sve-llrint.ll
A llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
ISel/AArch64: custom lower vector ISD::[L]LRINT (#89035)
Since 98c90a1 (ISel: introduce vector ISD::LRINT, ISD::LLRINT; custom
RISCV lowering), ISD::LRINT and ISD::LLRINT now have vector variants,
that are custom lowered on RISCV, and scalarized on all other targets.
Since 2302e4c (Reland "VectorUtils: mark xrint as trivially
vectorizable"), lrint and llrint are trivially vectorizable, so all the
vectorizers in-tree will produce vector variants when possible. Add a
custom lowering for AArch64 to custom-lower the vector variants natively
using a combination of frintx, fcvte, and fcvtzs.
Commit: e3ca558ffb1441cb16da7aba021e12c6f110000f
https://github.com/llvm/llvm-project/commit/e3ca558ffb1441cb16da7aba021e12c6f110000f
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
Log Message:
-----------
[Flang] Remove deprecated cast style that snuck in during landing of 435e850ba97ab567a14b6c84d2b27cadb771cb27
Commit: a427aa9346295fe7dd3be5955214d28c8be2ad4a
https://github.com/llvm/llvm-project/commit/a427aa9346295fe7dd3be5955214d28c8be2ad4a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/branching-directive.f90
Log Message:
-----------
[flang][Lower] Treat directives with nested evaluations as constructs (#91614)
When generating block terminators in `genFIR(Evaluation)`, treat
`Directives` with nested evaluations the same way as `Constructs` to
determine the successor block.
This fixes https://github.com/llvm/llvm-project/issues/91526
Commit: 6b9bca8faaa759c56fdd6e8697f9be38d201bd71
https://github.com/llvm/llvm-project/commit/6b9bca8faaa759c56fdd6e8697f9be38d201bd71
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/sctc-bug4.test
Log Message:
-----------
[BOLT] Preserve Offset annotation in SCTC (#91693)
Offset annotation is used in writing BAT tables.
Test Plan: updated sctc-bug4.test
Commit: e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
https://github.com/llvm/llvm-project/commit/e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
Log Message:
-----------
[test] Move RISCV tests to clang/test/CodeGen/RISCV/
The directory was created by 2f1fe9a3a60d6f18998c5f3b7e643d4cbaa4e65d
(2020).
Pull Request: https://github.com/llvm/llvm-project/pull/91783
Commit: a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
https://github.com/llvm/llvm-project/commit/a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARF] Do not complete type from declaration die. (#91799)
Fix the problem:
https://github.com/llvm/llvm-project/pull/90663#issuecomment-2105164917
by enhancing a double-check for #90663
Commit: f32f6d199ac36e0c45433a648691f5165893deec
https://github.com/llvm/llvm-project/commit/f32f6d199ac36e0c45433a648691f5165893deec
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/__cuda_device_builtins.f90
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#91668)
Some functions and subroutines are available in device context
(device/global). These functions have interfaces declared in the
`cudadevice` module.
This patch adds interfaces as `__cuda_device_builtins_<fctname>` in a
builtin module and they are USE'd rename in the `cudadevice` module. The
module is implicitly used in device/global subprograms.
The builtin module only contains procedures from section 3.6.4 for now.
Commit: 666c686d5917be3f6260036ae536d9b44855ac34
https://github.com/llvm/llvm-project/commit/666c686d5917be3f6260036ae536d9b44855ac34
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Codesign debugserver on macOS (#91789)
This tool doesn't work unless it's signed with the entitlements used
here. We should probably consider using the
macos_command_line_application rule from rules_apple which manages this
more flexibly for us, but for now this works. This uses apple_genrule as
opposed to genrule since the former encodes the Xcode environment info
into the action so it is correctly invalidated if that changes.
Commit: aa0776de464984e78ae1cc329bf541e9dd43631f
https://github.com/llvm/llvm-project/commit/aa0776de464984e78ae1cc329bf541e9dd43631f
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Revert "[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)" and related patches
This change is incorrect when thinlto and asan are enabled, and this can
be observed by adding `-fsanitize=address` to the provided
coro-elide-thinlto.cpp test. It results in the error "Coroutines cannot
handle non static allocas yet", and ASan introduces a dynamic alloca.
In other words, we must preserve the invariant that CoroSplit runs
before ASan. If we move CoroSplit to the post post-link compile stage,
ASan has to be moved to the post-link compile stage first. It would
also be correct to make CoroSplit handle dynamic allocas so the pass
ordering doesn't matter, but sanitizer instrumentation really ought to
be last, after coroutine splitting.
This reverts commit bafc5f42c0132171287d7cba7f5c14459be1f7b7.
This reverts commit b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec.
This reverts commit 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab.
This reverts commit fb2d3056618e3d03ba9a695627c7b002458e59f0.
This reverts commit 1cb33713910501c6352d0eb2a15b7a15e6e18695.
This reverts commit cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe.
Commit: 2d5634a4b39d8e5497b6a67caa54049b3cfade8e
https://github.com/llvm/llvm-project/commit/2d5634a4b39d8e5497b6a67caa54049b3cfade8e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
Log Message:
-----------
[clang] Revert default behavior change of P0522R0 implementation (#91811)
This partially reverts b86e0992bfa6c58be077d82d824016f590ac5d90.
Just the default is changed back, on the Driver side.
No Frontend changes.
The positive spelling of the flag is undeprecated.
No documentation changes or changelog entries because we plan to revert
this revert as soon as https://github.com/llvm/llvm-project/issues/62529
is fixed.
Commit: 5d18d575d8d304e4336483d8be7394d0f4694cb1
https://github.com/llvm/llvm-project/commit/5d18d575d8d304e4336483d8be7394d0f4694cb1
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Make fneg/fabs/copysign legal for bf16 (#91676)
These are just bit operations, exactly the same as with f16.
Commit: fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
https://github.com/llvm/llvm-project/commit/fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
Log Message:
-----------
[libc] Add memory fence utility to the GPU utilities (#91756)
Summary:
GPUs like to execute instructions in the background until something
excplitely consumes them. We are working on adding some
microbenchmarking code, which requires flushing the pending memory
operations beforehand. This patch simply adds these utility functions
that will be used in the near future.
Commit: 7e6879b245f7feaf00367874cbef7db973455553
https://github.com/llvm/llvm-project/commit/7e6879b245f7feaf00367874cbef7db973455553
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[X86] scalarizeExtractedBinop - reuse existing SDLoc. NFC.
Commit: 7f3e3785d0be00c727e3d2938b6348748499de99
https://github.com/llvm/llvm-project/commit/7f3e3785d0be00c727e3d2938b6348748499de99
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: cb037d071c43baab7e8ef3b818a21858905560c0
https://github.com/llvm/llvm-project/commit/cb037d071c43baab7e8ef3b818a21858905560c0
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Combine build_vector patterns for i16 and f16. NFCI. (#91806)
Commit: 3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
https://github.com/llvm/llvm-project/commit/3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
[AMDGPU] Initialize MachineFunctionInfo for unittest (#91820)
Initializes the MachineFunctionInfo for unittest introduced in #88257
Additionally, also rephrases the test condition considering the abort/exit does not occur within emitKernel but is generally triggered through the Ctx.hadError() call.
Commit: 30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
https://github.com/llvm/llvm-project/commit/30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Remove the pre-split from RISCVISAInfo::parseArchString. NFCI
We can extract each extension as we process them without much
complexity.
Commit: d9ce33a0eea701719651dafbf88deae0ece96976
https://github.com/llvm/llvm-project/commit/d9ce33a0eea701719651dafbf88deae0ece96976
Author: Thurston Dang <thurston at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
Log Message:
-----------
[libfuzzer] Prevent MSan false positive when printing log with -jobs (#91679)
libfuzzer's -jobs option will, depending on the number of CPUs, spin up
a
WorkerThread and end up printing the log file using CopyFileToErr.
This leads to an MSan false positive. This patch disables the MSan
interceptor checks,
similarly to other instances in https://reviews.llvm.org/D48891
Side-note: this false positive issue first appeared when printf()
was replaced by puts() (90b4d1bcb20180c591385131b12fa90d2e4860b1).
The interceptor check was always present; however, MSan does not
check_printf by default.
Commit: 4198aebc96cb0236fc63e29a92d886e6a2e3fedb
https://github.com/llvm/llvm-project/commit/4198aebc96cb0236fc63e29a92d886e6a2e3fedb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
Log Message:
-----------
[Clang] Fix tests broken by #91811 (#91822)
A few tests were checking for all driver flags.
We should revert this commit when we revert #91811
Commit: f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
https://github.com/llvm/llvm-project/commit/f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/Verifier/vp-intrinsics.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add vp.reduce.fmaximum/fminimum and its RISC-V codegen (#91782)
`vp.reduce.fmaximum/fminimum` are the VP version of
`vector.reduce.fmaximum/fminimum`.
Commit: 504cf554639360525c3f746e7296a242350b2af9
https://github.com/llvm/llvm-project/commit/504cf554639360525c3f746e7296a242350b2af9
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Pass explicit module cache to avoid permissions issues.
Fixes: https://lab.llvm.org/buildbot/#/builders/192/builds/9313
Commit: 38b275598391dd6bd2d034e6b815c3febde0b1fe
https://github.com/llvm/llvm-project/commit/38b275598391dd6bd2d034e6b815c3febde0b1fe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
R flang/module/__cuda_device_builtins.f90
R flang/module/cudadevice.f90
R flang/test/Semantics/cuf-device-procedures01.cuf
R flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
Revert "[flang][cuda] Implicitly load cudadevice module in device/global subprogram" (#91827)
Reverts llvm/llvm-project#91668
Commit: 11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
https://github.com/llvm/llvm-project/commit/11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR][PatternMatch] Make `m_Checked{Int,Fp}` accept `Constant *` output instead of `APInt *`
The `APInt *` version is pretty useless as any case one needs an
`APInt *` out, they could just replace whatever they have the
`m_Checked...` lambda with direct checks on the `APInt`.
Leaving other helpers such as `m_Negative`, `m_Power2`,
etc... unchanged as the `APInt` out version is used mostly for
convenience and rarely change functionality when converted output a
`Constant *`.
Closes #91377
Commit: df88d610ab10c1e3f22d7f5daf3794158972c584
https://github.com/llvm/llvm-project/commit/df88d610ab10c1e3f22d7f5daf3794158972c584
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
Log Message:
-----------
[Driver] Remove unused getInstalledDir
The uses have been removed by commit 2b5cd8be3af43e5aa5b76b6aeb1edd3141b803ca
Commit: e62ce1f8842cca36eb14126d79dcca0a85bf6d36
https://github.com/llvm/llvm-project/commit/e62ce1f8842cca36eb14126d79dcca0a85bf6d36
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: 65c9b8460b1aa309d012a5fe031524dbb813d64e
https://github.com/llvm/llvm-project/commit/65c9b8460b1aa309d012a5fe031524dbb813d64e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
Log Message:
-----------
[Driver] Remove elf::script indirection. NFC
There are 100+ references.
Use a wrapper similar to a623a4c8b4d5cc933ebc1856ce30aac935f62b18
Commit: 3676b0945c800e3105f648d178b331953246716a
https://github.com/llvm/llvm-project/commit/3676b0945c800e3105f648d178b331953246716a
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
Log Message:
-----------
[clang-tidy] `readability-simplify-boolean-expr` avoid to warn expression expand from macro when ``IgnoreMacro`` option is enabled. (#91757)
Fixes: #91487
Commit: bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
https://github.com/llvm/llvm-project/commit/bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Use disambiguated local names in BAT YAML
Align BAT YAML to fdata profile.
Test Plan: updated register-fragments-bolt-symbols.s
Reviewers: dcci, rafaelauler, ayermolo, maksfb
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/91773
Commit: 4f127667ca57875f0984f81d5790479b902022e0
https://github.com/llvm/llvm-project/commit/4f127667ca57875f0984f81d5790479b902022e0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Set entry counts in BAT YAML profile (#91775)
Align with DataReader::readProfile that sets entry block counts from
FuncBranchData->EntryData.
Test Plan: updated bolt-address-translation-yaml.test
Commit: 5cd280433e8e063bf3c2390eaf152e726db5b0fb
https://github.com/llvm/llvm-project/commit/5cd280433e8e063bf3c2390eaf152e726db5b0fb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Move QualifierFixerTest::LangOpts to IsQualifierType test
This should fix buildbot failures in:
https://lab.llvm.org/buildbot/#/builders/5/builds/43303
https://lab.llvm.org/buildbot/#/builders/168/builds/20347
Commit: 1351aabf542b25e3ff1d36f4f2abe6727d0f19aa
https://github.com/llvm/llvm-project/commit/1351aabf542b25e3ff1d36f4f2abe6727d0f19aa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG1820 "Qualified typedef names" (#91765)
[P1787R6](https://wg21.link/p1787r6):
> [CWG1820](https://cplusplus.github.io/CWG/issues/1820.html) is
resolved by requiring that a qualified declarator-id declare an entity.
P1787R6 changes wording of [dcl.pre]/9. Quote from the current draft
([[dcl.pre]/5](https://eel.is/c++draft/dcl.pre#5)):
> If a
[declarator-id](https://eel.is/c++draft/dcl.decl.general#nt:declarator-id)
is a name, the
[init-declarator](https://eel.is/c++draft/dcl.decl.general#nt:init-declarator)
and (hence) the declaration introduce that
name[.](https://eel.is/c++draft/dcl.pre#5.sentence-1)
> [Note [3](https://eel.is/c++draft/dcl.pre#note-3): Otherwise, the
[declarator-id](https://eel.is/c++draft/dcl.decl.general#nt:declarator-id)
is a
[qualified-id](https://eel.is/c++draft/expr.prim.id.qual#nt:qualified-id)
or names a destructor or its
[unqualified-id](https://eel.is/c++draft/expr.prim.id.unqual#nt:unqualified-id)
is a [template-id](https://eel.is/c++draft/temp.names#nt:template-id)
and no name is
introduced[.](https://eel.is/c++draft/dcl.pre#5.sentence-2)
— end note]
Commit: 52c5a81001663d4ca8fca5e7b1634a6a5b0bd021
https://github.com/llvm/llvm-project/commit/52c5a81001663d4ca8fca5e7b1634a6a5b0bd021
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
[AMDGPU] Fix unittest linking error with `LLVM_LINK_LLVM_DYLIB` (#91727)
Follow-up to https://github.com/llvm/llvm-project/pull/88257
Commit: 575177f610274e909a17450c29d2e997f7a7f13d
https://github.com/llvm/llvm-project/commit/575177f610274e909a17450c29d2e997f7a7f13d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Add sub-feature nf (no flags update) for APX
This is a follow-up patch for #74199
Commit: 31774b6a8a88b435ce79f9ba048ef8bb00e2817e
https://github.com/llvm/llvm-project/commit/31774b6a8a88b435ce79f9ba048ef8bb00e2817e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Treat bitwise_cast, std::addressof, and new as trivial in WebKit checkers. (#91830)
Commit: 9d66dcaf172cdaa78a6709df989bcaaf90d2ccee
https://github.com/llvm/llvm-project/commit/9d66dcaf172cdaa78a6709df989bcaaf90d2ccee
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
Log Message:
-----------
[mlir][tosa] Work around GCC bug in tosa-to-tensor (#91521)
GCC 12 and 13 generate incorrect code for a pattern in the
tosa-to-tensor pass responsible for lowering tosa.reshape. This results
in the tosa.reshape lowering producing IR which fails to verify. I've
narrowed down the set of cmake flags needed to reproduce the issue to
this:
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS="mlir" \
-DLLVM_TARGETS_TO_BUILD=host \
-DLLVM_ENABLE_PROJECTS=mlir \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_CXX_FLAGS_RELEASE="-O2" \
-DCMAKE_CXX_FLAGS="-O2" \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_C_COMPILER=gcc
This is the failing test case:
func.func @fails_in_gcc_12(%arg0: tensor<?xf32>) -> tensor<1x1x1x?xf32>
{
%0 = tosa.reshape %arg0 {new_shape = array<i64: 1, 1, 1, -1>} :
(tensor<?xf32>) -> tensor<1x1x1x?xf32>
return %0 : tensor<1x1x1x?xf32>
}
This should lower to a tensor.expand_shape operation like so:
func.func @foo(%arg0: tensor<?xf32>) -> tensor<1x1x1x?xf32> {
%c0 = arith.constant 0 : index
%dim = tensor.dim %arg0, %c0 : tensor<?xf32>
%c1 = arith.constant 1 : index
%expanded = tensor.expand_shape %arg0 [[0, 1, 2, 3]] output_shape [1, 1,
1, %dim] : tensor<?xf32> into tensor<1x1x1x?xf32>
return %expanded : tensor<1x1x1x?xf32>
}
Under GCC 12/13 with the above cmake configuration, the
tensor.expand_shape looks like this
%2 = "tensor.expand_shape"(%arg0) <{reassociation = [[0, 1, 2, 3]],
static_output_shape = array<i64>}> : (tensor<?xf32>) ->
tensor<?x1x1x?xf32>
The key difference is the computed output type of `tensor<?x1x1x?xf32>`
rather than the expected `tensor<1x1x1x?xf32>`. This expand_shape fails
to verify with this error message:
error: 'tensor.expand_shape' op expected number of static shape dims to
be equal to the output rank (4) but found 0 inputs instead
The problematic code is calculating the intermediate shape of the
generated tensor.expand_shape operation in the
expand_shape/collapse_shape sequence that implements tosa.reshape.
// Compute result shape
bool resultIsStatic = true;
auto resultShape = llvm::map_to_vector(newShape, [&](int64_t size) {
// Omitted
// If we do not know the total size of the tensor, keep this dimension
// dynamic in the result shape.
if (!inputIsStatic) {
resultIsStatic = false;
return ShapedType::kDynamic;
}
});
if (resultIsStatic) {
// do something
return;
}
// do something else
return;
The failure point seems to be the update of the resultIsStatic variable
in the lambda body. The assignment of false is not propagated to the use
in the if-statement, resulting in the branch being taken when it should
not.
I've found several modification to the code that gets around the bug.
The version I settled on is one which makes the logic a little more
obvious.
Commit: 079fdef7d26d2004b5bfd467fddadf1906bc814b
https://github.com/llvm/llvm-project/commit/079fdef7d26d2004b5bfd467fddadf1906bc814b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
Log Message:
-----------
[TTI] getCommonMaskedMemoryOpCost - use the target getMemoryOpCost/getCFInstrCost implementations.
We were using the default implementations instead of the CRTP versions.
Commit: 23fe1fc6b78b7643a801ce3eb53d14b47b1dd0ff
https://github.com/llvm/llvm-project/commit/23fe1fc6b78b7643a801ce3eb53d14b47b1dd0ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i64-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
Log Message:
-----------
[TTI][X86] getGSScalarCost - don't bother with adding cost of ICMP for each i1 mask element
These can nearly always be folded into the existing cost of the branch, and brings the throughput costs of the scalarised gather/scatter code much closer to the llvm-mca/uica estimates
Commit: 3773191fc4e088fb06592e0404296f6051b1d4f7
https://github.com/llvm/llvm-project/commit/3773191fc4e088fb06592e0404296f6051b1d4f7
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/guard-split-debuginfo.ll
A llvm/test/Transforms/JumpThreading/preserving-debugloc-bitcast.ll
A llvm/test/Transforms/JumpThreading/preserving-debugloc-fold-select.ll
Log Message:
-----------
[DebugInfo][JumpThreading] Fix missing debug location updates (#91581)
Commit: cdd782183dc6a074baa1dbc92b37f1f4dbb4725f
https://github.com/llvm/llvm-project/commit/cdd782183dc6a074baa1dbc92b37f1f4dbb4725f
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
A llvm/test/Transforms/LICM/debugloc-preserve-fmul-drop-fdiv.ll
Log Message:
-----------
[DebugInfo][LICM] Fix missing debug location updates (#91729)
Commit: 1337622a492f4e77604b09ac8ff97042e46d8d42
https://github.com/llvm/llvm-project/commit/1337622a492f4e77604b09ac8ff97042e46d8d42
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/IRDL.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/IRDL.cpp
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/irdl.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
Log Message:
-----------
[MLIR] Add IRDL dialect loading to C API (#91852)
Being able to add custom dialects is one of the big missing pieces of
the C API. This change should make it achievable via IRDL. Hopefully
this should open custom dialect definition to non-C++ users of MLIR.
Commit: 379b77773cf653352f30f8c7cca393f4df9389be
https://github.com/llvm/llvm-project/commit/379b77773cf653352f30f8c7cca393f4df9389be
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
M clang/unittests/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp] Use pointee metadata size in isRoot()
Previously, isRoot() would return true for pointers with a base
of sizeof(InlineDescriptor), even if the actual metadata size of the
pointee was 0.
Commit: deffae5da123b32098914d8346bf4358a6792bdc
https://github.com/llvm/llvm-project/commit/deffae5da123b32098914d8346bf4358a6792bdc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/SourceManager.h
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/unittests/CodeGen/IRMatchers.h
Log Message:
-----------
[clang] Use StringRef::operator== instead of StringRef::equals (NFC) (#91844)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
24 under clang/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: baffaf000fd4667f33b3756d0d3b645b1d926b44
https://github.com/llvm/llvm-project/commit/baffaf000fd4667f33b3756d0d3b645b1d926b44
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/test/API/macosx/universal64/TestUniversal64.py
Log Message:
-----------
[lldb] Add required skipIfLLVMTargetMissing for X86 (NFC)
Commit: 2b386888b78327db4906b12401e1a89438471548
https://github.com/llvm/llvm-project/commit/2b386888b78327db4906b12401e1a89438471548
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/ctad.cpp
Log Message:
-----------
Reland: [clang] Use getDefaultArgRange instead of getDefaultArg to retrieve
source location in `ConvertConstructorToDeductionGuideTransform`.
The commit fec471649fffaa3ec44e17801e5c9605825e58bb was reverted by accident in 7415524b45392651969374c067041daa82dc89e7.
Reland it with a testcase.
Commit: 05cc2d5fe10ca3e7786863d9c600e1a3f8db93eb
https://github.com/llvm/llvm-project/commit/05cc2d5fe10ca3e7786863d9c600e1a3f8db93eb
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
A libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__type_traits/is_equality_comparable.h
M libcxx/include/module.modulemap
A libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
Log Message:
-----------
[libc++] Vectorize std::mismatch with trivially equality comparable types (#87716)
Commit: 91c917b19f076b510635a6168305f6f0117e7fad
https://github.com/llvm/llvm-project/commit/91c917b19f076b510635a6168305f6f0117e7fad
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/Modules/implicit-module-no-timestamp.cpp
Log Message:
-----------
[Modules] Enable MS Windows test for implicit-module-no-timestamp.cpp (#91738)
There is a follow-up commit for #90319. The Windows test was disabled in
that commit, but it should pass on this operating system. Therefore, it
would be beneficial to have it enabled for MS Windows.
Commit: 0869204cff22831d0bb19a82c99bf85e4deb4ae3
https://github.com/llvm/llvm-project/commit/0869204cff22831d0bb19a82c99bf85e4deb4ae3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix buildbot failures
This effectively reverts 5cd280433e8e and changes to QualifierFixerTest.cpp
from e62ce1f8842c.
Failed buidbots:
https://lab.llvm.org/buildbot/#/builders/236/builds/11223
https://lab.llvm.org/buildbot/#/builders/239/builds/6968
Commit: f42117c8517cc928c6373bad35ebf75d94fe865b
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Replace bitfield version in ProgramHeader. (#91797)
Avoid using bitfield in dxbc::ProgramHeader.
It could potentially be read incorrectly on any host depending on the
compiler.
>From [C++17's
[class.bit]](https://timsong-cpp.github.io/cppwp/n4659/class.bit#1)
> Bit-fields are packed into some addressable allocation unit. [ Note:
Bit-fields straddle allocation units on some machines and not on others.
Bit-fields are assigned right-to-left on some machines, left-to-right on
others. — end note ]
For #91793
Commit: e586556e375fc5c4f7e76b5c299cb981f2016108
https://github.com/llvm/llvm-project/commit/e586556e375fc5c4f7e76b5c299cb981f2016108
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86][CodeGen] Add NDD entries for transform TEST+AND -> TEST
Commit: 63224d717108d927e998da8a67050a6cc5dd74a2
https://github.com/llvm/llvm-project/commit/63224d717108d927e998da8a67050a6cc5dd74a2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
Reapply "Reapply "[clang][Interp] Create full type info for dummy pointers""
This reverts commit fb1c2dbc0a6ba641e0b39e0692ec6a4ee4444c4b.
Commit: c8864bceeb20582b4e7a739d8ba3e11052f0e49f
https://github.com/llvm/llvm-project/commit/c8864bceeb20582b4e7a739d8ba3e11052f0e49f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[BOLT] Fix race condition in a test (#91866)
Fix race condition in internal NFC test.
Commit: 1d6bf0ca29322b08e8b50681d440e7182441b025
https://github.com/llvm/llvm-project/commit/1d6bf0ca29322b08e8b50681d440e7182441b025
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
Log Message:
-----------
[clang][NFC] Remove class layout scissor (#89055)
PR #87090 amended `accumulateBitfields` to do the correct clipping. The scissor is no longer necessary and `checkBitfieldClipping` can compute its location directly when needed.
Commit: a477004d822d02290f9d388aa22a42490fd8180d
https://github.com/llvm/llvm-project/commit/a477004d822d02290f9d388aa22a42490fd8180d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[CostModel][X86] Remove getGSScalarCost and use getCommonMaskedMemoryOpCost directly
The generic getCommonMaskedMemoryOpCost now gives the same cost estimates for scalarized gather/scatter.
Commit: 502e77df1fc4aa859db6709e14e93af6207e4dc4
https://github.com/llvm/llvm-project/commit/502e77df1fc4aa859db6709e14e93af6207e4dc4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CostModel][X86] getGSVectorCost - remove FIXME
getGSVectorCost has supported other TargetCostKind since a55127281b2ed5f24f848b9e5c70870ad170bc3f
Commit: 78b3a00418ce6da0426a261a64a77608d0264fe5
https://github.com/llvm/llvm-project/commit/78b3a00418ce6da0426a261a64a77608d0264fe5
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] `int-range-optmizations`: Fix referencing of deleted ops (#91807)
The pass runs a `DataFlowSolver` and collects state information on the
input IR. Then, the rewrite driver and folding is applied. During
pattern application and folding it can happen that an Op from the input
IR is deleted and a new Op is created at the same address. When the
newly created Ops is looked up in the `DataFlowSolver` state memory, the
state of the original Op is returned.
This patch adds a method to `DataFlowSolver` which removes all state
related to a `ProgramPoint`. It also adds a listener to the Pass which
clears the state information of deleted Ops from the `DataFlowSolver`.
Fix https://github.com/llvm/llvm-project/issues/81228
Commit: 17daa204feadf9c28fc13b7daa69c3cbe865b238
https://github.com/llvm/llvm-project/commit/17daa204feadf9c28fc13b7daa69c3cbe865b238
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)
This PR complete [DR1815](https://wg21.link/CWG1815) under the guidance
of `FIXME` comments. And reuse `CXXDefaultInitExpr` rewrite machinery to
clone the initializer expression on each use that would lifetime extend
its temporaries.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
https://github.com/llvm/llvm-project/commit/b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
Author: David Green <david.green at arm.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add intrinsics handling to shuffleToIdentity (#91000)
This is probably the most involved addition, as it tries to make use of
isTriviallyVectorizable with isVectorIntrinsicWithScalarOpAtArg to handle a
number of different intrinsics that are all lane-wise. Additional tests have
been added for some of the different intrinsics from
isVectorIntrinsicWithScalarOpAtArg / isVectorIntrinsicWithOverloadTypeAtArg.
Commit: b5af667b01458e9083256f2614df175916c73e5a
https://github.com/llvm/llvm-project/commit/b5af667b01458e9083256f2614df175916c73e5a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Map branch source address to the containing basic block in BAT YAML
Fix an issue where the profile for all branches that have a BRANCHENTRY
is dropped. If the branch has an entry in BAT, it will be translated to
its input offset. We used to only permit the basic block offset as a
branch source. Perform a lookup of containing basic block instead.
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: maksfb, dcci, rafaelauler, ayermolo
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/91273
Commit: 5bde8017a1109128d011510dcf4ba79140a224fe
https://github.com/llvm/llvm-project/commit/5bde8017a1109128d011510dcf4ba79140a224fe
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/vectorcall.c
Log Message:
-----------
[X86][vectorcall] Pass built types byval when xmm0~6 exhausted (#91846)
This is how MSVC handles it. https://godbolt.org/z/fG386bjnf
Commit: 626025ac7796b70cde9fc0fd4f688c3441949d04
https://github.com/llvm/llvm-project/commit/626025ac7796b70cde9fc0fd4f688c3441949d04
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix buildbot failures"
This reverts commit 0869204cff22831d0bb19a82c99bf85e4deb4ae3, which caused a
buildbot failure:
https://lab.llvm.org/buildbot/#/builders/5/builds/43322
Commit: ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
https://github.com/llvm/llvm-project/commit/ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
[RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)
This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same
Commit: de641e289269061f8bdb138bb5c50e27ef4b354f
https://github.com/llvm/llvm-project/commit/de641e289269061f8bdb138bb5c50e27ef4b354f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix buildbot failures
Fix the following buildbot failures by making LangOpts in the unit test
static:
https://lab.llvm.org/buildbot/#/builders/236/builds/11223
https://lab.llvm.org/buildbot/#/builders/239/builds/6968
Commit: abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
https://github.com/llvm/llvm-project/commit/abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/test/Transforms/GVNSink/int_sideeffect.ll
Log Message:
-----------
[GVNSink] Fix non-determinisms by using a deterministic ordering (#90995)
GVNSink used to order instructions based on their pointer values and was
prone to non-determinism because of that.
This patch ensures all the values stored are using a deterministic
order. I have also added a verfier(`ModelledPHI::verifyModelledPHI`) to
assert when ordering isn't preserved.
Additionally, I have added a test case (mirror graph image of an
existing test) that would have failed before this patch.
Fixes: #77852
Commit: d67c3a4b1f465da681b829fda54619ff0b5bd1b5
https://github.com/llvm/llvm-project/commit/d67c3a4b1f465da681b829fda54619ff0b5bd1b5
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
Revert "[RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)"
This reverts commit ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97.
Commit: 22213d58832e8fce344a7222ed705e4c7f4eb6b1
https://github.com/llvm/llvm-project/commit/22213d58832e8fce344a7222ed705e4c7f4eb6b1
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
Recommit [RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)
Insert a break to fix the implicit-fallthrough caught by sanitizer.
Original commit message:
This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same
Commit: b1f04d57f5818914d7db506985e2932f217844bd
https://github.com/llvm/llvm-project/commit/b1f04d57f5818914d7db506985e2932f217844bd
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M lld/test/ELF/aarch64-thunk-reuse2.s
M lld/test/ELF/linkerscript/orphan-phdrs2.test
M lld/test/ELF/mips-got-page-script.s
M lld/test/ELF/ttext-tdata-tbss.s
Log Message:
-----------
[ELF,test] Fix typo in check prefixes
Commit: cb4fca929bd10a5c160a0f9bd58f2d7499669a89
https://github.com/llvm/llvm-project/commit/cb4fca929bd10a5c160a0f9bd58f2d7499669a89
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
Log Message:
-----------
[AMDGPU] Extend llvm.amdgcn.update.dpp intrinsic to support f64 (#91190)
Follow up patch to https://github.com/llvm/llvm-project/pull/89217,
before we make changes to atomic optimizer.
Commit: 2163ae761808ca0e5478357384f6ddbacce279eb
https://github.com/llvm/llvm-project/commit/2163ae761808ca0e5478357384f6ddbacce279eb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVStringPool.h
Log Message:
-----------
[LVStringPool] Remove incorrect std::move (NFCI)
"Value" is still used afterwards in the return value. In this case,
this doesn't actually make a difference because a move for a
primitive type is the same as a copy, so there is no actual
misbehavior. Still drop the std::move to make the code less
confusing.
Commit: eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
https://github.com/llvm/llvm-project/commit/eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
A mlir/test/Transforms/mem2reg.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][Mem2Reg] Fix multi slot handling & move retry handling (#91464)
This commit fixes Mem2Regs mutli-slot allocator handling and extends the
test dialect to test this.
Additionally, this modifies Mem2Reg's API to always attempt a full
promotion on all the passed in "allocators". This ensures that the pass
does not require unnecessary walks over the regions and improves caching
benefits.
Commit: 662267daea7e76ee3cee90c63ab2bc2964b77b76
https://github.com/llvm/llvm-project/commit/662267daea7e76ee3cee90c63ab2bc2964b77b76
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll
Log Message:
-----------
[PPC] add testcase, nfc
Commit: e6785fd75284f53b9e23db6f249598e09f3fc39f
https://github.com/llvm/llvm-project/commit/e6785fd75284f53b9e23db6f249598e09f3fc39f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[Scalar] Fix a warning
This patch fixes:
llvm/lib/Transforms/Scalar/GVNSink.cpp:270:33: error: lambda capture
'this' is not used [-Werror,-Wunused-lambda-capture]
While I am at it, this patch replaces llvm::for_each with a
range-based for loop.
Commit: e74a34b6932965dfdc182b69f779e5bee551585a
https://github.com/llvm/llvm-project/commit/e74a34b6932965dfdc182b69f779e5bee551585a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Merge IdentID with IdentifierID
In ASTBitCodes.h, there are two type alias for the ID type of
Identifiers with the same underlying type. It is confusing. This patch
tries to merge the `IdentID` to `IdentifierID` to erase such confusion.
Commit: f841ca0c355ae53c96f615996d0aff4648da8618
https://github.com/llvm/llvm-project/commit/f841ca0c355ae53c96f615996d0aff4648da8618
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M lld/COFF/DebugTypes.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/wasm/InputChunks.cpp
Log Message:
-----------
Use StringRef::operator== instead of StringRef::equals (NFC) (#91864)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
276 under llvm-project/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: 1fadb2b0c881ced247931f442fdee6c4ed96dccb
https://github.com/llvm/llvm-project/commit/1fadb2b0c881ced247931f442fdee6c4ed96dccb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-12 (Sun, 12 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"
This reverts commits e62ce1f8842c, 5cd280433e8e, and de641e289269 due to
buildbot failures.
Commit: b5f4210e9f51f938ae517f219f04f9ab431a2684
https://github.com/llvm/llvm-project/commit/b5f4210e9f51f938ae517f219f04f9ab431a2684
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/bit_ceil.ll
Log Message:
-----------
[InstCombine] Drop nuw flag when CtlzOp is a sub nuw (#91776)
See the following case:
```
define i32 @src1(i32 %x) {
%dec = sub nuw i32 -2, %x
%ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
%sub = sub nsw i32 32, %ctlz
%shl = shl i32 1, %sub
%ugt = icmp ult i32 %x, -2
%sel = select i1 %ugt, i32 %shl, i32 1
ret i32 %sel
}
define i32 @tgt1(i32 %x) {
%dec = sub nuw i32 -2, %x
%ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
%sub = sub nsw i32 32, %ctlz
%and = and i32 %sub, 31
%shl = shl nuw i32 1, %and
ret i32 %shl
}
```
`nuw` in `%dec` should be dropped after the select instruction is
eliminated.
Alive2: https://alive2.llvm.org/ce/z/7S9529
Fixes https://github.com/llvm/llvm-project/issues/91691.
Commit: fd4efecac21d92428d2f804f43e85bdfa460bdd5
https://github.com/llvm/llvm-project/commit/fd4efecac21d92428d2f804f43e85bdfa460bdd5
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/CAPI/transform_interpreter.c
Log Message:
-----------
[mlir] Fix warning due to non ISO standard __FUNCTION__ usage (#91851)
This PR fixes the warning message due to the non ISO standard usage of
`__FUNCTION__`
```
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c: In function ‘testApplyNamedSequence’:
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c:21:27: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic]
21 | fprintf(stderr, "%s\n", __FUNCTION__);
|
```
As `__FUNCTION__` is another name of `__func__` and it conforms to the
specification. We should be able to use `__func__` here.
Ref:
https://stackoverflow.com/questions/52962812/how-to-silence-gcc-pedantic-wpedantic-warning-regarding-function
Compiler
```
Ubuntu clang version 18.1.3 (1)
Target: x86_64-pc-linux-gnu
```
Commit: 5082feabd155a59d7ae0249713def100516b839d
https://github.com/llvm/llvm-project/commit/5082feabd155a59d7ae0249713def100516b839d
Author: Alcaro <floating at muncher.se>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/Block-ABI-Apple.rst
Log Message:
-----------
[Documentation][Blocks ABI] Fix typoed integer (#65688)
Fix an integer value in the prose to match the rest of the content.
Commit: 5ca368501ae81ca364f66ee6053aa4f8104fdbdd
https://github.com/llvm/llvm-project/commit/5ca368501ae81ca364f66ee6053aa4f8104fdbdd
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Update BUILD file for 1337622a492f4e77604b09ac8ff97042e46d8d42
Commit: baa5beecc04aef9da258e31e4a9de1a27051ee5a
https://github.com/llvm/llvm-project/commit/baa5beecc04aef9da258e31e4a9de1a27051ee5a
Author: tyb0807 <sontuan.vu119 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/nvgpu.py
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[NFC] Make NVGPU casing consistent (#91903)
Commit: 0bacffbbfc081b4147ac935512e2c5da9e3c06f0
https://github.com/llvm/llvm-project/commit/0bacffbbfc081b4147ac935512e2c5da9e3c06f0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
A mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests/patterns for vector.transpose (#91359)
Pretty much all logic that we have today for lowering vector.transpose
assumes fixed length vectors (it's done via vector.shuffle that don't
support scalable vectors). This patch updates related tests and patterns
to capture and document this limitation more explicitly.
Note that `vector.transpose` is a valid operation in the context of
scalable vectors, but we are yet to implement the missing lowerings.
Summary of changes:
* `@transpose_nx8x2xf32` is renamed as `@transpose_scalabl`e
and moved near other tests using `lowering_strategy = "shuffle_1d"
(to avoid duplicating TD sequences)
* tests specific to X86 (`avx2_lowering_strategy = true`) are moved to
a dedicated file (to separate generic tests from target-specific
tests)
* `@transpose10_nx4xnx1xf32` duplicated `@transpose10_4xnx1xf32` and was
deleted (the latter is renamed as `@transpose10_4x1xf32_scalable` to
match its fixed-width counterpart: `@transpose10_4x1xf32`)
Commit: d182877ba3f5ad93e061f68a9ecce38cb8cec418
https://github.com/llvm/llvm-project/commit/d182877ba3f5ad93e061f68a9ecce38cb8cec418
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: fix the transformation for the require-clause expr (#90961)
In the clang AST, constraint nodes are deliberately not instantiated
unless they are actively being evaluated. Consequently, occurrences of
template parameters in the require-clause expression have a subtle
"depth" difference compared to normal occurrences in places, such as
function parameters. When transforming the require-clause, we must take
this distinction into account.
The existing implementation overlooks this consideration. This patch is
to rewrite the implementation of the require-clause transformation to
address this issue.
Fixes #90177
Commit: 109ede496ecf6de5dabace08d73ec7604b343a6b
https://github.com/llvm/llvm-project/commit/109ede496ecf6de5dabace08d73ec7604b343a6b
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64] Extend v2i64 fptosi.sat to v2f64 (#91714)
This helps it produce a single instruction for the saturate, as opposed
to having to scalarize.
Commit: ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
https://github.com/llvm/llvm-project/commit/ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Adjust BUILD.bazel for eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
Commit: 279a659e9772e48d95ad7d81f6deb00ee31e35e1
https://github.com/llvm/llvm-project/commit/279a659e9772e48d95ad7d81f6deb00ee31e35e1
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] lower rsqrt to sqrt + fdiv (#91344)
This commit creates an expansion pattern to lower math.rsqrt(x) into
fdiv(1, sqrt(x)).
Commit: d4f5cf267936a082196b0c22fe45c730b24b9fe0
https://github.com/llvm/llvm-project/commit/d4f5cf267936a082196b0c22fe45c730b24b9fe0
Author: Azmat Yusuf <azmatyusuf2022 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
Log Message:
-----------
[Clang] Added check for unexpanded pack in attribute [[assume]] (#91893)
Added a check for unexpanded parameter pack in attribute [[assume]].
Tested it with expected-error statements from clang fronted.
This fixes #91232.
Commit: 220756f1f92b335cbafdff67c570d096a6925d87
https://github.com/llvm/llvm-project/commit/220756f1f92b335cbafdff67c570d096a6925d87
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/binop.ll
Log Message:
-----------
[AArch64][Inline] Regenerate Inline/AArch64/binop.ll test check lines. NFC
Should hopefully help with #91854
Commit: 0fb7546c587198df11714cfc433d4c5552af0888
https://github.com/llvm/llvm-project/commit/0fb7546c587198df11714cfc433d4c5552af0888
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/icmp.ll
Log Message:
-----------
[AArch64][NFC] Pre-commit Test for Select G_ICMP instruction through TableGen (#89932)
Commit: c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
https://github.com/llvm/llvm-project/commit/c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] fix rsqrt test to not check sign of NaN
Hotfix for "[mlir][math] lower rsqrt to sqrt + fdiv (#91344)"
Commit: 61d4ca872215d3dfff0b3c92151dcbdc546a0aab
https://github.com/llvm/llvm-project/commit/61d4ca872215d3dfff0b3c92151dcbdc546a0aab
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
Log Message:
-----------
[clang][ExtractAPI] Distinguish between record kind for display and for RTTI (#91466)
rdar://127732562
Commit: 119aecb955df91173d69c455bba0abd74271c215
https://github.com/llvm/llvm-project/commit/119aecb955df91173d69c455bba0abd74271c215
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/test/DebugInfo/ARM/bitfield.ll
M llvm/test/DebugInfo/NVPTX/packed_bitfields.ll
M llvm/test/DebugInfo/X86/packed_bitfields.ll
Log Message:
-----------
[DebugInfo] Emit negative DW_AT_bit_offset in explicit signed form (#87994)
Before this patch, the value of DW_AT_bit_offset, used for bitfields
before DWARF version 4, was always emitted as an unsigned integer using
the form DW_FORM_data<n>. If the value was originally a signed integer,
for instance in the case of negative offsets, it was up to debug
information consumers to re-cast it to a signed integer.
This is problematic since the burden of deciding if the value should be
read as signed or unsigned was put onto the debug info consumers: the
DWARF specification doesn't define DW_AT_bit_offset's underlying type.
If a debugger decided to interpret this attribute in the form data<n> as
unsigned, then negative offsets would be completely broken.
The DWARF specification version 3 mentions in the Data Representation
section, page 127:
> If one of the DW_FORM_data<n> forms is used to represent a signed or
unsigned integer, it can be hard for a consumer to discover the context
necessary to determine which interpretation is intended. Producers are
therefore strongly encouraged to use DW_FORM_sdata or DW_FORM_udata for
signed and unsigned integers respectively, rather than DW_FORM_data<n>.
Therefore, the proposal is to use DW_FORM_sdata, which is explicitly
signed. This is an indication to consumers that the offset must be
parsed unambiguously as a signed integer.
Finally, gcc already uses DW_FORM_sdata for negative offsets, fixing the
potential ambiguity altogether.
This patch mimics gcc's behaviour by emitting negative values of
DW_AT_bit_offset using the DW_FORM_sdata form. This eliminates any
potential misinterpretation.
One could argue that all values should use DW_FORM_sdata, but for the
sake of parity with gcc, it is safe to restrict the change to negative
values.
Commit: 3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
https://github.com/llvm/llvm-project/commit/3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
Log Message:
-----------
[libcxx] [test] Fix the locale ctype widen tests on AIX (#91744)
The C locale on AIX uses `ISO-8859-1`, where `0xFB` is a valid
character. Widening char(-5) succeeds and produces L'\u00fb' the same as
on macOS, FreeBSD, and Windows. This patch removes `XFAIL:
LIBCXX-AIX-FIXME` and uses the macOS, FreeBSD, and WIN32 code path for
AIX.
Commit: 7eeccc1430eeaa434724522945245ba21c97ac57
https://github.com/llvm/llvm-project/commit/7eeccc1430eeaa434724522945245ba21c97ac57
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
Log Message:
-----------
[libcxx][test] Fix numpunct grouping tests on AIX (#91781)
The `grouping` string for locale `en_US.UTF-8` and `fr_FR.UTF-8` on AIX
is `3`. This is different from Linux's `3;3` but is the same as Windows.
This patch removes `XFAIL: LIBCXX-AIX-FIXME` and changes to use the
`WIN32` code path.
Commit: fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
https://github.com/llvm/llvm-project/commit/fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
A llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
A llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Add an all-in-one histogram intrinsic
Based on discussion from
https://discourse.llvm.org/t/rfc-vectorization-support-for-histogram-count-operations/74788
Current interface is:
llvm.experimental.histogram(<vecty> ptrs, <intty> inc_amount, <vecty> mask)
The integer type used by 'inc_amount' needs to match the type of the buckets in memory.
The intrinsic covers the following operations:
* Gather load
* histogram on the elements of 'ptrs'
* multiply the histogram results by 'inc_amount'
* add the result of the multiply to the values loaded by the gather
* scatter store the results of the add
Supports lowering to histcnt instructions for AArch64 targets, and scalarization for all others at present.
Commit: fcc1baaa99fda4f5633e82f47e8de33c99bbcdd2
https://github.com/llvm/llvm-project/commit/fcc1baaa99fda4f5633e82f47e8de33c99bbcdd2
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64ISelLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:27379:19:
error: unused variable 'CID' [-Werror,-Wunused-variable]
ConstantSDNode *CID = cast<ConstantSDNode>(IntID.getNode());
^
1 error generated.
Commit: 0a6103eaeb7f22c009f9add87c84780b6f7f293a
https://github.com/llvm/llvm-project/commit/0a6103eaeb7f22c009f9add87c84780b6f7f293a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
Log Message:
-----------
Revert "[lldb] Attempt to fix signal-in-leaf-function-aarch64 on darwin"
This reverts commit b903badd73a2467fdd4e363231f2bf9b0704b546.
TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
see lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261
Commit: 4b44502ac81259630b422e791a82e0252e6478c3
https://github.com/llvm/llvm-project/commit/4b44502ac81259630b422e791a82e0252e6478c3
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
R lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
R lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
Revert "[lldb/aarch64] Fix unwinding when signal interrupts a leaf function (#91321)"
This reverts commit fd1bd53ba5a06f344698a55578f6a5d79c457e30.
TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
See lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261
Commit: 99934daa9b795278b8cc168fad430e09473b4992
https://github.com/llvm/llvm-project/commit/99934daa9b795278b8cc168fad430e09473b4992
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[ADT] Introduce `APInt::clearHighBits` (#91938)
This patch addresses
https://github.com/llvm/llvm-project/pull/90034#discussion_r1579235844.
Commit: efe91cf78bccda90637c817e3e592b5f34e891d0
https://github.com/llvm/llvm-project/commit/efe91cf78bccda90637c817e3e592b5f34e891d0
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/test/Analysis/gh-issue-89185.c
Log Message:
-----------
[clang][analyzer] Check for label location bindings in `DereferenceChecker` (#91119)
Resolves #89264
Values should not be stored in addresses of labels, this throws a fatal
error when this happens.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 345f57df16af7e4fac3a321035e504b5d49206f4
https://github.com/llvm/llvm-project/commit/345f57df16af7e4fac3a321035e504b5d49206f4
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Overflow flags propagation in arith canonicalizations. (#91646)
Commit: c5b0da9d83971d94d3b26105b1e42d3a3826ef1e
https://github.com/llvm/llvm-project/commit/c5b0da9d83971d94d3b26105b1e42d3a3826ef1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
Log Message:
-----------
InstCombine: Preserve inbounds in PointerReplacer (#91735)
This avoids spurious test changes in a future commit.
Commit: 91d7ca904c601d181c431bffbf2773165de2fabd
https://github.com/llvm/llvm-project/commit/91d7ca904c601d181c431bffbf2773165de2fabd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/DebugInfo/assignment-tracking/X86/hotcoldsplit.ll
Log Message:
-----------
[DebugInfo] Remap extracted DIAssignIDs in hotcoldsplit (#91940)
Fix #91814
When instructions are extracted into a new function the `DIAssignID` metadata
uses and attachments need to be remapped so that the stores and assignment
markers don't link to stores and assignment markers in the original function.
This matches existing inlining behaviour for DIAssignIDs.
Commit: 32939a16bcb084c2572f201ee42613413784cf7e
https://github.com/llvm/llvm-project/commit/32939a16bcb084c2572f201ee42613413784cf7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M offload/src/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove unused compiler definition from CMake
Commit: bc17361c2baa0351f7f19b716fbe76bc9f99e903
https://github.com/llvm/llvm-project/commit/bc17361c2baa0351f7f19b716fbe76bc9f99e903
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Fix delayed-definition-die-searching.test for Windows
This is follow up fix on top of 9a7262c2601874e5aa64c5db19746770212d4b44
This fixes delayed-definition-die-searching.test to use -gdwarf. This is
required to explicitly select DWARF instead of PDB on windows.
Fixe LLDB build lldb-aarch64-windows:
https://lab.llvm.org/buildbot/#/builders/219/builds/11303
Commit: 710d95d1ecb4b6d69507cb910274ef3077ddc9c9
https://github.com/llvm/llvm-project/commit/710d95d1ecb4b6d69507cb910274ef3077ddc9c9
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb] Fixed the test TestSettings when run with a remote target (#91915)
The setting `platform.module-cache-directory` is a local path on the
host. It cannot be set to a working directory from the remote target.
This test failed in case of Windows host and Linux target because of the
incompatible path. Use the local build dir instead.
Commit: 7ce3dd49eb80816e3af52022ba2521b28a068c7b
https://github.com/llvm/llvm-project/commit/7ce3dd49eb80816e3af52022ba2521b28a068c7b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/settings/quoting/TestQuoting.py
Log Message:
-----------
[lldb] Fixed the test TestQuoting (#91886)
os.path.join() uses the path separator of the host OS by default.
outfile_arg will be incorrect in case of Windows host and Linux target.
Use lldbutil.append_to_process_working_directory() instead.
Commit: 4ff45eee36f003cda18a3654df4086e69dc245b5
https://github.com/llvm/llvm-project/commit/4ff45eee36f003cda18a3654df4086e69dc245b5
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Log Message:
-----------
[GlobalISel][KnownBits] Simplify G_CONSTANT handling (#91946)
We called getIConstantVRegVal which again queried MRI to get the VReg
def. We already have the def, so just get the CImm directly. It can't
fail.
Commit: 8823abea6fb029bf24abd501e43844e3f5b9c444
https://github.com/llvm/llvm-project/commit/8823abea6fb029bf24abd501e43844e3f5b9c444
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Log Message:
-----------
InstCombine: Simplify vector initialization
Commit: 3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
https://github.com/llvm/llvm-project/commit/3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Swap order of arguments to MatchBinaryAddToConst (NFCI). (#91945)
The argument order to MatchBinaryAddToConst doesn't match the comment
and also is counter-intuitive (passing RHS before LHS, C2 before C1).
This patch adjusts the order to be inline with the calls above, which
should be equivalent, but more natural:
https://alive2.llvm.org/ce/z/ZWGp-Z
PR: https://github.com/llvm/llvm-project/pull/91945
Commit: 19a62fbe00930d7eaa9f948c8dd26d58f5422c00
https://github.com/llvm/llvm-project/commit/19a62fbe00930d7eaa9f948c8dd26d58f5422c00
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][MLIR] Fix llvm::sort comparator. (#91947)
llvm::sort requires the comparator to return `false` for equal elements,
otherwise it triggers `Your comparator is not a valid strict-weak
ordering` assert.
Commit: 5e9401c2c21efcd55aae42d0b3d68034d344b08d
https://github.com/llvm/llvm-project/commit/5e9401c2c21efcd55aae42d0b3d68034d344b08d
Author: Chris Warner <73851242+cwarner-8702 at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/tool/ClangQuery.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-query/Inputs/empty.script
A clang-tools-extra/test/clang-query/Inputs/file.script
A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
M clang-tools-extra/test/clang-query/errors.c
A clang-tools-extra/test/clang-query/file-empty.c
A clang-tools-extra/test/clang-query/file-query.c
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
Log Message:
-----------
[clang-query] Load queries and matchers from file during REPL cycle (#90603)
The clang-query tool has the ability to execute or pre-load queries from
a file when the tool is launched, but doesn't have the ability to do the
same from the interactive REPL prompt. Because the prompt also doesn't
seem to allow multi-line matchers, this can make prototyping and
iterating on more complicated matchers difficult.
Supporting a dynamic load at REPL time allows the cost of reading the
compilation database and building the AST to be imposed just once, and
allows faster prototyping.
Commit: e76b257483e6c6743de0fa6eca4d0cc60e08385d
https://github.com/llvm/llvm-project/commit/e76b257483e6c6743de0fa6eca4d0cc60e08385d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Clang][OpenMP][Tile] Ensure AST node uniqueness. (#91325)
One of the constraints of an AST is that every node object must appear
at most once, hence we define lamdas that create a new AST node at every
use.
Commit: 061db17a3075e34c55ebd463d06e16771e398e04
https://github.com/llvm/llvm-project/commit/061db17a3075e34c55ebd463d06e16771e398e04
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: 1a4b113a41266b94fe217e5fe90d91db15d2356b
https://github.com/llvm/llvm-project/commit/1a4b113a41266b94fe217e5fe90d91db15d2356b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CostModel][X86] getCastInstrCost - update cost tables to support CostKinds
Add TypeConversionCostKindTblEntry to hold the costs kinds and update the cast tables to take the existing default codesize/latency/sizelatency values (I'll update these values in future commits).
I've moved AdjustCost to the end of the function to ensure we don't accidentally use it, apart from when we fallback to default cost calculations.
Commit: f0590581aa01944a3bb502a622a412617d1efcbb
https://github.com/llvm/llvm-project/commit/f0590581aa01944a3bb502a622a412617d1efcbb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Clang][OpenMP] Fix unused lambda capture warning.
Commit: ca1bd5995f6ed934f9187305190a5abfac049173
https://github.com/llvm/llvm-project/commit/ca1bd5995f6ed934f9187305190a5abfac049173
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)
A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.
Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.
Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.
The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.
Commit: d2676a73336b83607565fb2e4ce61bd67d732b09
https://github.com/llvm/llvm-project/commit/d2676a73336b83607565fb2e4ce61bd67d732b09
Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
A libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
A libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
A libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_rwlockattr_test.cpp
Log Message:
-----------
[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions (#90249)
Closes #89443
I added the two missing functions and respective test cases. Let me know
if anything needs changing.
Commit: 29a986bc0972c7d2deb85f8789ea3183c8ca06ca
https://github.com/llvm/llvm-project/commit/29a986bc0972c7d2deb85f8789ea3183c8ca06ca
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
new-prs-labeler.yml: Include conversion passes of TOSA/emitc (#91921)
Commit: 27595c4befbbf42891ef7e13fe28926eb7fc825d
https://github.com/llvm/llvm-project/commit/27595c4befbbf42891ef7e13fe28926eb7fc825d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
R libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
R libc/src/pthread/pthread_rwlockattr_getkind_np.h
M libc/src/pthread/pthread_rwlockattr_init.cpp
R libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
R libc/src/pthread/pthread_rwlockattr_setkind_np.h
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_rwlockattr_test.cpp
Log Message:
-----------
Revert "[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions" (#91966)
Reverts llvm/llvm-project#90249
Fullbuild is broken:
https://lab.llvm.org/buildbot/#/builders/163/builds/56501
Commit: 25a3ba33153e99c4614d404ba18b761d652e24de
https://github.com/llvm/llvm-project/commit/25a3ba33153e99c4614d404ba18b761d652e24de
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
R flang/lib/Lower/OpenMP/Decomposer.cpp
R flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
R llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
Revert "[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)"
It breaks some builds, e.g.
https://lab.llvm.org/buildbot/#/builders/268/builds/13909
This reverts commit ca1bd5995f6ed934f9187305190a5abfac049173.
Commit: 1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
https://github.com/llvm/llvm-project/commit/1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/test/API/commands/platform/process/launch/TestPlatformProcessLaunch.py
Log Message:
-----------
[lldb] Fixed the test TestPlatformProcessLaunch running on a remote target (#91923)
Transfer `stdio.log` from the remote target if necessary.
Commit: 13cd88108f00fc97bcd1e4eb7cc9e4e388928677
https://github.com/llvm/llvm-project/commit/13cd88108f00fc97bcd1e4eb7cc9e4e388928677
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptask_if_false.mlir
Log Message:
-----------
[mlir][OpenMP] - Honor dependencies in code-generation of the if clause in `omp.task` correctly (#90891)
This patch fixes the code generation of the if clause, specifically when the
condition evaluates to false and when the task directive has the depend
clause on it. When the if clause of a task construct evaluates to false,
then the task is an undeferred task. This undeferred task still has to
honor dependencies. Previously, the OpenMPIRbuilder didn't honor
dependencies. This patch fixes that.
Fixes https://github.com/llvm/llvm-project/issues/90869
Commit: 4445ed4244cd00981a04b1f461128ed4c47c1dec
https://github.com/llvm/llvm-project/commit/4445ed4244cd00981a04b1f461128ed4c47c1dec
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][MLIR] Fix llvm::sort comparator. (#91963)
The current comparator doesn't work correctly when two identical entries
with -1 are compared. The comparator returns `first` is case when
`aIndex == -1 && bIndex == -1`, but it should `continue` as those
indexes are the same.
Commit: c4e9e41199127bb288e84e9477da99f28941edb3
https://github.com/llvm/llvm-project/commit/c4e9e41199127bb288e84e9477da99f28941edb3
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Ensure ``if consteval`` consititute an immediate function context (#91939)
We did not set the correct evaluation context for the compound statement
of an ``if consteval`` statement
in a templated entity in TreeTransform.
Fixes #91509
Commit: b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
https://github.com/llvm/llvm-project/commit/b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/tile_ast_print.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_messages.cpp
A openmp/runtime/test/transform/tile/intfor.c
A openmp/runtime/test/transform/tile/negtile_intfor.c
A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-intfor.cpp
Log Message:
-----------
[Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)
Allow non-constants in the `sizes` clause such as
```
#pragma omp tile sizes(a)
for (int i = 0; i < n; ++i)
```
This is permitted since tile was introduced in [OpenMP
5.1](https://www.openmp.org/spec-html/5.1/openmpsu53.html#x78-860002.11.9).
It is possible to sneak-in negative numbers at runtime as in
```
int a = -1;
#pragma omp tile sizes(a)
```
Even though it is not well-formed, it should still result in every loop
iteration to be executed exactly once, an invariant of the tile
construct that we should ensure. `ParseOpenMPExprListClause` is
extracted-out to be reused by the `permutation` clause of the
`interchange` construct. Some care was put into ensuring correct behavior
in template contexts.
Commit: 69e13125af2511abd59499272c88fcb6f19b9300
https://github.com/llvm/llvm-project/commit/69e13125af2511abd59499272c88fcb6f19b9300
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir
Log Message:
-----------
[AArch64][GlobalISel] Select G_ICMP instruction through TableGen (#89932)
G_ICMP NE => XOR(G_ICMP EQ, -1) moved to Legalizer to allow for combines
if they come up in following passes.
Commit: ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
https://github.com/llvm/llvm-project/commit/ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A mlir/utils/verify-canon/verify_canon.py
Log Message:
-----------
[mlir][utils] Add script to verify canonicalizations against Alive2 (#91867)
This script takes IR before and after canonicalization, translates it
into llvm IR and converts it to format suitable for Alive2
https://alive2.llvm.org/ce/
This is primarily for arith canonicalizations verification, but
technically it can be adapted for any dialect translatable to llvm.
Usage `python verify_canon.py canonicalize.mlir -f func1 func2 ...`
Example output: https://alive2.llvm.org/ce/z/KhQs4J
Initial discussion:
https://github.com/llvm/llvm-project/pull/91646#pullrequestreview-2049342826
Commit: 96ebed7c7481bb143c9d3db5f4c128bb32545229
https://github.com/llvm/llvm-project/commit/96ebed7c7481bb143c9d3db5f4c128bb32545229
Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
Log Message:
-----------
[analyzer][NFC] Move `CTUPhase1InliningMode` option to String analyzer options category (#91932)
The `CTUPhase1InliningMode`option was originally placed under Unsigned
analyzer options, but its value is a string.
This move aligns the option with its actual type.
Commit: 3acc6919109d91c1f047a02229a1785b461259d9
https://github.com/llvm/llvm-project/commit/3acc6919109d91c1f047a02229a1785b461259d9
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91821)
… (#90885)"
This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
Commit: 8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
https://github.com/llvm/llvm-project/commit/8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/test/Evaluate/rewrite-out_of_range.F90
Log Message:
-----------
[flang] Fix Failing rewrite-out_of_range testcase to only check for real 10 on supported platforms (#91629)
The real 10 tests fail on `AIX` on `PPC`, only check them on `x86_64`
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: d8197728145137e2aa00f3b2ed69914f48851d09
https://github.com/llvm/llvm-project/commit/d8197728145137e2aa00f3b2ed69914f48851d09
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/icmp.ll
Log Message:
-----------
[AArch64][NFC] Pre-commit tests for Select G_ICMP Zero Instruction (#90054)
Commit: c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
https://github.com/llvm/llvm-project/commit/c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] device_type clause Sema for Compute constructs
device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to. As we don't have a source for the valid
architectures yet, this patch just accepts all.
Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.
Commit: 67c18721eb2170a6cd7af461e16d994b1b83363a
https://github.com/llvm/llvm-project/commit/67c18721eb2170a6cd7af461e16d994b1b83363a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp] Return false from visitExpr() if allocateLocal failed
Commit: 2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
https://github.com/llvm/llvm-project/commit/2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerGlobalOrExternal - cleanup SDLoc. NFC.
Don't create a new local SDLoc and then take a reference to it, just create the SDLoc directly.
Commit: b4393c7d7ea538e92428c7769de590615509f8b4
https://github.com/llvm/llvm-project/commit/b4393c7d7ea538e92428c7769de590615509f8b4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] FP_TO_INTHelper - remove duplicate SDLoc. NFC.
Commit: b5da0cd68287fa613052a3d3164f2e9de35bedd3
https://github.com/llvm/llvm-project/commit/b5da0cd68287fa613052a3d3164f2e9de35bedd3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerTruncateVecI1 - reuse existing SDLoc. NFC.
Commit: 0cc60235d178ebe18db14b9731aa01c24abd1c66
https://github.com/llvm/llvm-project/commit/0cc60235d178ebe18db14b9731aa01c24abd1c66
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerFP_TO_INT - remove duplicate SDLoc. NFC.
Commit: b7e4a8a08ecf73d2b34dca1b71d08d622da58bdc
https://github.com/llvm/llvm-project/commit/b7e4a8a08ecf73d2b34dca1b71d08d622da58bdc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerIntVSETCC_AVX512 - reuse existing SDLoc. NFC.
Commit: 999fb097102f75feac1601c061b8bdf0a4cf6112
https://github.com/llvm/llvm-project/commit/999fb097102f75feac1601c061b8bdf0a4cf6112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 05cc2d5fe10c
Commit: 9f858c7b79f9edff082050b930fee347887f8e6d
https://github.com/llvm/llvm-project/commit/9f858c7b79f9edff082050b930fee347887f8e6d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector][test] Update tests for vector.xfter_{read|write} (#91943)
Updates tests in "vector-transfer-permutation-lowering.mlir" to make a
clearer split into cases for :
* xfer_read vs xfer_write
* fixed-width vs scalable tests
A new test case is added for fixed-width vectors for vector.transfer_read.
This is to complement an existing test for scalable vectors.
This is in preparation for #90835 and also for adding more tests for
scalable vectors.
Commit: 257013e4f5cbdf644646da9ec3d60d6209c9bf25
https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Handle VariableArrayTypes
Commit: 1f6f5bf9307033980121fc534815a7b59453e122
https://github.com/llvm/llvm-project/commit/1f6f5bf9307033980121fc534815a7b59453e122
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
Log Message:
-----------
Fix warning from c4a9a374
I wasn't able to reproduce the test crash, but I believe this might be a
different definition of 'assert' on some platforms, so I believe this
patch should fix it (and fixes the suggested warning).
Commit: be7c9e39572d876c16b6a8d7f4addaf9409071ff
https://github.com/llvm/llvm-project/commit/be7c9e39572d876c16b6a8d7f4addaf9409071ff
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)
A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.
Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.
Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.
The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.
Re-application of ca1bd5995f6ed934f9187305190a5abfac049173 with fixes for
compilation errors.
Commit: e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
https://github.com/llvm/llvm-project/commit/e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf14.cuf
A flang/test/Semantics/cuf15.cuf
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][cuda] Extends matching distance computation (#91810)
Extends the computation of the matching distance in the generic
resolution to support options described in the table:
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data
Options are added as language features in the `SemanticsContext` and a
flag is added in bbc for testing purpose.
Commit: 06f04b2e27f2586d3db2204ed4e54f8b78fea74e
https://github.com/llvm/llvm-project/commit/06f04b2e27f2586d3db2204ed4e54f8b78fea74e
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
R clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
R clang/test/SemaOpenACC/compute-construct-device_type-clause.c
R clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Revert "[OpenACC] device_type clause Sema for Compute constructs"
This reverts commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.
This and the followup patch keep hitting an assert I wrote on the build
bots in a way that isn't clear. Reverting so I can fix it without a
rush.
Commit: 1934e4afd6276cd2440357b788d7efe6a4abdebe
https://github.com/llvm/llvm-project/commit/1934e4afd6276cd2440357b788d7efe6a4abdebe
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
Log Message:
-----------
[flang][OpenMP] Add explicit N to SmallVector to avoid size error
This fixes https://lab.llvm.org/buildbot/#/builders/268/builds/13925,
which somehow doesn't show in any of my local builds.
Commit: 2d511cdc10be611999d2a3c8983a992dd90f892c
https://github.com/llvm/llvm-project/commit/2d511cdc10be611999d2a3c8983a992dd90f892c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp][NFC] Add missing test diagnostic output
This was left out from https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
Commit: d95f7c9cabf493ffdc615df47a420a80d4be8e5c
https://github.com/llvm/llvm-project/commit/d95f7c9cabf493ffdc615df47a420a80d4be8e5c
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
Log Message:
-----------
[RISCV] Use the thread local stack protector for Android targets (#87672)
Android supports per thread stack protectors that are individually
managed and
initialized, which can provide stronger protections than using the
global stack
protector cookie. This patch matches the convention for other
architectures
targeting Android platforms.
Commit: d94e0a1005ee1cfeeda829d9deb1f299deb7b10a
https://github.com/llvm/llvm-project/commit/d94e0a1005ee1cfeeda829d9deb1f299deb7b10a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port be7c9e39572d
Commit: 754ff0f54a4b09a8e4b00783475c51f66b949b66
https://github.com/llvm/llvm-project/commit/754ff0f54a4b09a8e4b00783475c51f66b949b66
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Use getAllDerivedDefinitionsIfDefined in RISCVTargetDefEmitter (#91941)
getAllDerivedDefinitions produces a fatal error if there are no
definitions. In practice this isn't much of a problem for
llvm/lib/Target/RISCV/*.td where it's hard to imagine not having at
least one of the required defitions. But it limits our ability to
structure and maintain tests (which is how I came across this issue).
This commit moves to using getAllDerivedDefinitionsIfDefined and aims to
skip emission of data structures that make no sense if no definitions
were found.
Commit: 89a080cb79972abae240c226090af9a3094e2269
https://github.com/llvm/llvm-project/commit/89a080cb79972abae240c226090af9a3094e2269
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/MisExpect.cpp
Log Message:
-----------
[llvm][NFC] Document cl::opt MisExpectTolerance and fix typo
Pull Request: https://github.com/llvm/llvm-project/pull/90670
Commit: 596a9c1f9b3179b3c77cbde1e96619292ce2a10a
https://github.com/llvm/llvm-project/commit/596a9c1f9b3179b3c77cbde1e96619292ce2a10a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix bug where operator-> typo corrects in the current instantiation (#91972)
#90152 introduced a bug that occurs when typo-correction attempts to fix a reference to a
non-existent member of the current instantiation (even though
`operator->` may return a different type than the object type). This
patch fixes it by simply considering the object expression to be of type
`ASTContext::DependentTy` when the arrow operator is used with a
dependent non-pointer non-function operand (after any implicit
conversions).
Commit: 1066eb55477044a3a92f3a40471375194dfcdbc8
https://github.com/llvm/llvm-project/commit/1066eb55477044a3a92f3a40471375194dfcdbc8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/OpenMP/OpenMP.cpp:2346:14: error: unused variable
'origDirective' [-Werror,-Wunused-variable]
Commit: 79643565a890d29560782fea23877ae61ea5b987
https://github.com/llvm/llvm-project/commit/79643565a890d29560782fea23877ae61ea5b987
Author: chenlin <chenlin138 at huawei.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
Log Message:
-----------
[LoopUnroll] Remove redundant debug instructions after blocks have been merged (#91246)
Remove redundant debug instructions after blocks have been merged into
the predecessor, It can reduce some compile time in some cases.
This change only fixes the situation of loop unrolling, and other
situations are not considered. "RemoveRedundantDbgInstrs" seems to be
very time-consuming. Thus, we just add here after the "Dest" has been
merged into the "Fold", this may be a more targeted solution!!!
fixes: https://github.com/llvm/llvm-project/issues/89073
Commit: 91a14dbf825b79ff143d1b16124763a4a80facab
https://github.com/llvm/llvm-project/commit/91a14dbf825b79ff143d1b16124763a4a80facab
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Support polynomial attributes with floating point coefficients (#91137)
In summary:
- `Monomial` -> `MonomialBase` with two inheriting `IntMonomial` and
`FloatMonomial` for the different coefficient types
- `Polynomial` -> `PolynomialBase` with `IntPolynomial` and
`FloatPolynomial` inheriting
- `PolynomialAttr` -> `IntPolynomialAttr`, and new `FloatPolynomialAttr`
attribute, both of which may be input to `polynomial.constant`
- Refactoring common parts of attribute parsers.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 6140b5bae475069f958f90a81fb9d69c969daab6
https://github.com/llvm/llvm-project/commit/6140b5bae475069f958f90a81fb9d69c969daab6
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
Log Message:
-----------
[RISCV] Use RISCVISD::SHL_ADD in transformAddShlImm (#89832)
Doing so avoids negative interactions with other combines which don't
know the shl_add is a single instruction. From the commit log, we've had
several combine loops already.
This was originally posted as part of #88791, where a bug was pointed
out. That bug was fixed by #89789 which hits the same issue from another
angle. To confirm the fix, I included the reduced test case here.
Commit: 37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
https://github.com/llvm/llvm-project/commit/37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
A mlir/test/Dialect/SparseTensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor][sparse] don't drop encoding when infer result type (#91817)
A general question is: is it possible to support hooks here to infer the
encoding? E.g., when the extracted tensor slice is rank-reduced, the
encoding need to be updated accordingly as well.
Commit: 2a114d171d4c1e6c742d039a289bf509b86668ac
https://github.com/llvm/llvm-project/commit/2a114d171d4c1e6c742d039a289bf509b86668ac
Author: Jover <joverzh at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
Log Message:
-----------
[clang-tidy] Ignore `if consteval` in else-after-return (#91588)
Commit: ad727b1a6757c4c23b4121192b121fd67219820e
https://github.com/llvm/llvm-project/commit/ad727b1a6757c4c23b4121192b121fd67219820e
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Revert "Support polynomial attributes with floating point coefficients (#91137)" (#92001)
This reverts commit 91a14dbf825b79ff143d1b16124763a4a80facab.
Not sure how to fix the build error this introduced, so reverting until
I can figure it out
https://lab.llvm.org/buildbot/#/builders/264/builds/10468
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
https://github.com/llvm/llvm-project/commit/cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
Log Message:
-----------
[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#91800)
Context: https://github.com/iree-org/iree/issues/17346.
Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:
https://github.com/iree-org/iree/pull/17359
This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).
This is limited to 1D, non-scalable vectors.
Commit: 0f7906645d18a38a6b80a1e8e1d425396f6ab353
https://github.com/llvm/llvm-project/commit/0f7906645d18a38a6b80a1e8e1d425396f6ab353
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-opts.mlir
Log Message:
-----------
[mlir][intrange] Fix `arith.shl` inference in case of overflow (#91737)
When an overflow happens during shift left, i.e. the last sign bit or
the most significant data bit gets shifted out, the current approach of
inferring the range of results does not work anymore.
This patch checks for possible overflow and returns the max range in
that case.
Fix https://github.com/llvm/llvm-project/issues/82158
Commit: b8f802f783db481ecfd953c9abe74212a8348aff
https://github.com/llvm/llvm-project/commit/b8f802f783db481ecfd953c9abe74212a8348aff
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_template_p0522.cpp
Log Message:
-----------
[clang] Allow pack expansions when partial ordering against template template parameters (#91833)
When partial ordering alias templates against template template
parameters, allow pack expansions when the alias has a fixed-size
parameter list.
These expansions were generally disallowed by proposed resolution for
CWG1430.
By previously diagnosing these when checking template template
parameters, we would be too strict in trying to prevent any potential
invalid use.
This flows against the more general idea that template template
parameters are weakly typed, that we would rather allow an argument that
might be possibly misused, and only diagnose the actual misuses during
instantiation.
Since this interaction between P0522R0 and CWG1430 is also a
backwards-compat breaking change, we implement provisional wording to
allow these.
Fixes https://github.com/llvm/llvm-project/issues/62529
Commit: 8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
https://github.com/llvm/llvm-project/commit/8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Reapply "[OpenACC] device_type clause Sema for Compute constructs"
device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to. As we don't have a source for the valid
architectures yet, this patch just accepts all.
Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.
This reverts commit 06f04b2e27f2586d3db2204ed4e54f8b78fea74e.
This reapplies commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.
The build failures were caused by the patch depending on the order of
evaluation of arguments to a function. This reapplication separates out
the capture of one of the values.
Commit: 673114447b66335268467396a073cdaaadd0b601
https://github.com/llvm/llvm-project/commit/673114447b66335268467396a073cdaaadd0b601
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
[LLD] Implement --enable-non-contiguous-regions (#90007)
When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.
This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:
- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).
- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.
- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.
The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.
Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.
A few notable feature interactions occur:
- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.
- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).
- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.
- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.
- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.
Commit: 81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
https://github.com/llvm/llvm-project/commit/81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
R lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
R lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
Revert "[LLD] Implement --enable-non-contiguous-regions" (#92005)
Reverts llvm/llvm-project#90007
Broke in merging I think.
Commit: 276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
https://github.com/llvm/llvm-project/commit/276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Log Message:
-----------
[lldb][ExpressionParser][NFCI] Log pointers as hex (#91989)
This ensures that we log pointers as lower-case hex. E.g., instead of:
```
LayoutRecordType on (ASTContext*)0x000000010E78D600 'scratch ASTContext' for (RecordDecl*)0x000000010E797
```
we now log:
```
LayoutRecordType on (ASTContext*)0x000000010e78d600 'scratch ASTContext' for (RecordDecl*)0x000000010e797
```
Which is consistent with how the AST dump gets emitted into the log.
This makes it easier to correlate pointers we log from LLDB and pointers
that are part of any AST dumps in the same `expr` log.
Commit: 0df67fa212feb3cb503cd05c440afac446bb9457
https://github.com/llvm/llvm-project/commit/0df67fa212feb3cb503cd05c440afac446bb9457
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
Log Message:
-----------
Revert "[clang] Revert default behavior change of P0522R0 implementation (#91811)" (#91837)
With blocking issues fixed, re-enable relaxed template template argument
matching by reverting these commits.
This reverts commit 4198aebc96cb0236fc63e29a92d886e6a2e3fedb.
This reverts commit 2d5634a4b39d8e5497b6a67caa54049b3cfade8e.
Commit: 5df01ed79c47b0b10ea6be87251ec6e0484515a5
https://github.com/llvm/llvm-project/commit/5df01ed79c47b0b10ea6be87251ec6e0484515a5
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
R mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
Log Message:
-----------
Revert "[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV" (#92006)
Reverts llvm/llvm-project#91800
Reason: https://lab.llvm.org/buildbot/#/builders/268/builds/13935
Commit: d03a1a6e5838c7c2c0836d71507dfdf7840ade49
https://github.com/llvm/llvm-project/commit/d03a1a6e5838c7c2c0836d71507dfdf7840ade49
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Compute knownbits from known fp classes (#86409)
This patch calculates knownbits from fp instructions/dominating fcmp
conditions. It will enable more optimizations with signbit idioms.
Commit: 08177541267fff84a96701fc5fc232eb4f12f9d9
https://github.com/llvm/llvm-project/commit/08177541267fff84a96701fc5fc232eb4f12f9d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Improve testing of loads with offset in local-stack-slot-allocation.ll. NFC
The test we had didn't match it's description.
Now we have one test with a large offset that requires a virtual base register
and a test with a smaller offset that should not.
There is currently a bug that causes the offset to double counted
leading to the small case also using a virtual base register.
Commit: 026686bac606ac03d688a44f2ea4cb829d7b08bc
https://github.com/llvm/llvm-project/commit/026686bac606ac03d688a44f2ea4cb829d7b08bc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Don't add getFrameIndexInstrOffset in RISCVRegisterInfo::needsFrameBaseReg.
It's already added in isFrameOffsetLegal so adding it in needsFrameBaseReg
causes it to be double counted.
Commit: 66466ff151bd71fa64c63d951173efc589df2860
https://github.com/llvm/llvm-project/commit/66466ff151bd71fa64c63d951173efc589df2860
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
Log Message:
-----------
Reland: [LLD] Implement --enable-non-contiguous-regions (#90007)
When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.
This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:
- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).
- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.
- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.
The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.
Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.
A few notable feature interactions occur:
- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.
- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).
- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.
- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.
- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.
Commit: dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
https://github.com/llvm/llvm-project/commit/dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
[lldb][TypeSystem][NFCI] Log creation of new TypeSystem instances to expression log (#91985)
We emit `ASTContext` and `TypeSystem` pointers into the `expr` log but
there is no easy way (that I know of) to correlate the pointer value
back to an easily readible form. This patch simply logs the name of the
`TypeSystem` and the associated `ASTContext` into the `expr` channel
whenever we create a new `TypeSystemClang`.
The following is an example of the new log entries:
```
$ grep Created /tmp/lldb.log
Created new TypeSystem for (ASTContext*)0x0000000101a2e200 'ASTContext for '/Users/michaelbuch/a.out''
Created new TypeSystem for (ASTContext*)0x0000000102512a00 'scratch ASTContext'
Created new TypeSystem for (ASTContext*)0x0000000102116a00 'ClangModulesDeclVendor ASTContext'
Created new TypeSystem for (ASTContext*)0x00000001022e8c00 'Expression ASTContext for '<user expression 0>''
Created new TypeSystem for (ASTContext*)0x00000001103e7200 'AppleObjCTypeEncodingParser ASTContext'
Created new TypeSystem for (ASTContext*)0x00000001103f7000 'AppleObjCDeclVendor AST'
Created new TypeSystem for (ASTContext*)0x00000001104bfe00 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000101f01000 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x00000001025d3c00 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000110422400 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x000000011602c200 'Expression ASTContext for '<user expression 1>''
Created new TypeSystem for (ASTContext*)0x0000000110641600 'Expression ASTContext for '<clang expression>''
Created new TypeSystem for (ASTContext*)0x0000000110617400 'Expression ASTContext for '<clang expression>''
```
Commit: 4a67f809828e11988c6a097cb400fd7cbbf47628
https://github.com/llvm/llvm-project/commit/4a67f809828e11988c6a097cb400fd7cbbf47628
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64_tree_tests.ll
M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
M llvm/test/MC/AArch64/SVE/index.s
M llvm/test/MC/XCOFF/inlineasm.s
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
Log Message:
-----------
[test] Fix check prefixes
Commit: bd679865c05b29450428ad460e59e2dcd07fe974
https://github.com/llvm/llvm-project/commit/bd679865c05b29450428ad460e59e2dcd07fe974
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
Log Message:
-----------
[AMDGPU] Add tests for vector rebroadcast. (#91322)
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: 69937982dbdd73172ec06580f6f93616edca8e9e
https://github.com/llvm/llvm-project/commit/69937982dbdd73172ec06580f6f93616edca8e9e
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
Log Message:
-----------
[clang-tidy] Ignore unevaluated context in bugprone-optional-value-conversion (#90410)
Ignore optionals in unevaluated context, like static_assert or decltype.
Closes #89593
Commit: af79372d6349cfba6beff26d54b7ad1b798fc4d5
https://github.com/llvm/llvm-project/commit/af79372d6349cfba6beff26d54b7ad1b798fc4d5
Author: Mike Crowe <mac at mcrowe.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
Log Message:
-----------
[clang-tidy] Add modernize-use-std-format check (#90397)
Add a new clang-tidy check that converts absl::StrFormat (and similar
functions) to std::format (and similar functions.)
Split the configuration of FormatStringConverter out to a separate
Configuration class so that we don't risk confusion by passing two
boolean configuration parameters into the constructor. Add
AllowTrailingNewlineRemoval option since we never want to remove
trailing newlines in this check.
Commit: 5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
https://github.com/llvm/llvm-project/commit/5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port af79372d6349
Commit: a037d88929460ff9571927c56d6db215be086149
https://github.com/llvm/llvm-project/commit/a037d88929460ff9571927c56d6db215be086149
Author: Lei Zhang <antiagainst at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][gpu] Support extf before contract when converting to MMA ops (#91988)
This commit allows `inferFragType` to see through all arith.ext op
and other elementwise users before reaching contract op for
figuring out the fragment type.
Commit: 54b17fa4eefb7ccb00fba8189e92fac2d46cc481
https://github.com/llvm/llvm-project/commit/54b17fa4eefb7ccb00fba8189e92fac2d46cc481
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
Log Message:
-----------
[BOLT] Preserve Offset annotation in fixDoubleJumps (#91898)
Offset annotation was missed when optimizing an unconditional branch to
a tail call.
Test Plan: update bb-with-two-tail-calls.s
Commit: fd4b5f4b52e414bb6fee7c906a22867891fb46b5
https://github.com/llvm/llvm-project/commit/fd4b5f4b52e414bb6fee7c906a22867891fb46b5
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Add CMake dependency tracking for SBLanguages generation script (#91686)
If you change the generation script and re-run ninja (or whatever drives
your build), it currently will not regenerate SBLanguages.h. With
dependency tracking, it should re-run when the script changes.
Commit: a1d43c14d8a672730af48d946acc41fa01cf301e
https://github.com/llvm/llvm-project/commit/a1d43c14d8a672730af48d946acc41fa01cf301e
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#92012)
This is the second attempt at merging #91800, which bounced due to a
linker error apparently caused by an undeclared dependency.
`MLIRVectorToSPIRV` needed to depend on `MLIRVectorTransforms`. In fact
that was a preexisting issue already flagged by the tool in
https://discourse.llvm.org/t/ninja-can-now-check-for-missing-cmake-dependencies-on-generated-files/74344.
Context: https://github.com/iree-org/iree/issues/17346.
Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:
https://github.com/iree-org/iree/pull/17359
This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).
This is limited to 1D, non-scalable vectors.
Commit: 31a203fa8af47a8b2e8e357857b114cf90638b2e
https://github.com/llvm/llvm-project/commit/31a203fa8af47a8b2e8e357857b114cf90638b2e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaObjC.h
M clang/lib/ARCMigrate/Transforms.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
A clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Introduce `SemaObjC` (#89086)
This is continuation of efforts to split `Sema` up, following the
example of OpenMP, OpenACC, etc. Context can be found in
https://github.com/llvm/llvm-project/pull/82217 and
https://github.com/llvm/llvm-project/pull/84184.
I split formatting changes into a separate commit to help reviewing the
actual changes.
Commit: bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
https://github.com/llvm/llvm-project/commit/bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
Log Message:
-----------
[MLIR] NFC: change variable name to lowercase to follow mlir convention. (#91974)
Commit: e1223804458a99f82dc110d41647410bdac420df
https://github.com/llvm/llvm-project/commit/e1223804458a99f82dc110d41647410bdac420df
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use VPBuilder to create Select (NFCI).
Commit: a4b3422536c712dcb198223822424ff15fb9e45b
https://github.com/llvm/llvm-project/commit/a4b3422536c712dcb198223822424ff15fb9e45b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 31a203fa8af4
Commit: a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
https://github.com/llvm/llvm-project/commit/a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
Log Message:
-----------
[test] Use conventional -emit-llvm-only
This avoids 'Permission denied' when PWD is read-only.
While here, change the triple from a Linux one to a generic ELF one.
Commit: c3028a230557405b0f10bdd7d450f7f92747bbe3
https://github.com/llvm/llvm-project/commit/c3028a230557405b0f10bdd7d450f7f92747bbe3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
Log Message:
-----------
[RISCV] Don't exlude the frame pointer from the callee saved registers in RISCVRegisterInfo::needsFrameBaseReg.
Instead of using getReservedRegs, just check the subtarget reserved
list. getReservedRegs considers the frame pointer to be reserved when
it is being used, but we do need to save/restore it so it should be
counted as a callee saved register. AArch64 hardcodes their callee
saved size, but the comment mentions the Frame Pointer being counted.
Commit: 55e59083cb610f30ad21fe8c8cdb9900534937ec
https://github.com/llvm/llvm-project/commit/55e59083cb610f30ad21fe8c8cdb9900534937ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
Log Message:
-----------
[RISCV] Exclude vector callee saved registers from RISCVRegisterInfo::needsFrameBaseReg
The vector callee saved registers shouldn't affect the frame pointer
offset so we don't want to consider them.
I've listed the GPR, FPR32, and FPR64 register classes explicitly
because getMinimalPhysRegClass is slow and this function is called
frequently. So explicitly listing the interesting classs should be
a compile time improvement.
Commit: 34de2151e2328db800bcd226f31cb6b0cdcf08bb
https://github.com/llvm/llvm-project/commit/34de2151e2328db800bcd226f31cb6b0cdcf08bb
Author: David Green <david.green at arm.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/ptradd.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve legalization of G_PTR_ADD (#91763)
The testing we have for vector ptradd was a bit lacking. In adding tests
this patch found a couple of issues mostly with the way v3 vectors of
ptrs were sometimes legalized via i64, and with non-i64 additions. It
does not attempt to fix the issue with mergevalues from returning vector
ptrs.
Commit: ef9090fcb5b8d1c9f56c11d567987ffa1000a486
https://github.com/llvm/llvm-project/commit/ef9090fcb5b8d1c9f56c11d567987ffa1000a486
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/NVPTX/global-variable-big.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/msan_x86_bts_asm.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Log Message:
-----------
[test] Fix check prefixes
Commit: 70e227a404e51f9248c7ad5d79953805b2afacb4
https://github.com/llvm/llvm-project/commit/70e227a404e51f9248c7ad5d79953805b2afacb4
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
A mlir/test/Dialect/SparseTensor/sparse_relu.mlir
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] recognize ReLu operation during sparsification (#92016)
This is a proof of concept recognition of the most basic forms of ReLu
operations, used to show-case sparsification of end-to-end PyTorch
models. In the long run, we must avoid lowering such constructs too
early (with this need for raising them back).
See discussion at
https://discourse.llvm.org/t/min-max-abs-relu-recognition-starter-project/78918
Commit: 4ecf2caf687014a63f0434a63fe9a522ec9be445
https://github.com/llvm/llvm-project/commit/4ecf2caf687014a63f0434a63fe9a522ec9be445
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Use aggregated FuncBranchData in writeBATYAML
Switch from FuncBranchData intermediate maps (Intra/InterIndex)
to aggregated Data, same as one used by DataReader:
https://github.com/llvm/llvm-project/blob/e62ce1f8842cca36eb14126d79dcca0a85bf6d36/bolt/lib/Profile/DataReader.cpp#L385-L389
This aligns the order of the output between YAMLProfileWriter and
writeBATYAML.
Test Plan: updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: ayermolo, maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/91289
Commit: efc7bbb917428393f543b09eecddf6e4bb5fce08
https://github.com/llvm/llvm-project/commit/efc7bbb917428393f543b09eecddf6e4bb5fce08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
Log Message:
-----------
[AMDGPU] Make v2bf16 BUILD_VECTOR legal (#92022)
There is nothing specific here and it is not different from i16 or f16.
Commit: 561c42df5712c346d4de2e6499b06712403d3164
https://github.com/llvm/llvm-project/commit/561c42df5712c346d4de2e6499b06712403d3164
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc][errno] Use macro instead of system header (#91150)
## Why
Currently, the system header `errno.h` is included in `libc_errno.h`,
which is supposed to be consumed by internal implementations only. As
unit and hermetic tests should never use `#include <errno.h>` but
instead use `#include "src/errno/libc_errno.h"`, we do not want to
implicitly include `errno.h`. In order to have a clear seperation
between those two, we want to pull out the definitions of errno numbers
from `errno.h`.
## What
* Extract the definitions of errno numbers from
[include/errno.h.def](https://github.com/llvm/llvm-project/pull/91150/files#diff-ed38ed463ed50571b498a5b69039cab58dc9d145da7f751a24da9d77f07781cd)
and place it under
[include/llvm-libc-macros/linux/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-d6192866629690ebb7cefa1f0a90b6675073e9642f3279df08a04dcdb05fd892)
* Provide mips-specific errno numbers in
[include/llvm-libc-macros/linux/mips/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-3fd35a4c94e0cc359933e497b10311d857857b2e173e8afebc421b04b7527743)
* Find definition of mips errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/mips/bits/errno.h#L32-L50)
(equally defined in the Linux kernel)
* Provide sparc-specific errno numbers in
[include/llvm-libc-macros/linux/sparc/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-5f16ffb2a51a6f72ebd4403aca7e1edea48289c99dd5978a1c84385bec4f226b)
* Find definition of sparc errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/sparc/bits/errno.h#L33-L51)
(equally defined in the Linux kernel)
* Include proxy header `errno_macros.h` instead of the system header
`errno.h` in `libc_errno.h`/`libc_errno.cpp`
Closes https://github.com/llvm/llvm-project/issues/80172
Commit: c5e67b86ef6718585120e3cabb04c1fc2d292cfb
https://github.com/llvm/llvm-project/commit/c5e67b86ef6718585120e3cabb04c1fc2d292cfb
Author: Sayan Saha <sayans at mathworks.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] [tensor] Crash in getPackOpResultTypeShape for tensor.pack/unpack ops. (#90641)
Windows build of `mlir` with Visual Studio (19.36.32538 for x64) using
with the following command:
`cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_PROJECTS=mlir -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=1
-DLLVM_TARGETS_TO_BUILD=host ../llvm`
is leading to a crash when calling canonicalization on
`tensor.pack`/`tensor.unpack` ops `mlir-opt --canonicalize input.mlir`
where the `input.mlir` is as follows (this is taken from one of the
filecheck tests for `tensor.pack`):
```
func.func @pack_unpack(%arg0: tensor<128x256xf32>) -> tensor<128x256xf32> {
%pack_dest = tensor.empty() : tensor<8x16x8x32xf32>
%unpack_dest = tensor.empty() : tensor<128x256xf32>
%tp = tensor.pack %arg0 outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %pack_dest : tensor<128x256xf32> -> tensor<8x16x8x32xf32>
%tup = tensor.unpack %tp outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %unpack_dest : tensor<8x16x8x32xf32> -> tensor<128x256xf32>
return %tup : tensor<128x256xf32>
}
```
The crash is seemingly coming from invalid memory access during
iterating over `innerDimsPos` within `getPackOpResultTypeShape`.
This crash is also causing the following tests to fail:
```
MLIR :: Dialect/Linalg/canonicalize.mlir
MLIR :: Dialect/Linalg/data-layout-propagation.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack.mlir
MLIR :: Dialect/Linalg/transform-lower-pack.mlir
MLIR :: Dialect/Linalg/transform-op-fuse.mlir
MLIR :: Dialect/Linalg/transform-op-pack.mlir
MLIR :: Dialect/Linalg/transform-pack-greedily.mlir
MLIR :: Dialect/Tensor/canonicalize.mlir
MLIR :: Dialect/Tensor/fold-into-pack-and-unpack.mlir
MLIR :: Dialect/Tensor/invalid.mlir
MLIR :: Dialect/Tensor/ops.mlir
MLIR :: Dialect/Tensor/simplify-pack-unpack.mlir
MLIR :: Dialect/Tensor/tiling.mlir
```
Commit: 8960078765f141c770f70629a205b3ea88cd9781
https://github.com/llvm/llvm-project/commit/8960078765f141c770f70629a205b3ea88cd9781
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/errno_macros.h
Log Message:
-----------
[libc][errno] Include <linux/errno.h> for Linux in full build mode. (#92041)
Commit: 943baf327409fdcb01c9d02aa3c3368f2fca114b
https://github.com/llvm/llvm-project/commit/943baf327409fdcb01c9d02aa3c3368f2fca114b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Make compareByFilePosition a strict weak order
This fixes the new test linkerscript/enable-non-contiguous-regions.test
from #90007 in -stdlib=libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG builds.
adjustOutputSections does not discard the output section .potential_a
because it contained .a (which would be spilled to .actual_a).
.potential_a and .bc have the same address and will cause an assertion
failure.
Commit: 531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
https://github.com/llvm/llvm-project/commit/531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Reapply Fix DXIL part header version encoding (#91956)
This reapplies
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
[DirectX] Fix DXIL part header version encoding. The endian issue was
fixed by
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b.
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 6cfac497e96978f2bfc50a00b51c198f2ed50f82
https://github.com/llvm/llvm-project/commit/6cfac497e96978f2bfc50a00b51c198f2ed50f82
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Mark delayed-definition-die-searching.test unsupported on Windows
This marks delayed-definition-die-searching.test as unsupported on
Windows. Clang uses link.exe as default linker if not marked explicitly
to use lld. When used with link.exe clang produces PDB format debug info
even when -gdwarf is specified.
This test will be unsupported until we make lldb-aarch64-windows buildbot
to use lld.
Commit: ec3bc2fbbf73c834697283a7066a8efe88bd0058
https://github.com/llvm/llvm-project/commit/ec3bc2fbbf73c834697283a7066a8efe88bd0058
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Use printRegName in RISCVInstPrinter::printRlist. NFC
Instead of hardcoding all of the register name strings.
Commit: b342d18a8f0240342ea5c461145e78c6e3af92cc
https://github.com/llvm/llvm-project/commit/b342d18a8f0240342ea5c461145e78c6e3af92cc
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
R libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
Log Message:
-----------
[libc] add timeout and clock conversion utilities (#91905)
This PR:
- Make `clock_gettime` a header-only library
- Add `clock_conversion` header library to allow conversion between
clocks relative to the time of call
- Add `timeout` header library to manage the absolute timeout used in
POSIX's timed locking/waiting APIs
Commit: 5b6f15110422f4955212bd26a96057972e3304ad
https://github.com/llvm/llvm-project/commit/5b6f15110422f4955212bd26a96057972e3304ad
Author: Lei Wang <wlei at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-matching-LCS.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
Log Message:
-----------
[SampleFDO] Improve stale profile matching by diff algorithm (#87375)
This change improves the matching algorithm by using the diff algorithm,
the current matching algorithm only processes the callsites grouped by
the same name functions, it doesn't consider the order relationships
between different name functions, this sometimes fails to handle this
ambiguous anchor case. For example. (`Foo:1` means a
calliste[callee_name: callsite_location])
```
IR : foo:1 bar:2 foo:4 bar:5
Profile : bar:3 foo:5 bar:6
```
The `foo:1` is matched to the 2nd `foo:5` and using the diff
algorithm(finding longest common subsequence ) can help on this issue.
One well-known diff algorithm is the Myers diff algorithm(paper "An
O(ND) Difference Algorithm and Its Variations∗" Eugene W. Myers), its
variations have been implemented and used in many famous tools, like the
GNU diff or git diff. It provides an efficient way to find the longest
common subsequence or the shortest edit script through graph searching.
There are several variations/refinements for the algorithm, but as in
our case, the num of function callsites is usually very small, so we
implemented the basic greedy version in this change which should be good
enough.
We observed better matchings and positive perf improvement on our
internal services.
Commit: 435771228caf77cce35406ecf57a49a06e227fe4
https://github.com/llvm/llvm-project/commit/435771228caf77cce35406ecf57a49a06e227fe4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Inogre CallingConv::RISCV_VectorCall in getCalleeSavedRegs if V/Zve is not enabled.
We can't save vector registers without V/Zve.
Commit: 4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
https://github.com/llvm/llvm-project/commit/4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
Author: Michael Jones <michaelrj at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] add errno_macro header to bazel build (#92044)
Patch #91150 added a proxy header for errno macros. This patch fixes the
bazel build since it needs to be added as a dependency.
Commit: c99d1156c28dfed67a8479dd97608d1f0d6cd593
https://github.com/llvm/llvm-project/commit/c99d1156c28dfed67a8479dd97608d1f0d6cd593
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A .github/workflows/pr-request-release-note.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Add a job for requesting a release note on release branch PRs (#91826)
We have been collecting release notes from the PRs for most of the
18.1.x releases and this just helps automate the process.
Commit: 23f8fac745bdde70ed4f9c585d19c4913734f1b8
https://github.com/llvm/llvm-project/commit/23f8fac745bdde70ed4f9c585d19c4913734f1b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert "Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)""
This reverts commit 91446e2aa687ec57ad88dc0df793d0c6e694a7c9 and
a unittest followup 1530f319311908b06fe935c89fca692d3e53184f (#90476).
In a stage-2 -flto=thin -gsplit-dwarf -g -fdebug-info-for-profiling
-fprofile-sample-use= build of clang, a ThinLTO backend compile has
assertion failures:
Global is external, but doesn't have external or weak linkage!
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
function declaration may only have a unique !dbg attachment
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
The failures somehow go away if -fprofile-sample-use= is removed.
Commit: ad1083dce4f664265c5489ecd2e46649cd978683
https://github.com/llvm/llvm-project/commit/ad1083dce4f664265c5489ecd2e46649cd978683
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
Log Message:
-----------
[mlir][sparse] introduce new pass to propagate sparse encodings. (#92052)
Commit: 595de12ff307f3f06f4ccd2acafc400cc1262bc6
https://github.com/llvm/llvm-project/commit/595de12ff307f3f06f4ccd2acafc400cc1262bc6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat] Replace partsCount array with single variable (NFC) (#91910)
We only ever use the last element of this array, so there shouldn't be a
need to store the preceding elements as well.
Commit: 37b8e5feb1d065a7c474e6595bac6d2f65faeb51
https://github.com/llvm/llvm-project/commit/37b8e5feb1d065a7c474e6595bac6d2f65faeb51
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
Log Message:
-----------
Revert "[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)"
This reverts commit 9a7262c2601874e5aa64c5db19746770212d4b44.
Commit: 70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
https://github.com/llvm/llvm-project/commit/70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
Revert "[lldb][DWARF] Do not complete type from declaration die. (#91799)"
This reverts commit a7eff59f78f08f8ef0487dfe2a136fb311af4fd0.
Commit: b06f97b039b3a4f2397281609069b2aaad86dd59
https://github.com/llvm/llvm-project/commit/b06f97b039b3a4f2397281609069b2aaad86dd59
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/profile-passthrough-block.test
Log Message:
-----------
[BOLT] Allow pass-through blocks in YAMLProfileReader (#91828)
Commit: b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
https://github.com/llvm/llvm-project/commit/b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64] Clarify atomic load/store size condition (NFCI) (#91907)
This is currently bailing out on MemSizeInBytes larger than 64 bytes.
However, the following code can only handle sizes up to 8 bytes.
Possibly there was confusion here between MemSizeInBytes and
MemSizeInBits.
I *think* that this can't actually result in an out of bounds read of
the opcode table because we'll only ever mark loads/stores of up to 8
bytes as legal (16 byte atomics are custom-legalized earlier). As such,
I've changed this condition to an assert.
Commit: 4420ea7a4971eadad528c0cd609da471a7614422
https://github.com/llvm/llvm-project/commit/4420ea7a4971eadad528c0cd609da471a7614422
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[StringMap] Move free into StringMapImpl dtor (NFC) (#91908)
StringMapImpl allocates the memory for the table, but does not have a
dtor that free it. Instead, StringMap (which inherits from
StringMapImpl) contains the free call. I don't really see a good reason
why this free is performed in the "wrong" class, so move it into
StringMapImpl.
Commit: 22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
https://github.com/llvm/llvm-project/commit/22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port libc #91905
Commit: e6b2197a89f5d6d0f56a03c03b8afda561eee899
https://github.com/llvm/llvm-project/commit/e6b2197a89f5d6d0f56a03c03b8afda561eee899
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
R lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
Revert a test that was failing after a previous reversion.
This test was modified as part of the commit:
9a7262c2601874e5aa64c5db19746770212d4b44
but without that patch this test is failing. Remove the test for now
till the issue with the original patch can be sorted out.
Commit: f12018eba11f8d4b74cf67dbc416c429c870a5f4
https://github.com/llvm/llvm-project/commit/f12018eba11f8d4b74cf67dbc416c429c870a5f4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
Log Message:
-----------
[clang-tidy] support expect no diagnosis test (#91293)
When someone wants to declare a test case without any diagnosis.
check-clang-tidy will failed with error message
```
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES not found in the input
```
This PR want to check there are no diagnosis from clang-tidy when
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES are not found.
It also changes the extension of a test case. `hxx` is not a valid test
case extension and won't be tested.
---------
Co-authored-by: Danny Mösch <danny.moesch at icloud.com>
Commit: 881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
https://github.com/llvm/llvm-project/commit/881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Do not combine FP_TRUNC + FP_EXTEND if they come from user (#91420)
As discussed in
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
We are not allowed to combine explicit fptrunc/fpext from user.
Commit: c72e94382c21db2f5ff066d72103ac55eb8d2874
https://github.com/llvm/llvm-project/commit/c72e94382c21db2f5ff066d72103ac55eb8d2874
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Move LeftRightQualifierAlignmentFixer::is...() (#91930)
Move static member functions LeftRightQualifierAlignmentFixer::is...()
out of the class so that #91712 can reland.
Commit: e20800c16f0570562fea31e9a02d65ba56e6858a
https://github.com/llvm/llvm-project/commit/e20800c16f0570562fea31e9a02d65ba56e6858a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Test IsQualifier only needs to call the lexer
Commit: 05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
https://github.com/llvm/llvm-project/commit/05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Analysis/MustExecute/const-cond.ll
Log Message:
-----------
[MustExec] Drop duplicate RUN line (NFC)
Commit: 3a25e358e2957cce912e701a544fb6163f572575
https://github.com/llvm/llvm-project/commit/3a25e358e2957cce912e701a544fb6163f572575
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Generate test checks (NFC)
Commit: b7adba8e78662b901099dac5e06fd9f4beda22b4
https://github.com/llvm/llvm-project/commit/b7adba8e78662b901099dac5e06fd9f4beda22b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Add must exec hoisting test with commuted operands (NFC)
Commit: 7198c3d613f1087c78124928cbe2cbc4e03a0e5a
https://github.com/llvm/llvm-project/commit/7198c3d613f1087c78124928cbe2cbc4e03a0e5a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Reduce the amount of similar code in RISCVInstPrinter::printRlist. NFC (#92053)
Remove the switch statement and instead do range checks to know which
pieces we need to print.
Commit: f608ac261781b7707b2721563765e07c57366619
https://github.com/llvm/llvm-project/commit/f608ac261781b7707b2721563765e07c57366619
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Actually port libc #91905
Commit: cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
https://github.com/llvm/llvm-project/commit/cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow explicit instantiation of Ref/RefPtr on call arguments. (#91875)
Co-authored-by: Ryosuke Niwa <rniwa at apple.com>
Commit: cff9e77783aceb52da705b7e2b2e45bfbc86c628
https://github.com/llvm/llvm-project/commit/cff9e77783aceb52da705b7e2b2e45bfbc86c628
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Mark P2552 as implemented. (#92007)
wg21.link/P2552 suggest that __has_cpp_attribute
should return a non-zero value for all attributes that the
implementation does something interesting with.
Clang does something meaninful with all attributes except for:
- no_unique_address which we do not support for msvc target
- carries_dependency which arguably does nothing interesting. P2552
shies away from specifying a behavior for that attribute (despite being
the only one for which a recommandation would have been interesting,
arguably)
As such, we have nothing to change for this paper. This paper is a DR
and clang always behaved reasonably.
Commit: e5a277b16755ad273d6c1caa5dd29b4a3ae29078
https://github.com/llvm/llvm-project/commit/e5a277b16755ad273d6c1caa5dd29b4a3ae29078
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Add initial support for marking profiles as experimental (#91993)
This is just the TableGen-side changes, split out as the minimal
testable unit. It doesn't yet transition RVA23 and friends to be
experimental (and add the necessary other changes for this to work).
Although choosing not to emit the SupportedExperimentalProfiles array if
no experimental profiles are present isn't consistent with what we do
for experimental extensions, we need to do this in order to avoid adding
a warning for the empty array when building LLVM for as long as we don't
have any experimental profiles defined.
Commit: f0a681640e012356974024dd2971d74fc18f5b48
https://github.com/llvm/llvm-project/commit/f0a681640e012356974024dd2971d74fc18f5b48
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove AllPopRegs array from RISCVFrameLowering.cpp. NFC
The same registers are listed in the same order in FixedCSRFIMap.
Commit: 96c23af8b39a222ce1facd2ec621fbe661e072b7
https://github.com/llvm/llvm-project/commit/96c23af8b39a222ce1facd2ec621fbe661e072b7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/__support/time/units.h
Log Message:
-----------
[libc] fix 32bit arm build (casting time_t) (#92065)
Commit: 364f988d3feb46ead8fdb657c9eab78d93425a28
https://github.com/llvm/llvm-project/commit/364f988d3feb46ead8fdb657c9eab78d93425a28
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Reland "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
https://github.com/llvm/llvm-project/commit/cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
Log Message:
-----------
[libc][errno] Remove unnecessary include (#92063)
Since https://github.com/llvm/llvm-project/pull/91150, a proxy header
for the errno macros is available and gets included in `libc_errno.h`
since then.
As `libc_errno.cpp` includes `libc_errno.h`, which already includes the
proxy header `hdr/errno_macros.h`, there's no need to include it in
`libc_errno.cpp` if we are in overlay mode, because the proxy header
takes care to either include our header from libc/include/ (fullbuild)
or the corresponding underlying system header (overlay).
Commit: f3b8d91ca885744925ce775026df40660d9a4d4e
https://github.com/llvm/llvm-project/commit/f3b8d91ca885744925ce775026df40660d9a4d4e
Author: appujee <124090381+appujee at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
LLVM vectorizer working group (#92068)
Recurring meeting at 3rd Thursday of every month.
Commit: 12c0024d196189bd38a140512c0bfbda85d8d75e
https://github.com/llvm/llvm-project/commit/12c0024d196189bd38a140512c0bfbda85d8d75e
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] Move extension aliases into tablegen (#91970)
Commit: 922fafaff83319e33e8a890a692df073d3ce55c9
https://github.com/llvm/llvm-project/commit/922fafaff83319e33e8a890a692df073d3ce55c9
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
[GlobalISel] Micro-optimize getConstantVRegValWithLookThrough (#91969)
I was benchmarking the MatchTable when I found that
`getConstantVRegValWithLookThrough` took a non-negligible amount of
time, about 7.5% of all of
`AArch64PreLegalizerCombinerImpl::tryCombineAll`.
I decided to take a closer look to see if I could squeeze some
performance out of it, and I landed on a few changes that:
- Avoid copying APint unnecessarily, especially returning
std::optional<APInt> can be expensive when a out parameter also works.
- Avoid indirect call by using templated function pointers instead of
function_ref/std::function
Both of those changes seem to speedup this function by about 50%, but my
benchmarking (`perf record`) seems inconsistent (so take measurements
with a grain of salt), I saw as high as 4.5% and as low as 2% for this
function on the exact same input after the changes, but it never got
close again to 7% in a few runs so this looks like a stable improvement.
Commit: ea238974e1b5f2243b6753c2d737c1f04dd1f17b
https://github.com/llvm/llvm-project/commit/ea238974e1b5f2243b6753c2d737c1f04dd1f17b
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir] [TOSA] Allow any floating point type (#91745)
After #86509 allowed all integer types in TOSA ops, this PR allows TOSA
ops on all floating point types.
This helps to experiment with `f64` and 8-bit float types when spec
conformance is not required.
Commit: ecce5ccdd5725bd0669c24742bfd46dbf043fec2
https://github.com/llvm/llvm-project/commit/ecce5ccdd5725bd0669c24742bfd46dbf043fec2
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
Log Message:
-----------
TosaToLinalg: Allow to skip the TOSA validation pass (#91742)
Allow to skip running the TOSA validation pass when spec conformance is
not required.
Commit: 4014e2e045f5160ce9cbb9562d151f540d61c0bb
https://github.com/llvm/llvm-project/commit/4014e2e045f5160ce9cbb9562d151f540d61c0bb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Strip experimental- prefix in profile names in SupportedExperimentalProfiles
This matches what we do for extensions, and saves us having to do it in
RISCVISAInfo.
This is a minor tweak to what I added in #91993.
Commit: d488a54b408046eb4286727053cd44166dcd4daa
https://github.com/llvm/llvm-project/commit/d488a54b408046eb4286727053cd44166dcd4daa
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
Log Message:
-----------
[RISCV] Use software guarded branch for indirect jump table branch. (#66762)
When Zicfilp enabled, indirect jump table branch should be a software
guarded branch.
Commit: 9837a1cb53e94609c005ed44f937a99f24208452
https://github.com/llvm/llvm-project/commit/9837a1cb53e94609c005ed44f937a99f24208452
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC] Add missing spaces in BoolOption for apinotes (#92027)
Commit: c441aa51e16e2fa5f407191287f48d2b7c302ceb
https://github.com/llvm/llvm-project/commit/c441aa51e16e2fa5f407191287f48d2b7c302ceb
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
Log Message:
-----------
[lldb] Add lldbutil.install_to_target() helper (#91944)
It can be used in tests #91918, #91931 and such.
Commit: 2df06e42d733a1f7a1cdf715894921a5bbbc2956
https://github.com/llvm/llvm-project/commit/2df06e42d733a1f7a1cdf715894921a5bbbc2956
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
A flang/test/Driver/print-resource-dir.F90
Log Message:
-----------
[Flang][Driver] Add -print-resource-dir command line flag to emit Flang's resource directory (#90886)
This should be a NFC change for all drivers, but Flang.
Commit: 3ae63430aae52b260ce7ea99e5d586c77963b94a
https://github.com/llvm/llvm-project/commit/3ae63430aae52b260ce7ea99e5d586c77963b94a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
R llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
R llvm/test/CodeGen/SPIRV/link-attribute.ll
R llvm/test/CodeGen/SPIRV/linkage-types.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
A llvm/test/CodeGen/SPIRV/linkage/extern-weak-linkage.ll
A llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
A llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
Log Message:
-----------
[SPIR-V] Set non-kernel function linkage type via OpDecorate for all linkage types except for static functions (#91598)
This PR fixes the issue
https://github.com/llvm/llvm-project/issues/91595 by setting non-kernel
function linkage type via OpDecorate for all linkage types except for
static functions. A new test case is added.
Commit: cf9a5a162b701b4c27eda1ddf823137ed16ca235
https://github.com/llvm/llvm-project/commit/cf9a5a162b701b4c27eda1ddf823137ed16ca235
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll
Log Message:
-----------
[SPIR-V] Support saturation arithmetic intrinsics in SPIR-V Backend (#91722)
This PR is to support saturation arithmetic intrinsics in SPIR-V
Backend.
Commit: e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
https://github.com/llvm/llvm-project/commit/e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteLaunch (#91931)
Install `a.out` to the remote target (after handshake) if necessary and
use the remote path to call `vRun`.
Commit: 2e165a2c4b2a0e9a9d34a721d756f9006d1502df
https://github.com/llvm/llvm-project/commit/2e165a2c4b2a0e9a9d34a721d756f9006d1502df
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Revert "[ValueTracking] Compute knownbits from known fp classes (#86409)"
This reverts commit d03a1a6e5838c7c2c0836d71507dfdf7840ade49.
This change caused failed assertions, see
https://github.com/llvm/llvm-project/pull/86409#issuecomment-2109469845
for details.
Commit: fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
https://github.com/llvm/llvm-project/commit/fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
Author: martinboehme <mboehme at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[Clang][Sema] Fix malformed AST for anonymous class access in template. (#90842)
# Observed erroneous behavior
Prior to this change, a `MemberExpr` that accesses an anonymous class
might have a prvalue as its base (even though C++ mandates that the base
of a `MemberExpr` must be a glvalue), if the code containing the
`MemberExpr` was in a template.
Here's an example on [godbolt](https://godbolt.org/z/Gz1Mer9oz) (that is
essentially identical to the new test this patch adds).
This example sets up a struct containing an anonymous struct:
```cxx
struct S {
struct {
int i;
};
};
```
It then accesses the member `i` using the expression `S().i`.
When we do this in a non-template function, we get the following AST:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue .S::(anonymous struct at line:2:3) 0xbdcb488
`-MaterializeTemporaryExpr <col:10, col:12> 'S' xvalue
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
As expected, the AST contains a `MaterializeTemporarExpr` to materialize
the prvalue `S()` before accessing its members.
When we perform this access in a function template (that doesn't
actually even use its template parameter), the AST for the template
itself looks the same as above. However, the AST for an instantiation of
the template looks different:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MaterializeTemporaryExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' .S::(anonymous struct at line:2:3) 0xbdcb488
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
Note how the inner `MemberExpr` (the one accessing the anonymous struct)
acts on a prvalue.
Interestingly, this does not appear to cause any problems for CodeGen,
probably because CodeGen is set up to deal with `MemberExpr`s on rvalues
in C. However, it does cause issues in the dataflow framework, which
only supports C++ today and expects the base of a `MemberExpr` to be a
glvalue.
Beyond the issues with the dataflow framework, I think this issue should
be fixed because it goes contrary to what the C++ standard mandates, and
the AST produced for the non-template case indicates that we want to
follow the C++ rules here.
# Reasons for erroneous behavior
Here's why we're getting this malformed AST.
First of all, `TreeTransform` [strips any
`MaterializeTemporaryExpr`s](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L14853)
from the AST.
It is therefore up to
[`TreeTransform::RebuildMemberExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2853)
to recreate a `MaterializeTemporaryExpr` if needed. In the [general
case](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2915),
it does this: It calls `Sema::BuildMemberReferenceExpr()`, which ensures
that the base is a glvalue by [materializing a
temporary](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/SemaExprMember.cpp#L1016)
if needed. However, when `TreeTransform::RebuildMemberExpr()` encounters
an anonymous class, it [calls
`Sema::BuildFieldReferenceExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2880),
which, unlike `Sema::BuildMemberReferenceExpr()`, does not make sure
that the base is a glvalue.
# Proposed fix
I considered several possible ways to fix this issue:
- Add logic to `Sema::BuildFieldReferenceExpr()` that materializes a
temporary if needed. This appears to work, but it feels like the fix is
in the wrong place:
- AFAIU, other callers of `Sema::BuildFieldReferenceExpr()` don't need
this logic.
- The issue is caused by `TreeTransform` removing the
`MaterializeTemporaryExpr`, so it seems the fix should also be in
`TreeTransform`
- Materialize the temporary directly in
`TreeTransform::RebuildMemberExpr()` if needed (within the case that
deals with anonymous classes).
This would work, too, but it would duplicate logic that already exists
in `Sema::BuildMemberReferenceExpr()` (which we leverage for the general
case).
- Use `Sema::BuildMemberReferenceExpr()` instead of
`Sema::BuildFieldReferenceExpr()` for the anonymous class case, so that
it also uses the existing logic for materializing the temporary.
This is the option I've decided to go with here. There's a slight
wrinkle in that we create a `LookupResult` that claims we looked up the
unnamed field for the anonymous class -- even though we would obviously
never be able to look up an unnamed field. I think this is defensible
and still better than the other alternatives, but I would welcome
feedback on this from others who know the code better.
Commit: 79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
https://github.com/llvm/llvm-project/commit/79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:19848:11: error:
enumeration value 'SW_GUARDED_BRIND' not handled in switch
[-Werror,-Wswitch]
Commit: 11e5d1cfee399cfaba373078879c1ac3e1109b11
https://github.com/llvm/llvm-project/commit/11e5d1cfee399cfaba373078879c1ac3e1109b11
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Respect existing glue when lowering convergence tokens (#90834)
Commit: c28529788955dbfada9f8a5092432f09eec2c3ab
https://github.com/llvm/llvm-project/commit/c28529788955dbfada9f8a5092432f09eec2c3ab
Author: aabhinavg <78288544+aabhinavg at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Fix redundant condition in Target.cpp (#91882)
This commit addresses issue #87244, where a redundant condition was
found in the Target.cpp file. Static analyzer cppcheck flagged the issue
in the Target.cpp file
fix #87244
Commit: 0b5b2027f94c60c73d6871cf64d3f580c27c5a53
https://github.com/llvm/llvm-project/commit/0b5b2027f94c60c73d6871cf64d3f580c27c5a53
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/SROA.cpp
A mlir/test/Transforms/sroa.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][SROA] Reuse allocators to avoid rewalking the IR (#91971)
This commit extends the SROA interfaces to ensure the interface
instantiations can communicate newly created allocators to the
algorithm. This ensures that the SROA implementation does no longer
require re-walking the IR to find new allocators.
Commit: 346f2b76246a46d5e634dfcf0004d72ac5127f8e
https://github.com/llvm/llvm-project/commit/346f2b76246a46d5e634dfcf0004d72ac5127f8e
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
Log Message:
-----------
[lldb] Fix the test TestGdbRemotePlatformFile when run with a remote target (#91918)
It is necessary to transfer the test file to/from the really remote
target (for example Windows host and Linux target). Also ignore chmod
check in case of the Windows host.
Commit: 632317e9ab5548e991d8974954353033bea62a5b
https://github.com/llvm/llvm-project/commit/632317e9ab5548e991d8974954353033bea62a5b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add non-poison propagating LogicalAnd VPInstruction opcode. (#91897)
Add a new opcode to mode non-poison propagating logical AND operations
used when generating edge masks. This follows the similar decision to
model Not as dedicated opcode as well, to improve clarity.
This also helps to simplify the matchers for
https://github.com/llvm/llvm-project/pull/89386.
PR: https://github.com/llvm/llvm-project/pull/91897
Commit: d9be51ce68b743bde4d73b6858c454e09df341c5
https://github.com/llvm/llvm-project/commit/d9be51ce68b743bde4d73b6858c454e09df341c5
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
Log Message:
-----------
[AArch64] Improve code generation for experimental.cttz.elts (#91505)
This patch extends support for lowering the experimental.cttz.elts
intrinsic to BRKB + CNTP instruction sequences, using this lowering for
all legal predicate types. An unused parameter is also removed from some
of the related regression tests.
Commit: 0bc23f10328e9f61200c33c02391a44abde59b27
https://github.com/llvm/llvm-project/commit/0bc23f10328e9f61200c33c02391a44abde59b27
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64][GlobalISel] Select G_ICMP Zero Instruction (#90054)
Commit: 429ce59bd0a7d93ef833939d4a92b56aae103a5a
https://github.com/llvm/llvm-project/commit/429ce59bd0a7d93ef833939d4a92b56aae103a5a
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
Log Message:
-----------
[lldb][Windows] Fixed the test TestGdbRemoteMemoryTagging (#92077)
Windows path is case insensitive. Tests `test_QMemTags_packets` and
`test_qMemTags_packets` will use the same build dir and conflict. Added
a suffix to resolve conflicts.
Commit: be9b4dab40c36a3d3d9be26498b24efedd8253bf
https://github.com/llvm/llvm-project/commit/be9b4dab40c36a3d3d9be26498b24efedd8253bf
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/spirv-decoration.ll
Log Message:
-----------
[SPIR-V] Introduce support for 'spirv.Decorations' metadata node in SPIR-V Backend (#91736)
This PR is to introduce support for 'spirv.Decorations' metadata node in
SPIR-V Backend.
See also
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/docs/SPIRVRepresentationInLLVM.rst
that describes `spirv.Decorations` as an important part of
SPIRV-friendly LLVM IR.
Commit: 3b8b1022684175e988f043f14596f2dc9b31c6c7
https://github.com/llvm/llvm-project/commit/3b8b1022684175e988f043f14596f2dc9b31c6c7
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[MC] Make ELFEntrySizeMap a DenseMap (#91728)
There is no need for an ordered std::map and also no need to duplicate
the section name, which is owned by the ELFSectionKey. Therefore, use a
DenseMap instead and don't copy the string. As a further, minor
performance optimization, avoid the hash table lookup in
isELFGenericMergeableSection when the section name was just added.
This slightly improves compilation performance in our application, where
we occasionally compile many small object files.
Commit: 9f80f437c0b698478c6396c8c44ba094f7199144
https://github.com/llvm/llvm-project/commit/9f80f437c0b698478c6396c8c44ba094f7199144
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
Log Message:
-----------
[Hexagon] Regenerate asr-rnd.ll + asr-rnd64.ll to show all test checks
These are affected by upcoming support for AVG legalization
Commit: 995a8af81dc10140109cdd95c44bfb093e8a4c02
https://github.com/llvm/llvm-project/commit/995a8af81dc10140109cdd95c44bfb093e8a4c02
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Add extended mnemonics tests. (#91733)
This adds tests for some extended mnemonics of load, branch, and
compare-and-trap instructions.
Commit: e7d09cecc9123f89ace1712a617e252d78b179e9
https://github.com/llvm/llvm-project/commit/e7d09cecc9123f89ace1712a617e252d78b179e9
Author: Petr Kurapov <petr.kurapov at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[MLIR][Linalg] Ternary Op & Linalg select (#91461)
Following #90236, adding `select` to linalg as `arith.select`. No
implicit type casting.
OpDSL doesn't expose a type restriction for bool, but I saw no reason in
adding it (put a separate symbolic type and check the semantics in the
builder).
---------
Co-authored-by: Renato Golin <rengolin at systemcall.eu>
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 8fe21fda7469f2fdf83980a2720a15baad74ae4f
https://github.com/llvm/llvm-project/commit/8fe21fda7469f2fdf83980a2720a15baad74ae4f
Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
A clang/test/Analysis/unreachable-code-exceptions.cpp
Log Message:
-----------
[clang][analyzer] Ignore try-statements in UnreachableCode checker (#91675)
Fixes #90162
Commit: 7b1b1279414217ea7f2402a03dfb5a18ea5a5367
https://github.com/llvm/llvm-project/commit/7b1b1279414217ea7f2402a03dfb5a18ea5a5367
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Platform.cpp
Log Message:
-----------
[lldb][Windows] Enforce exec permission using Platform::Install() from Windows host (#91887)
Target::Install() set 0700 permissions for the main executable file.
Platform::Install() just copies permissions from the source. But the
permission eFilePermissionsUserExecute is missing on the Windows host. A
lot of tests failed in case of Windows host and Linux target because of
this issue. There is no API to provide the exec flag. This patch set the
permission eFilePermissionsUserExecute for all files installed via
Platform::Install() from the Windows host. It fixes a lot of tests in
case of Windows host and Linux target.
Commit: d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
https://github.com/llvm/llvm-project/commit/d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] update comment following 63d8058 (NFC) (#91120)
Address a review comment post landing 63d8058 (LoopVectorize: guard
appending InstsToScalarize; fix bug) to update a comment.
Commit: ac42f7689d741feda2badc438101e7952db048f3
https://github.com/llvm/llvm-project/commit/ac42f7689d741feda2badc438101e7952db048f3
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
Log Message:
-----------
[lldb] Fixed the test TestDyldLaunchLinux (#92080)
Install a.out and libsignal_file.so to the remote target if necessary.
Commit: f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
https://github.com/llvm/llvm-project/commit/f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/exec/TestExec.py
Log Message:
-----------
[lldb] Fixed the test TestExec (#92082)
Install `secondprog` to the remote target if necessary.
Commit: 3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
https://github.com/llvm/llvm-project/commit/3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Reland "[ValueTracking] Compute knownbits from known fp classes" (#92084)
This patch relands https://github.com/llvm/llvm-project/pull/86409.
I mistakenly thought that `Known.makeNegative()` clears the sign bit of
`Known.Zero`. This patch fixes the assertion failure by explicitly
clearing the sign bit.
Commit: 58b9564d5d12063bb9c662039802ede8df615374
https://github.com/llvm/llvm-project/commit/58b9564d5d12063bb9c662039802ede8df615374
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add some assertions
Make sure we pass a non-null Descriptor when creating a new Block.
Commit: 0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
https://github.com/llvm/llvm-project/commit/0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Improve Pointer::print()
Commit: 5865482049872d3ae52ea5559abb9e8f4a1e55e5
https://github.com/llvm/llvm-project/commit/5865482049872d3ae52ea5559abb9e8f4a1e55e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Don't pass on metadata size for composite arrays
We don't need the metadata size for every element, just for the topmost
descriptor.
Commit: c1bd68867497cf6e2f2afdba1a3a2993a47b5856
https://github.com/llvm/llvm-project/commit/c1bd68867497cf6e2f2afdba1a3a2993a47b5856
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix some dummy-related FIXME comments
Commit: 31fb0ae23d3d1a1b90198a68c80c9116d844a01f
https://github.com/llvm/llvm-project/commit/31fb0ae23d3d1a1b90198a68c80c9116d844a01f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/and_sext.ll
Log Message:
-----------
[PowerPC] Regenerate and_sext.ll with test checks
I've kept the grep checks for extsh/extsb instructions, but we can now see the actual codegen as well
Commit: c34d1893cb8b485e6871512ef4e743bfa2d462f8
https://github.com/llvm/llvm-project/commit/c34d1893cb8b485e6871512ef4e743bfa2d462f8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[Offload] Remove support for old "BUILD_PLUGIN" options. (#91644)
Summary:
Since the move to the statically linked plugins, we added a new way to
directly control which plugins will be added. Delete these old ones as
they will cause the build to fail and suggest the new format.
Commit: 363258a3ccbb752ec23f681d19b6a874c4db99ab
https://github.com/llvm/llvm-project/commit/363258a3ccbb752ec23f681d19b6a874c4db99ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Remove old references to `isCtor` (#91766)
Summary:
These have long since been removed, support for ctors / dtors now
happens through special kernels the backend creates.
Commit: cbd72cb0deec31a5c3063cf1f1af759761115eee
https://github.com/llvm/llvm-project/commit/cbd72cb0deec31a5c3063cf1f1af759761115eee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
Log Message:
-----------
[mlir][vector] Split `TransposeOpLowering` into 2 patterns (#91935)
Splits `TransposeOpLowering` into two patterns:
1. `Transpose2DWithUnitDimToShapeCast` - rewrites 2D `vector.transpose`
as `vector.shape_cast` (there has to be at least one unit dim),
2. `TransposeOpLowering` - the original pattern without the part
extracted into `Transpose2DWithUnitDimToShapeCast`.
The rationale behind the split:
* the output generated by `Transpose2DWithUnitDimToShapeCast` doesn't
really match the intended output from `TransposeOpLowering` as
documented in the source file - it doesn't make much sense to keep
it embedded inside `TransposeOpLowering`,
* `Transpose2DWithUnitDimToShapeCast` _does_ work for scalable vectors,
`TransposeOpLowering` _does_ not.
Commit: e6d3a4212d20b49a8e63f11fedea79cccf261479
https://github.com/llvm/llvm-project/commit/e6d3a4212d20b49a8e63f11fedea79cccf261479
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/lib/CodeGen/PseudoSourceValue.cpp
Log Message:
-----------
[CodeGen] Use SmallVector for FixedStackPSVs (#91760)
Frame indices are dense and consecutive, so use a vector instead of a
std::map. Due to possibly negative frame indices, use zig-zag encoding.
IndexedMap was not usable, as it attempted to copy the null value, which
is not possible with a std::unique_ptr.
This is just a minor performance improvement, but a low-hanging fruit.
Commit: c7c5666aac543a49b485a133f4a94865e2613a43
https://github.com/llvm/llvm-project/commit/c7c5666aac543a49b485a133f4a94865e2613a43
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
Log Message:
-----------
[flang] Do not hoist all scalar sub-expressions from WHERE constructs (#91395)
The HLFIR pass lowering WHERE (hlfir.where op) was too aggressive in its
hoisting of scalar sub-expressions from LHS/RHS/MASKS outside of the
loops generated for the WHERE construct.
This violated F'2023 10.2.3.2 point 10 that stipulated that elemental
operations must be evaluated only for elements corresponding to true
values, because scalar operations are still elemental, and hoisting them
is invalid if they could have side effects (e.g, division by zero) and
if the MASK is always false (i.e., the loop body is never evaluated).
The difficulty is that 10.2.3.2 point 9 mandates that nonelemental
function must be evaluated before the loops. So it is not possible to
simply stop hoisting non hlfir.elemental operations.
Marking calls with an elemental/nonelemental attribute would not allow
the pass to be correct if inlining is run before and drops this
information, beside, extracting the argument tree that may have been
CSE-ed with the rest of the expression evaluation would be a bit
combursome.
Instead, lower nonelemental calls into a new hlfir.exactly_once
operation that will allow retaining the information that the operations
contained inside its region must be hoisted. This allows inlining to
operate before if desired in order to improve alias analysis.
The LowerHLFIROrderedAssignments pass is updated to only hoist the
operations contained inside hlfir.exactly_once bodies.
Commit: b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
https://github.com/llvm/llvm-project/commit/b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Drop redundant comment from createEdgeMask (NFC).
Follow-up to remove a redundant comment post-commit
https://github.com/llvm/llvm-project/pull/91897
Commit: 292b300c5131e54b9977305bb4aca9a03e1b4fed
https://github.com/llvm/llvm-project/commit/292b300c5131e54b9977305bb4aca9a03e1b4fed
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
Log Message:
-----------
[libc][bug] Fix out of bound write in memcpy w/ software prefetching (#90591)
This patch adds tests for `memcpy` and `memset` making sure that we
don't access buffers out of bounds. It relies on POSIX `mmap` /
`mprotect` and works only when FULL_BUILD_MODE is disabled.
The bug showed up while enabling software prefetching.
`loop_and_tail_offset` is always running at least one iteration but in
some configurations loop unrolled prefetching was actually needing only
the tail operation and no loop iterations at all.
Commit: 9d4f7f44b64d87d1068859906f43b7ce03a7388b
https://github.com/llvm/llvm-project/commit/9d4f7f44b64d87d1068859906f43b7ce03a7388b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/alsl.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/bitreverse.ll
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
M llvm/test/CodeGen/LoongArch/bstrins_d.ll
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
M llvm/test/CodeGen/LoongArch/bswap.ll
M llvm/test/CodeGen/LoongArch/bytepick.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
M llvm/test/CodeGen/LoongArch/cpus.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
M llvm/test/CodeGen/LoongArch/get-reg.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/imm.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.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/intrinsic-la32-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/LoongArch/ldptr.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
M llvm/test/CodeGen/LoongArch/load-store-offset.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/not.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/select-const.ll
M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.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/stptr.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
M llvm/test/CodeGen/LoongArch/thread-pointer.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/trap.ll
M llvm/test/CodeGen/LoongArch/unaligned-access.ll
M llvm/test/CodeGen/LoongArch/xray-attribute-instrumentation.ll
M llvm/test/CodeGen/LoongArch/zext-with-load-is-free.ll
M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
Log Message:
-----------
[test][LoongArch] Add -mattr=+d option. NFC
Because most of tests assume target-abi=`lp64d`, adding the
corresponding feature is reasonable.
rg -l loongarch -g '!*.s' | xargs sed -i '/mtriple=loongarch/ {/-mattr=/!{/target-abi/! s/mtriple=loongarch.. /&-mattr=+d /}}'
Commit: 415616daa0bdf6c0065c4c1967f1c4050e6ea836
https://github.com/llvm/llvm-project/commit/415616daa0bdf6c0065c4c1967f1c4050e6ea836
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Lower standalone ops via OMP dispatch, NFC (#92045)
This moves lowering of standalone OpenMP ops into the dispatch function.
Follow-up to PR90098.
Commit: cc54129b983799e1aaea77aa0ff3040dc30cbc8c
https://github.com/llvm/llvm-project/commit/cc54129b983799e1aaea77aa0ff3040dc30cbc8c
Author: Justin Cady <desk at justincady.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
Log Message:
-----------
Add option to exclude headers from clang-tidy analysis (#91400)
This is a renewed attempt to land @toddlipcon's D34654. The comments on
that patch indicate a broad desire for some ability to ignore headers.
After considering various options, including migrating to std::regex, I
believe this is the best path forward. It's intuitive to have separate
regexes for including headers versus excluding them, and this approach
has the added benefit of being completely opt-in. No existing configs
will break, regardless of existing HeaderFilterRegex values.
This functionality is useful for improving performance when analyzing a
targeted subset of code, as well as in cases where some collection of
headers cannot be modified (third party source, for example).
Commit: bf7a0f9958b93d9979e0adf93b80ad056615706d
https://github.com/llvm/llvm-project/commit/bf7a0f9958b93d9979e0adf93b80ad056615706d
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
Fix incorrect codegen with respect to GEPs #85333 (#92047)
As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps as long as their operands can be wired
via PHIs
in a post-dominator.
Fixes: #85333
Reapply: #88440 after fixing the non-determinism issues in #90995
Commit: e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
https://github.com/llvm/llvm-project/commit/e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
Author: Mubashar Ahmad <mubashar.ahmad at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add llvm.vector.deinterleave2 intrinsic (#91986)
Adds the LLVM vector.deinterleave2 intrinsic to the MLIR LLVM dialect. The
deinterleave2 intrinsic takes a vector and returns two vectors with the first
having even elements and the second with odd elements from the input
vector. The inverse of vector.interleave2.
Commit: cfa09473a6f904d214a1b514f41b9d4d9276c927
https://github.com/llvm/llvm-project/commit/cfa09473a6f904d214a1b514f41b9d4d9276c927
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/MC/MCInst.cpp
Log Message:
-----------
Cope with MCOperand null Insts (#91794)
MCOperand has a constructor that permits a nullptr MCInst, and BOLT makes use of that. Adjust MCOperand's dumper to permit such use.
Commit: 725014d866e2a75bfe293ee2d168d4c8f302fc74
https://github.com/llvm/llvm-project/commit/725014d866e2a75bfe293ee2d168d4c8f302fc74
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][NFC] Simplify CFG validation (#91977)
Remove 'Valid' local boolean that has a single use, and return directly instead.
Commit: 312f83f0e0672118a6d82d4b4d3568e9c812086d
https://github.com/llvm/llvm-project/commit/312f83f0e0672118a6d82d4b4d3568e9c812086d
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix dependency computation for pack indexing expression (#91933)
Given `foo...[idx]` if idx is value dependent, the expression is type
dependent.
Fixes #91885
Fixes #91884
Commit: 1aff294f6ef9c0a1a264c55d55e441e37a353f17
https://github.com/llvm/llvm-project/commit/1aff294f6ef9c0a1a264c55d55e441e37a353f17
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/lib/Core/BinaryBasicBlock.cpp
Log Message:
-----------
[BOLT][NFC] Simplify successor check (#91980)
Remove excess parentheses and use `boolean ? true-case : false-case` idiom.
Commit: 03eba209852c769ab6993be3bc01cdcc57d787b0
https://github.com/llvm/llvm-project/commit/03eba209852c769ab6993be3bc01cdcc57d787b0
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/OpenACCClause.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
Log Message:
-----------
[OpenACC] Fix ast-print of device_type clause
When writing the test for this I seemingly forgot to put 'CHECK' on the
lines, so I didn't notice that I was printing the identifiers as
pointers rather than their names. This patch corrects the tests and the
print behavior.
Commit: e60b83a645685f22375af9bca5af6624b3a805d0
https://github.com/llvm/llvm-project/commit/e60b83a645685f22375af9bca5af6624b3a805d0
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libclc/generic/lib/math/log_base.h
Log Message:
-----------
[libclc] Clarify condition expression (NFC)
Closes #91188
Commit: d422e90fcbdddd68749918ddd86c94188807efce
https://github.com/llvm/llvm-project/commit/d422e90fcbdddd68749918ddd86c94188807efce
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
A llvm/test/CodeGen/AArch64/pr92062.ll
Log Message:
-----------
[GlobalIsel][AArch64] fix out of range access in regbankselect (#92072)
Fixes https://github.com/llvm/llvm-project/issues/92062
Commit: 041baf2f60ac3e107399641aea04c77019e7eab8
https://github.com/llvm/llvm-project/commit/041baf2f60ac3e107399641aea04c77019e7eab8
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
A mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/canonicalize.mlir
R mlir/test/Dialect/ArmSME/cse.mlir
M mlir/test/Dialect/ArmSME/roundtrip.mlir
A mlir/test/Dialect/ArmSME/tile-allocation-copies.mlir
M mlir/test/Dialect/ArmSME/tile-allocation-invalid.mlir
M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
A mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
Log Message:
-----------
[mlir][ArmSME] Use liveness information in the tile allocator (#90448)
This patch rewrites the ArmSME tile allocator to use liveness
information to make better tile allocation decisions and improve the
correctness of the ArmSME dialect. This algorithm used here is a linear
scan over live ranges, where live ranges are assigned to tiles as they
appear in the program (chronologically). Live ranges release their
assigned tile ID when the current program point is passed their end.
This is a greedy algorithm (which is mainly to keep the implementation
relatively straightforward), and because it seems to be sufficient for
most kernels (e.g. matmuls) that use ArmSME. The general steps of this
are roughly from
https://link.springer.com/content/pdf/10.1007/3-540-45937-5_17.pdf,
though there have been a few simplifications and assumptions made for
our use case.
Hopefully, the only changes needed for a user of the ArmSME dialect is
that:
- `-allocate-arm-sme-tiles` will no longer be a standalone pass
- `-test-arm-sme-tile-allocation` is only for unit tests
- `-convert-arm-sme-to-llvm` must happen after `-convert-scf-to-cf`
- SME tile allocation is now part of the LLVM conversion
By integrating this into the `ArmSME -> LLVM` conversion we can allow
high-level (value-based) ArmSME operations to be side-effect-free, as we
can guarantee nothing will rearrange ArmSME operations before we emit
intrinsics (which could invalidate the tile allocation).
The hope is for ArmSME operations to have no hidden state/side effects
and allow easily lowering dialects such as `vector` and `arith` to SME,
without making assumptions about how the input IR looks, as the
semantics of the operations will be the same. That is no (new) side
effects and the IR follows the rules of SSA (a value will never change).
The aim is correctness, so we have a base for working on optimizations.
Commit: 2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
https://github.com/llvm/llvm-project/commit/2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
Log Message:
-----------
[AArch64] Postcommit fixes for histogram intrinsic (#92095)
A buildbot with expensive checks enabled flagged some problems with my patch. There was also a post-commit nit on the langref changes.
Commit: d9db2664994ff672f50d7fd0117477935dac04f1
https://github.com/llvm/llvm-project/commit/d9db2664994ff672f50d7fd0117477935dac04f1
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/lit.local.cfg
Log Message:
-----------
[PowerPC][test] Catch any exception when retrieving git revision (#92004)
This makes the `vc-rev-enabled` feature unsupported if we fail to
retrieve the git revision for any reason, such as if git is not
installed.
Commit: 8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
https://github.com/llvm/llvm-project/commit/8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-concepts.cpp
Log Message:
-----------
[Clang] Retain the angle loci for invented template parameters of constraints (#92104)
Clangd uses it to determine whether the argument is within the selection
range.
Fixes https://github.com/clangd/clangd/issues/2033
Commit: a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
https://github.com/llvm/llvm-project/commit/a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
Author: Artem Chikin <achikin at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/Support/SourceMgr.h
M llvm/lib/Support/SourceMgr.cpp
M llvm/unittests/Support/SourceMgrTest.cpp
Log Message:
-----------
[Support] Add option to print SMDiagnostic into a buffer without the filename and location info (#92050)
Commit: e08f1fda7508138d408cd61608bcbf30f8c3bb4d
https://github.com/llvm/llvm-project/commit/e08f1fda7508138d408cd61608bcbf30f8c3bb4d
Author: Nathan Gauër <brioche at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
A clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/convergence/while.hlsl
Log Message:
-----------
[clang][SPIR-V] Always add convergence intrinsics (#88918)
PR #80680 added bits in the codegen to lazily add convergence intrinsics
when required. This logic relied on the LoopStack. The issue is when
parsing the condition, the loopstack doesn't yet reflect the correct
values, as expected since we are not yet in the loop.
However, convergence tokens should sometimes already be available. The
solution which seemed the simplest is to greedily generate the tokens
when we generate SPIR-V.
Fixes #88144
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: ac0d415552922436c3136e3dd1446294858c2d7d
https://github.com/llvm/llvm-project/commit/ac0d415552922436c3136e3dd1446294858c2d7d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
Update documentation for buffer fat pointers (#92034)
Now that we've got (minus some issues around datatypes and invariant
loads) working lowerings for address space 7, update the table in the
AMDGPU usage guide to properly indicate the nature of these address
spaces.
Commit: 736ffdc38347f3f83cf7b3c034b8e837f46f7eab
https://github.com/llvm/llvm-project/commit/736ffdc38347f3f83cf7b3c034b8e837f46f7eab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
Log Message:
-----------
[RISCV] Add X27 to SavedRegs when X26 is in SavedRegs for cm.push/pop (#92067)
cm.push can't save X26 without also saving X27. This removes two other
checks for this case.
This causes CFI to be emitted since X27 is now explicitly a callee saved
register.
The affected tests use inline assembly to clobber X26 rather than the
whole range of s0-s10.
Commit: 2766f2174e428842a9ab1a9ba5b320be5878f87d
https://github.com/llvm/llvm-project/commit/2766f2174e428842a9ab1a9ba5b320be5878f87d
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC] Loosen __objc_imageinfo flag merging to match ld (#91767)
Allow mixing objects with/without signed class ro data and category
class properties as long as it happens before we register the metadata.
These combinations are a warning in ld, not a hard error. The only case
that is ABI-breaking is if we already registered with the feature
enabled but later try to load an object that doesn't support it.
rdar://127336061
Commit: 82434c70b792c4a3773515f8d3172df11e4e615f
https://github.com/llvm/llvm-project/commit/82434c70b792c4a3773515f8d3172df11e4e615f
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch] Add test cases for div/mod to cover various extended combinations of 32-bit integers. NFC
Commit: 08536b0f9ccc208ea170b9451026eb1fe1fbb780
https://github.com/llvm/llvm-project/commit/08536b0f9ccc208ea170b9451026eb1fe1fbb780
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor tryToCreateDiffCheck (NFC) (#92110)
tryToCreateDiffCheck has one caller, and exits early if CanUseDiffCheck
is false. Hence, we can get/set CanUseDiffCheck in the caller to avoid
wastefully calling tryToCreateDiffCheck. This patch is an NFC
simplification of program logic.
Commit: 3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
https://github.com/llvm/llvm-project/commit/3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/fdiv_combine.ll
R llvm/test/CodeGen/AArch64/sitofp-fixed-legal.ll
Log Message:
-----------
[AArch64] Remove redundant FDIV Combine. (#91924)
The target combine is no longer required because InstCombine will
transform the DIV by a power of 2 into a multiply, so in practice
this case will never trigger.
Additionally, the generated code would have been incorrect for
streaming(-compatible) functions, because it assumed NEON was available.
Commit: b2c5e9b9bf2a1cb4a8d4fc67f3201db55ae2cae1
https://github.com/llvm/llvm-project/commit/b2c5e9b9bf2a1cb4a8d4fc67f3201db55ae2cae1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/ARM/iabs.ll
Log Message:
-----------
[ARM] iabs.ll - regenerate test checks
Commit: 0f17d9a28c40eebd42c83956e2a7b5186c1814d7
https://github.com/llvm/llvm-project/commit/0f17d9a28c40eebd42c83956e2a7b5186c1814d7
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
Log Message:
-----------
[lldb] Fixed the test TestThreadStates when run with a remote target (#92086)
self.wait_for_running_event(process) is always called after
self.runCmd("continue"). It is strange to expect eStateConnected here.
This test failed in case of a remote target. The correct state is
eStateRunning. Removed incorrect checking.
Commit: 4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
https://github.com/llvm/llvm-project/commit/4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
Log Message:
-----------
[RISCV][CostModel] Add cost model for experimental.cttz.elts (#91778)
The cost of `experimental.cttz.elts` in RISC-V equals to the cost of
vfirst when the zero_is_poison argument is true. Otherwise, we add
additional costs of cmp + select to convert the -1 result from vfirst to
EVL.
Commit: 8019cbbbbc94658d133583f7be6cd0023d30b0f3
https://github.com/llvm/llvm-project/commit/8019cbbbbc94658d133583f7be6cd0023d30b0f3
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[Clang][Sema] Earlier type checking for builtin unary operators (#90500)
Currently, clang postpones all semantic analysis of unary operators with
operands of pointer/pointer to member/array/function type until
instantiation whenever that type is dependent (e.g. `T*` where `T` is a
type template parameter). Consequently, the uninstantiated AST nodes all
have the type `ASTContext::DependentTy` (which, for the purposes of
#90152, is undesirable as that type may be the current instantiation!
(e.g. `*this`))
This patch moves the point at which we perform semantic analysis for
such expression to be prior to instantiation.
Commit: 2ff43ce87e66d9324370e35ea6743ef57400c76e
https://github.com/llvm/llvm-project/commit/2ff43ce87e66d9324370e35ea6743ef57400c76e
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/test/Dialect/Polynomial/attributes.mlir
M mlir/test/Dialect/Polynomial/ops.mlir
M mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Restore #91137 (#92003)
#91137 reverted in #92001
A build error fix added in 28d5ece8ca93ef04fee9b0258b70b750b66c05ca
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 344c73ee831995d78d6eca1bed101878b5bae1bc
https://github.com/llvm/llvm-project/commit/344c73ee831995d78d6eca1bed101878b5bae1bc
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
Log Message:
-----------
[libc][bazel] Updates for 292b300c5131e54b9977305bb4aca9a03e1b4fed
Commit: 5f7477a72b826d0d6e7369ebe93cefcd55682d95
https://github.com/llvm/llvm-project/commit/5f7477a72b826d0d6e7369ebe93cefcd55682d95
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/option-invalid.s
M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rvv/invalid.s
M llvm/test/MC/RISCV/rvv/xsfvcp-invalid.s
M llvm/test/MC/RISCV/rvv/zvbb-invalid.s
M llvm/test/MC/RISCV/rvv/zvkned-invalid.s
M llvm/test/MC/RISCV/rvv/zvknh-invalid.s
M llvm/test/MC/RISCV/rvv/zvksed-invalid.s
M llvm/test/MC/RISCV/rvv/zvksh-invalid.s
Log Message:
-----------
RISCVAsmParser: Make diagnostics more conventional
Most diagnostics obey
https://llvm.org/docs/CodingStandards.html#error-and-warning-messages
but some diverge. Fix them.
While here, adjust some diagnostics.
Pull Request: https://github.com/llvm/llvm-project/pull/92024
Commit: 1355dcbb6e8b40780f1fbaa89cde50aa763dab89
https://github.com/llvm/llvm-project/commit/1355dcbb6e8b40780f1fbaa89cde50aa763dab89
Author: quanwanandy <150498259+quanwanandy at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix Bazel Build (#92139)
Commit: 77b80bd8186b392ed9bc87cd526a64093dd03522
https://github.com/llvm/llvm-project/commit/77b80bd8186b392ed9bc87cd526a64093dd03522
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[mlir][flang] Improve handling of fortran module variables. (#91604)
Currently, only those global variables which are at compile unit scope
are added to the 'globals' list of the DICompileUnit. This does not work
for languages which support modules (e.g. Fortran) where hierarchy
can be
variable -> module -> compile unit.
To fix this, if a variable scope points to a module, we walk one level
up and see if module is in the compile unit scope.
This was initially part of #91582 which adds debug information for
Fortran module variables. @kiranchandramohan pointed out that MLIR
changes should go in separate PRs.
Commit: b04c07bf271be097a5e5726730c538454fd30992
https://github.com/llvm/llvm-project/commit/b04c07bf271be097a5e5726730c538454fd30992
Author: Palmer Dabbelt <palmer at dabbelt.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rvv/invalid.s
Log Message:
-----------
[RISCV] Only allow up to e64 in vsetvli (#92010)
These larger SEWs aren't in the ratified V spec. Thanks to dzaima and
sorear on IRC for pointing this one out.
Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
Commit: 6c8ebc053533c691099ab60c41261b3cb4ba2fa3
https://github.com/llvm/llvm-project/commit/6c8ebc053533c691099ab60c41261b3cb4ba2fa3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
Log Message:
-----------
[NFC][CallPromotionUtils]Extract a helper function versionCallSiteWithCond from versionCallSite (#81181)
* This is to be used by https://github.com/llvm/llvm-project/pull/81378
to implement a variant of versionCallSite that compares vtables.
* The parent patch is https://github.com/llvm/llvm-project/pull/81051
Commit: 54435b5df32d80c68c94acf96a7565ffd3d86542
https://github.com/llvm/llvm-project/commit/54435b5df32d80c68c94acf96a7565ffd3d86542
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
Log Message:
-----------
[clang-tidy] Ignore implicit casts with errors in bugprone-implicit-widening-of-multiplication-result (#92025)
When expression got errors (missing typedef) and clang-tidy is compiled
with asserts enabled, then we crash in this check on assert because type
with errors is visible as an dependent one. This is issue caused by
invalid input.
But as there is not point to crash in such case and generate additional
confusion, such expressions with errors will be now ignored.
Fixes #89515, #55293
Commit: 97e35e0098e863bff959f726f1492654a6cfe441
https://github.com/llvm/llvm-project/commit/97e35e0098e863bff959f726f1492654a6cfe441
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
R clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Revert "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92149)
This reverts commit 8019cbbbbc94658d133583f7be6cd0023d30b0f3.
Commit: 86f655cb4e2f4134d48219a2959a10c90e3396cb
https://github.com/llvm/llvm-project/commit/86f655cb4e2f4134d48219a2959a10c90e3396cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll
Log Message:
-----------
[LAA] Add tests showing unnecessary RT check due to applying loop guards
Test courtesy to @bjope showing a regression due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.
Commit: 39d123f58a0e3c5f1a928940244b8dfd827fd4e5
https://github.com/llvm/llvm-project/commit/39d123f58a0e3c5f1a928940244b8dfd827fd4e5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/tools/llvm-rc/ResourceScriptStmt.h
Log Message:
-----------
[nfc] const-ify `IntOrString::equalsLower` (#92152)
Commit: de14b749fee41d4ded711e771e43043ae3100cb3
https://github.com/llvm/llvm-project/commit/de14b749fee41d4ded711e771e43043ae3100cb3
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
Log Message:
-----------
[RISCV][test] Precommit tests for byte store of -1
Although we can't reduce the number of instructions, if we selected `li
rd, -1` instead then this could be encoded in a 16-bit instruction.
Commit: 90109d444839683b09f0aafdc50b749cb4b3203b
https://github.com/llvm/llvm-project/commit/90109d444839683b09f0aafdc50b749cb4b3203b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
Log Message:
-----------
[RISCV] Improve constant materialisation for stores of i8 negative constants (#92131)
This follows the same pattern as 20e62658735a1b03ecadc. Although we
can't reduce the number of instructions used, if we are able to use a
sign-extended 6-bit immediate then the 16-bit c.li instruction can be
selected (thus saving code size). Although this _could_ be gated so it
only happens if C is enabled, I've opted not to because at worst it's
neutral and it doesn't seem helpful to add unnecessary divergence
between the RVC and non-RVC paths.
Commit: 67d840b60fbd75ca1b52d77bd3353771ec853735
https://github.com/llvm/llvm-project/commit/67d840b60fbd75ca1b52d77bd3353771ec853735
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
A llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
Log Message:
-----------
[VPlan] Relax over-aggressive assertion in VPTransformState::get().
There are cases where a vector value has some users that demand the
the single scalar value only (NeedsScalar), while other users demand the
vector value (see attached test cases). In those cases, the NeedsScalar
users should only demand the first lane.
Fixes https://github.com/llvm/llvm-project/issues/91883.
Commit: f89b1b8a68065c4b880417abb0563bce21399b52
https://github.com/llvm/llvm-project/commit/f89b1b8a68065c4b880417abb0563bce21399b52
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix bazel build.
Commit: 19008d32182ebbe421aaa222ee8af5c3e134e550
https://github.com/llvm/llvm-project/commit/19008d32182ebbe421aaa222ee8af5c3e134e550
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/smul_fix.ll
A llvm/test/CodeGen/AArch64/smul_fix_sat.ll
A llvm/test/CodeGen/AArch64/umul_fix.ll
A llvm/test/CodeGen/AArch64/umul_fix_sat.ll
Log Message:
-----------
[llvm] Support fixed point multiplication on AArch64 (#84237)
Prior to this, fixed point multiplication would lead to this assertion
error on AArhc64, armv8, and armv7.
```
_Accum f(_Accum x, _Accum y) { return x * y; }
// ./bin/clang++ -ffixed-point /tmp/test2.cc -c -S -o - -target aarch64 -O3
clang++: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:10245: void llvm::TargetLowering::forceExpandWideMUL(SelectionDAG &, const SDLoc &, bool, EVT, const SDValue, const SDValue, const SDValue, const SDValue, SDValue &, SDValue &) const: Assertion `Ret.getOpcode() == ISD::MERGE_VALUES && "Ret value is a collection of constituent nodes holding result."' failed.
```
This path into forceExpandWideMUL should only be taken if we don't
support [US]MUL_LOHI or MULH[US] for the operand size (32 in this case).
But we should also check if we can just leverage regular wide
multiplication. That is, extend the operands from 32 to 64, do a regular
64-bit mul, then trunc and shift. These ops are certainly available on
aarch64 but for wider types.
Commit: acd100747fff85e7cfb67caa6c0f1053e820c1ac
https://github.com/llvm/llvm-project/commit/acd100747fff85e7cfb67caa6c0f1053e820c1ac
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
M mlir/test/Dialect/Arith/int-range-opts.mlir
M mlir/test/Dialect/GPU/int-range-interface.mlir
M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][test] Extend `InferIntRangeInterface` test Ops to arbitrary ints (#91850)
This PR is in preparation to some extensions to the
`InferIntRangeInterface` around the `nsw` and `nuw` flags supported in
the `arith` dialect and LLVM.
We provide some common inference logic for `index` and `arith` in
`InferIntRangeCommon.h` but our Test Ops are currently fixed to `Index`
Types. As we test the range inference for arith Ops, especially around
the overflow behaviour, it's handy to have native support for the
typical integer types in the test Ops.
This patch
1. Changes the Attributes of `test.with_bounds` ops from `Index` to
`APInt` which matches the internal representation in
`ConstantIntRanges`.
2. Allows the use of `AnyInteger` in addition to `Index` for the
operands and results of the test Ops. This now requires explicit
specification of the type in the IR, where before `Index` was implicit.
3. Requires bounds Attrs to be specified in the precision of the SSA
value, eliminating any implicit truncation or extension. (*Could this
lead to problems?*)
Commit: 80f8ae3f8485b62529c32683ca48822d700c7716
https://github.com/llvm/llvm-project/commit/80f8ae3f8485b62529c32683ca48822d700c7716
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[NFC] add explanation to register flags doc (#91803)
Commit: 5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
https://github.com/llvm/llvm-project/commit/5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/utils/creduce-clang-crash.py
Log Message:
-----------
Allow passing creduce options through creduce-clang-crash.py (#92141)
This change allows us to pass creduce options to creduce-clang-crash.py
script. With this, `--n` is no longer needed to specify the number of
cores, so removed the flag.
The motivation is
https://github.com/llvm/llvm-project/pull/87933#issuecomment-2109463497
suggests that disabling creduce renaming passes helps people to further
reduce crash manually.
Commit: 179efe5abc745b5646efeb33fef86c55aa4fd7dc
https://github.com/llvm/llvm-project/commit/179efe5abc745b5646efeb33fef86c55aa4fd7dc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll
Log Message:
-----------
[LAA] Delay applying loop guards until after isSafeDependenceDistance.
Applying the loop guards to the distance may prevent
isSafeDependenceDistance from determining NoDep, unless loop guards are
also applied to the backedge-taken-count.
Instead of applying the guards to both Dist and the
backedge-taken-count, just apply them after handling
isSafeDependenceDistance and constant distances; there is no benefit to
applying the guards before then.
This fixes a regression flagged by @bjope due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.
Commit: 302db1ab5a054103e411997fd75b2bf6ef7f448c
https://github.com/llvm/llvm-project/commit/302db1ab5a054103e411997fd75b2bf6ef7f448c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Offload] Do not link every target for JIT (#92013)
Summary:
The offload library supports basic JIT functionality, however we
currently link against every single target even though only AMDGPU and
NVPTX are supported. This somewhat bloats the dynamic library list, so
we should constrain it to what's actually used.
Commit: 332f5e7113c409982e6429b135bb1a7055c11e77
https://github.com/llvm/llvm-project/commit/332f5e7113c409982e6429b135bb1a7055c11e77
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
Log Message:
-----------
[compiler-rt][ORC] Remove unused cmake variables (NFC) (#87742)
Commit: 18ba0cc26e079c7150feb5eaf631d1834e49ca1a
https://github.com/llvm/llvm-project/commit/18ba0cc26e079c7150feb5eaf631d1834e49ca1a
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add keith to bazel owners (NFC) (#92164)
I'm interested in being CC'd on these changes
Commit: cf5db39907f7ec66c084a07c6eb9a83eef506b3c
https://github.com/llvm/llvm-project/commit/cf5db39907f7ec66c084a07c6eb9a83eef506b3c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
Log Message:
-----------
[LV] Add tests with trip counts containing UDIV expressions.
Add test cases for
https://github.com/llvm/llvm-project/issues/89958.
Commit: 4cfe347c107485aab6bd003f99ab06aac242b0fd
https://github.com/llvm/llvm-project/commit/4cfe347c107485aab6bd003f99ab06aac242b0fd
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
Log Message:
-----------
[clangd] Fix -Wunused-but-set-variable after #82396
Commit: d4c86e7f3ea298b259e673142470a7b838f5f302
https://github.com/llvm/llvm-project/commit/d4c86e7f3ea298b259e673142470a7b838f5f302
Author: Amara Emerson <amara at apple.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-basepointer.mir
A llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
Log Message:
-----------
[AArch64][SME] Fix frame lowering not using a base pointer for SME functions. (#91643)
The existing code is checking for the presence of the +sve subtarget
feature
when deciding to use a base pointer for the function, but this check
doesn't
work when only +sme is used.
rdar://126878490
Commit: 12028373020739b388eb2b8141742509f1764e3c
https://github.com/llvm/llvm-project/commit/12028373020739b388eb2b8141742509f1764e3c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393)
Reapplies #81642, fixing the crash which occurs when running the lldb test suite.
Commit: fb8f492a1ccb2236a82701c76f82960fd6cdb725
https://github.com/llvm/llvm-project/commit/fb8f492a1ccb2236a82701c76f82960fd6cdb725
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
Log Message:
-----------
[mlir][sparse] clone a empty sparse tensor when fuse convert into pro… (#92158)
…ducer.
Commit: baca93fc83ee3b9ef32cd328dc4275a06177c8c7
https://github.com/llvm/llvm-project/commit/baca93fc83ee3b9ef32cd328dc4275a06177c8c7
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
Log Message:
-----------
[LSR] Tweak debug output to always print initial cost
Commit: f83df080a817c99e90ed1a0bd5693c5f07ebf567
https://github.com/llvm/llvm-project/commit/f83df080a817c99e90ed1a0bd5693c5f07ebf567
Author: Florian Mayer <fmayer at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
Log Message:
-----------
[NFC] add comment to keep RegState in sync with doc (#92170)
Commit: f918c056f06968763870bc3e6b9f9d7074e1f867
https://github.com/llvm/llvm-project/commit/f918c056f06968763870bc3e6b9f9d7074e1f867
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Host/macosx/objcxx/Host.mm
Log Message:
-----------
[lldb] Allow env override for LLDB_ARGDUMPER_PATH (#91688)
This mirrors the LLDB_DEBUGSERVER_PATH environment variable and allows
you to have lldb-argdumper in a non-standard location and still use it
at runtime.
Commit: 67beebfcb9a267cc1e443aa4d3788adbfcf02639
https://github.com/llvm/llvm-project/commit/67beebfcb9a267cc1e443aa4d3788adbfcf02639
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen][SubtargetEmitter] Refactor hasReadOfWrite to CodeGenProcModel (#92032)
SubtargetEmitter::GenSchedClassTables takes a CodeGenProcModel, but
calls hasReadOfWrite which loops over all ProcModels. We move
hasReadOfWrite to CodeGenProcModel and remove the loop over all
ProcModels. This leads to a 144% speedup on the RISC-V backend of our
downstream.
Commit: 536abf827b481f78a0879b02202fb9a3ffe3a908
https://github.com/llvm/llvm-project/commit/536abf827b481f78a0879b02202fb9a3ffe3a908
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
Read and store gnu build id from loaded core file (#92078)
As we have debuginfod as symbol locator available in lldb now, we want
to make full use of it.
In case of post mortem debugging, we don't always have the main
executable available.
However, the .note.gnu.build-id of the main executable(some other
modules too), should be available in the core file, as those binaries
are loaded in memory and dumped in the core file.
We try to iterate through the NT_FILE entries, read and store the gnu
build id if possible. This will be very useful as this id is the unique
key which is needed for querying the debuginfod server.
Test:
Build and run lldb. Breakpoint set to
https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp#L147
Verified after this commit, module_uuid is the correct gnu build id of
the main executable which caused the crash(first in the NT_FILE entry)
Commit: 5bf653ca42dceb8266a0ff70634292ccd2ad4c43
https://github.com/llvm/llvm-project/commit/5bf653ca42dceb8266a0ff70634292ccd2ad4c43
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
Revert "Read and store gnu build id from loaded core file" (#92181)
Reverts llvm/llvm-project#92078
Commit: 99fad7ebd85e37d3e25500b3411f6b332f68f108
https://github.com/llvm/llvm-project/commit/99fad7ebd85e37d3e25500b3411f6b332f68f108
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
Log Message:
-----------
[BOLT][DWARF] Update DW_AT_comp_dir/DW_AT_dwo_name for DWO TUs (#91486)
Type unit DIE generated by clang contains DW_AT_comp_dir/DW_AT_dwo_name.
This was added to clang to help LLDB to figure out where type unit come
from when accessing an entry in a .debug_names accelerator table and
type units in .dwp file.
When BOLT writes out .dwo files it changes the name of them. User can
also specify directory of where they can be written out. Added support
to BOLT to update those attributes.
Commit: 844355a8cb4b4fa4a6fa39ac47e1169233bb7130
https://github.com/llvm/llvm-project/commit/844355a8cb4b4fa4a6fa39ac47e1169233bb7130
Author: VincentWu <43398706+Xinlong-Wu at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISC-V] remove I ext when E ext has been enabled (#92070)
After patch https://github.com/llvm/llvm-project/pull/88805
`I` Ext will be added automatically when we running the command like
`./build/bin/llc -mtriple=riscv32 -mattr=+e -target-abi ilp32e
-verify-machineinstrs llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll`
it will generate
```
.text
.attribute 4, 16
.attribute 5, "rv32i2p1_e2pe"
.file "zcmp-additional-stack.ll"
.globl func # -- Begin function func
.p2align 1
.type func, at function
```
This patch reset the I ext in FeatureBit when `+e` has been specify
Commit: 3ca428c090624d3cfc530144da6dcd3abfd9ea63
https://github.com/llvm/llvm-project/commit/3ca428c090624d3cfc530144da6dcd3abfd9ea63
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU][True16] Add VOP1Inst_t16_with_profiles class (#92184)
NFC. Makes the VOP1Inst_t16 interface more generic to support future
instructions cleanly.
Commit: e417e61532ac373e7b0708262dedefcdaf6ced9c
https://github.com/llvm/llvm-project/commit/e417e61532ac373e7b0708262dedefcdaf6ced9c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
Log Message:
-----------
[RISCV][LegalizeTypes] Add additional test coverage for type promotion of VP_FSHL/FSHR. NFC
There's a special path when the promoted type has an element size
more than twice the size of the original type.
Commit: 4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
https://github.com/llvm/llvm-project/commit/4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Add an overriding option for debugging (#91984)
Summary:
One of the downsides of the linker wrapper is that it made debugging
more difficult. It is very powerful in that it can resolve a lot of
input matching and library handling that could not be done before.
However, the old method allowed users to simply copy-paste the script
files to modify the output and test it.
This patch attempts to make it easier to debug changes by letting the
user override all the linker inputs. That is, we provide a user-created
binary that is treated like the final output of the device link step.
The intended use-case is for using `-save-temps` to get some IR, then
modifying the IR and sticking it back in to see if it exhibits the old
failures.
Commit: c5cd049566a795ba5de88dfbb2eb563cad4a9d8a
https://github.com/llvm/llvm-project/commit/c5cd049566a795ba5de88dfbb2eb563cad4a9d8a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang][Fixup] Fix deleted constructor on older compilers
Commit: dfdc3dcbe7f38bde64bc83a74b9c3451c50e1ad4
https://github.com/llvm/llvm-project/commit/dfdc3dcbe7f38bde64bc83a74b9c3451c50e1ad4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[ctx_profile] Profile reader and writer (#91859)
Utility converting a profile coming from `compiler_rt` to bitstream, and
a reader.
`PGOCtxProfileWriter::write` would be used as the `Writer` parameter for
`__llvm_ctx_profile_fetch` API. This is expected to happen in user code,
for example in the RPC hanler tasked with collecting a profile, and
would look like this:
```
// set up an output stream "Out", which could contain other stuff
{
// constructing the Writer will start the section, in Out, containing
// the collected contextual profiles.
PGOCtxProfWriter Writer(Out);
__llvm_ctx_profile_fetch(&Writer, +[](void* W, const ContextNode &N) {
reinterpret_cast<PGOCtxProfWriter*>(W)->write(N);
});
// Writer going out of scope will finish up the section.
}
```
The reader produces a data structure suitable for maintenance during IPO
transformations.
Commit: 03c7458a3603396d2d0e1dee43399d3d1664a264
https://github.com/llvm/llvm-project/commit/03c7458a3603396d2d0e1dee43399d3d1664a264
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
R llvm/lib/ProfileData/PGOCtxProfReader.cpp
R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Revert "[ctx_profile] Profile reader and writer" (#92199)
Reverts llvm/llvm-project#91859
Buildbot failures.
Commit: 4d1ecf192313b612090d60181937eff03c1a966b
https://github.com/llvm/llvm-project/commit/4d1ecf192313b612090d60181937eff03c1a966b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/test/Transforms/LoopFlatten/loop-flatten-gep.ll
Log Message:
-----------
[Transforms] Preserve inbounds attribute of transformed GEPs when flattening loops (#86961)
When flattening the loop, if the GEP was inbound, it should stay
inbound, because the only thing that changed is how the pointers are
calculated, not the elements being accessed.
Proof: https://alive2.llvm.org/ce/z/dApMpQ
Commit: 71fbbb69d63c461f391cbabf1e32cd9977c4ce68
https://github.com/llvm/llvm-project/commit/71fbbb69d63c461f391cbabf1e32cd9977c4ce68
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/IR/GlobalValue.h
M llvm/lib/IR/Globals.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
Log Message:
-----------
[IR] Move GlobalValue::getGUID() out of line (NFC)
Avoid including MD5.h in a core IR header.
Commit: 6642cc60a21f857bddde8ec2c81008a83a54b4d3
https://github.com/llvm/llvm-project/commit/6642cc60a21f857bddde8ec2c81008a83a54b4d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
Log Message:
-----------
[SCEV] Add tests for ule/sle exit counts (NFC)
Commit: 11b059145d177ee287c7ada9864addf8d083c160
https://github.com/llvm/llvm-project/commit/11b059145d177ee287c7ada9864addf8d083c160
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic
if the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.
Commit: 13b265c7b5c6a989427639e33893c158f737480b
https://github.com/llvm/llvm-project/commit/13b265c7b5c6a989427639e33893c158f737480b
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/fred.txt
A llvm/test/MC/Disassembler/X86/lkgs.txt
A llvm/test/MC/X86/fred-att.s
A llvm/test/MC/X86/fred-intel.s
A llvm/test/MC/X86/lkgs-att.s
A llvm/test/MC/X86/lkgs-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support Intel FRED and LKGS instructions. (#91909)
Spec reference: https://cdrdv2.intel.com/v1/dl/getContent/678938
Commit: eb103104ef08ebc2d0de63db0592e76b294cf8bb
https://github.com/llvm/llvm-project/commit/eb103104ef08ebc2d0de63db0592e76b294cf8bb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
R clang/test/Modules/pr91418.cppm
Log Message:
-----------
Revert "[Serialization] Read the initializer for interesting static variables before consuming it"
This reverts commit 11b059145d177ee287c7ada9864addf8d083c160.
The premerge bot is broken.
Commit: 2ece5cc2bb1b4cc787e33e24a6582043d441a572
https://github.com/llvm/llvm-project/commit/2ece5cc2bb1b4cc787e33e24a6582043d441a572
Author: epitavy <32581827+epitavy at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
Log Message:
-----------
[ExceptionDemo] Correct and update example ExceptionDemo (#69485)
The ExceptionDemo example was no longer compiling (since llvm 14 at
least). The PR makes the example work with the current API and also
transition from MCJIT to ORC.
Fixes #63702
Commit: 72b2c37de6a4bbc2b2d2cda49293684b7cc71508
https://github.com/llvm/llvm-project/commit/72b2c37de6a4bbc2b2d2cda49293684b7cc71508
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Clean up TokenAnnotator::mustBreakBefore()
Commit: 1a58e88690c1a48d1082b4ee6b759f5dc49a7144
https://github.com/llvm/llvm-project/commit/1a58e88690c1a48d1082b4ee6b759f5dc49a7144
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.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-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Move RISCVInsertVSETVLI to after phi elimination (#91440)
Split off from #70549, this patch moves RISCVInsertVSETVLI to after phi
elimination where we exit SSA and need to move to LiveVariables.
The motivation for splitting this off is to avoid the large scheduling
diffs from moving completely to after regalloc, and instead focus on
converting the pass to work on LiveIntervals.
The two main changes required are updating VSETVLIInfo to store VNInfos
instead of MachineInstrs, which allows us to still check for PHI defs in
needVSETVLIPHI, and fixing up the live intervals of any AVL operands
after inserting new instructions.
On O3 the pass is inserted after the register coalescer, otherwise we
end up with a bunch of COPYs around eliminated PHIs that trip up
needVSETVLIPHI.
Co-authored-by: Piyou Chen <piyou.chen at sifive.com>
Commit: a71e2b9d0f287e4927e51d6764f90e492ba136e1
https://github.com/llvm/llvm-project/commit/a71e2b9d0f287e4927e51d6764f90e492ba136e1
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/generic-error-number-macros.h
Log Message:
-----------
[libc][errno] Remove non asm generic error number (#92172)
The following small thing caught my eye:
1) `EILSEQ` is not part of the generic asm error number macros. See the
[full list of generic asm errno
codes](https://github.com/torvalds/linux/blob/4b95dc87362aa57bdd0dcbad109ca5e5ef3cbb6c/include/uapi/asm-generic/errno-base.h).
AFAIK the generic asm errno numbers are common between different
operating systems and architectures. `EILSEQ` is not part of this common
set of errno's.
2) `EILSEQ`'s value is wrong. During the addition of `EILSEQ` in
https://reviews.llvm.org/D151129, the value `35` was probably chosen as
its the consecutive number. This is not correct. The actual values can
be looked up for example here:
* [For Linux
kernel](https://github.com/search?q=repo%3Atorvalds%2Flinux+EILSEQ&type=code&p=1):
`EILSEQ = 84` (uapi; i.e. x86_64), `EILSEQ = 88` (mips), `EILSEQ = 47`
(parisc)
* [For Darwin
kernel](https://github.com/apple-oss-distributions/xnu/blob/main/bsd/sys/errno.h#L237):
`EILSEQ = 92`
Commit: d3455f4ddd16811401fa153298fadd2f59f6914e
https://github.com/llvm/llvm-project/commit/d3455f4ddd16811401fa153298fadd2f59f6914e
Author: Cyuria <55673467+cyuria at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc][docs] Fix outdated code review section, as per #91934 (#92051)
As in the title, fixes #91934
Commit: 77047e3cd2edd2b870982fc92f505cbb7fd764cd
https://github.com/llvm/llvm-project/commit/77047e3cd2edd2b870982fc92f505cbb7fd764cd
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Make vsetvli in test not loop invariant. NFC (#92094)
The middle end will remove the inner vsetvli otherwise, and it's more
typical to set the AVL to the remaining VL.
This also prevents the test from showing up as a regression in #91319
Commit: 74d91d9acebdbc81306c8a0ee547002e7e8084f9
https://github.com/llvm/llvm-project/commit/74d91d9acebdbc81306c8a0ee547002e7e8084f9
Author: rahulana-quic <quic_rahulana at quicinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M polly/test/CodeGen/20100617.ll
M polly/test/CodeGen/20100622.ll
M polly/test/CodeGen/20100707.ll
M polly/test/CodeGen/20100707_2.ll
M polly/test/CodeGen/20100708.ll
M polly/test/CodeGen/20100708_2.ll
M polly/test/CodeGen/20100713.ll
M polly/test/CodeGen/20100713_2.ll
M polly/test/CodeGen/20100717.ll
M polly/test/CodeGen/20100718-DomInfo-2.ll
M polly/test/CodeGen/20100718-DomInfo.ll
M polly/test/CodeGen/20100720-MultipleConditions.ll
M polly/test/CodeGen/20100809-IndependentBlock.ll
M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
M polly/test/CodeGen/20101030-Overflow.ll
M polly/test/CodeGen/20101103-Overflow3.ll
M polly/test/CodeGen/20101103-signmissmatch.ll
M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
M polly/test/CodeGen/20110226-PHI-Node-removed.ll
M polly/test/CodeGen/20120316-InvalidCast.ll
M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
M polly/test/CodeGen/20130221.ll
M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
M polly/test/CodeGen/Intrinsics/llvm-expect.ll
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/bad_alignment.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
M polly/test/CodeGen/MemAccess/codegen_simple.ll
M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
M polly/test/CodeGen/MemAccess/multiple_types.ll
M polly/test/CodeGen/MemAccess/simple.ll
M polly/test/CodeGen/MemAccess/update_access_functions.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
M polly/test/CodeGen/OpenMP/inlineasm.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/matmul-parallel.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/OpenMP/reference-other-bb.ll
M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
M polly/test/CodeGen/OpenMP/reference_latest.ll
M polly/test/CodeGen/OpenMP/scev-rewriting.ll
M polly/test/CodeGen/OpenMP/single_loop.ll
M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
M polly/test/CodeGen/PHIInExit.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
M polly/test/CodeGen/alias-check-multi-dim.ll
M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
M polly/test/CodeGen/aliasing_different_pointer_types.ll
M polly/test/CodeGen/aliasing_multidimensional_access.ll
M polly/test/CodeGen/aliasing_parametric_simple_1.ll
M polly/test/CodeGen/aliasing_parametric_simple_2.ll
M polly/test/CodeGen/aliasing_struct_element.ll
M polly/test/CodeGen/alignment.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/blas_sscal_simplified.ll
M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
M polly/test/CodeGen/constant_condition.ll
M polly/test/CodeGen/create-conditional-scop.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
M polly/test/CodeGen/empty_domain_in_context.ll
M polly/test/CodeGen/entry_with_trivial_phi.ll
M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/exprModDiv.ll
M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/inner_scev_sdiv_1.ll
M polly/test/CodeGen/inner_scev_sdiv_2.ll
M polly/test/CodeGen/inner_scev_sdiv_3.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
M polly/test/CodeGen/invariant-load-dimension.ll
M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load.ll
M polly/test/CodeGen/invariant_load_address_space.ll
M polly/test/CodeGen/invariant_load_alias_metadata.ll
M polly/test/CodeGen/invariant_load_base_pointer.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/CodeGen/invariant_load_condition.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_escaping.ll
M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
M polly/test/CodeGen/invariant_load_loop_ub.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_load_outermost.ll
M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
M polly/test/CodeGen/invariant_load_scalar_dep.ll
M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/issue56692.ll
M polly/test/CodeGen/large-numbers-in-boundary-context.ll
M polly/test/CodeGen/load_subset_with_context.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/loop_with_condition.ll
M polly/test/CodeGen/loop_with_condition_2.ll
M polly/test/CodeGen/loop_with_condition_ineq.ll
M polly/test/CodeGen/loop_with_condition_nested.ll
M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
M polly/test/CodeGen/memcpy_annotations.ll
M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
M polly/test/CodeGen/multidim-non-matching-typesize.ll
M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/CodeGen/multidim_alias_check.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/multiple-types-invariant-load.ll
M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
M polly/test/CodeGen/no-overflow-tracking.ll
M polly/test/CodeGen/no_guard_bb.ll
M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
M polly/test/CodeGen/non-affine-exit-node-dominance.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
M polly/test/CodeGen/non-affine-phi-node-expansion.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
M polly/test/CodeGen/non-affine-region-implicit-store.ll
M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
M polly/test/CodeGen/non-affine-switch.ll
M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
M polly/test/CodeGen/non-affine-update.ll
M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/only_non_affine_error_region.ll
M polly/test/CodeGen/openmp_limit_threads.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/param_div_div_div_2.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_emptyset.ll
M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/partial_write_in_region.ll
M polly/test/CodeGen/partial_write_in_region_with_loop.ll
M polly/test/CodeGen/partial_write_mapped_scalar.ll
M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
M polly/test/CodeGen/perf_monitoring.ll
M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
M polly/test/CodeGen/phi_condition_modeling_1.ll
M polly/test/CodeGen/phi_condition_modeling_2.ll
M polly/test/CodeGen/phi_conditional_simple_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/phi_scalar_simple_1.ll
M polly/test/CodeGen/phi_scalar_simple_2.ll
M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
M polly/test/CodeGen/phi_with_one_exit_edge.ll
M polly/test/CodeGen/pointer-type-expressions-2.ll
M polly/test/CodeGen/pointer-type-expressions.ll
M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
M polly/test/CodeGen/pointer_rem.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/ptrtoint_as_parameter.ll
M polly/test/CodeGen/read-only-scalars.ll
M polly/test/CodeGen/reduction.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/reduction_simple_binary.ll
M polly/test/CodeGen/region-with-instructions.ll
M polly/test/CodeGen/region_exiting-domtree.ll
M polly/test/CodeGen/region_multiexit_partialwrite.ll
M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
M polly/test/CodeGen/run-time-condition.ll
M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/scalar_codegen_crash.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/scev-division-invariant-load.ll
M polly/test/CodeGen/scev.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/CodeGen/scev_looking_through_bitcasts.ll
M polly/test/CodeGen/scop_expander_insert_point.ll
M polly/test/CodeGen/scop_expander_segfault.ll
M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
M polly/test/CodeGen/select-base-pointer.ll
M polly/test/CodeGen/sequential_loops.ll
M polly/test/CodeGen/simple_loop_non_single_exit.ll
M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
M polly/test/CodeGen/simple_non_single_entry.ll
M polly/test/CodeGen/simple_nonaffine_loop.ll
M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_do_loop_one_iteration.ll
M polly/test/CodeGen/single_do_loop_scev_replace.ll
M polly/test/CodeGen/single_loop.ll
M polly/test/CodeGen/single_loop_int_max_iterations.ll
M polly/test/CodeGen/single_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_loop_one_iteration.ll
M polly/test/CodeGen/single_loop_param.ll
M polly/test/CodeGen/single_loop_param_less_equal.ll
M polly/test/CodeGen/single_loop_param_less_than.ll
M polly/test/CodeGen/single_loop_zero_iterations.ll
M polly/test/CodeGen/split_edge_of_exit.ll
M polly/test/CodeGen/split_edges.ll
M polly/test/CodeGen/split_edges_2.ll
M polly/test/CodeGen/srem-in-other-bb.ll
M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/CodeGen/switch-in-non-affine-region.ll
M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/CodeGen/test.ll
M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
M polly/test/CodeGen/two-scops-in-row.ll
M polly/test/CodeGen/udiv_expansion_position.ll
M polly/test/CodeGen/uninitialized_scalar_memory.ll
M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
M polly/test/CodeGen/variant_load_empty_domain.ll
M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
M polly/test/DeLICM/confused_order.ll
M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/map_memset_zero.ll
M polly/test/DeLICM/nomap_alreadymapped.ll
M polly/test/DeLICM/nomap_escaping.ll
M polly/test/DeLICM/nomap_occupied.ll
M polly/test/DeLICM/nomap_readonly.ll
M polly/test/DeLICM/nomap_spuriouswrite.ll
M polly/test/DeLICM/nomap_storagesize.ll
M polly/test/DeLICM/nomap_writewrite.ll
M polly/test/DeLICM/outofquota-reverseDomain.ll
M polly/test/DeLICM/pass_existence.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reduction.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
M polly/test/DeLICM/reduction_unrelatedunusual.ll
M polly/test/DeLICM/reject_loadafterstore.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/DeLICM/reject_storeafterstore.ll
M polly/test/DeLICM/reject_storeinsubregion.ll
M polly/test/DeLICM/reject_unusualstore.ll
M polly/test/DeLICM/skip_maywrite.ll
M polly/test/DeLICM/skip_multiaccess.ll
M polly/test/DeLICM/skip_notinloop.ll
M polly/test/DeLICM/skip_scalaraccess.ll
M polly/test/DeadCodeElimination/chained_iterations.ll
M polly/test/DeadCodeElimination/chained_iterations_2.ll
M polly/test/DeadCodeElimination/computeout.ll
M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
M polly/test/DeadCodeElimination/non-affine.ll
M polly/test/DeadCodeElimination/null_schedule.ll
M polly/test/DependenceInfo/computeout.ll
M polly/test/DependenceInfo/different_schedule_dimensions.ll
M polly/test/DependenceInfo/do_pluto_matmult.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
M polly/test/DependenceInfo/infeasible_context.ll
M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
M polly/test/DependenceInfo/reduction_complex_location.ll
M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_dependences_not_null.ll
M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
M polly/test/DependenceInfo/reduction_multiple_reductions.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
M polly/test/DependenceInfo/reduction_privatization_deps.ll
M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
M polly/test/DependenceInfo/reduction_sequence.ll
M polly/test/DependenceInfo/reduction_simple_iv.ll
M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
M polly/test/DependenceInfo/sequential_loops.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/changed-kind.ll
M polly/test/ForwardOpTree/forward_from_region.ll
M polly/test/ForwardOpTree/forward_hoisted.ll
M polly/test/ForwardOpTree/forward_instruction.ll
M polly/test/ForwardOpTree/forward_into_region.ll
M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
M polly/test/ForwardOpTree/forward_load.ll
M polly/test/ForwardOpTree/forward_load_differentarray.ll
M polly/test/ForwardOpTree/forward_load_double_write.ll
M polly/test/ForwardOpTree/forward_load_fromloop.ll
M polly/test/ForwardOpTree/forward_load_indirect.ll
M polly/test/ForwardOpTree/forward_load_memset_after.ll
M polly/test/ForwardOpTree/forward_load_memset_before.ll
M polly/test/ForwardOpTree/forward_load_tripleuse.ll
M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
M polly/test/ForwardOpTree/forward_phi_load.ll
M polly/test/ForwardOpTree/forward_readonly.ll
M polly/test/ForwardOpTree/forward_reusue.ll
M polly/test/ForwardOpTree/forward_store.ll
M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
M polly/test/ForwardOpTree/forward_transitive.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/ForwardOpTree/noforward_from_region.ll
M polly/test/ForwardOpTree/noforward_load_conditional.ll
M polly/test/ForwardOpTree/noforward_load_writebetween.ll
M polly/test/ForwardOpTree/noforward_outofquota.ll
M polly/test/ForwardOpTree/noforward_partial.ll
M polly/test/ForwardOpTree/noforward_phi.ll
M polly/test/ForwardOpTree/noforward_selfrefphi.ll
M polly/test/ForwardOpTree/noforward_sideffects.ll
M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
M polly/test/IstAstInfo/alias_simple_1.ll
M polly/test/IstAstInfo/alias_simple_2.ll
M polly/test/IstAstInfo/alias_simple_3.ll
M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
M polly/test/IstAstInfo/dependence_distance_minimal.ll
M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
M polly/test/IstAstInfo/non_affine_access.ll
M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
M polly/test/IstAstInfo/run-time-condition.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/IstAstInfo/simple-run-time-condition.ll
M polly/test/IstAstInfo/single_loop_strip_mine.ll
M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
M polly/test/MaximalStaticExpansion/read_from_original.ll
M polly/test/MaximalStaticExpansion/too_many_writes.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
M polly/test/MaximalStaticExpansion/working_expansion.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
M polly/test/MaximalStaticExpansion/working_value_expansion.ll
M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
M polly/test/ScheduleOptimizer/computeout.ll
M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
M polly/test/ScheduleOptimizer/line-tiling-2.ll
M polly/test/ScheduleOptimizer/line-tiling.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
M polly/test/ScheduleOptimizer/one-dimensional-band.ll
M polly/test/ScheduleOptimizer/outer_coincidence.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScheduleOptimizer/rectangular-tiling.ll
M polly/test/ScheduleOptimizer/schedule_computeout.ll
M polly/test/ScheduleOptimizer/statistics.ll
M polly/test/ScheduleOptimizer/tile_after_fusion.ll
M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
M polly/test/ScopDetect/aliasing_simple_1.ll
M polly/test/ScopDetect/aliasing_simple_2.ll
M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
M polly/test/ScopDetect/callbr.ll
M polly/test/ScopDetect/collective_invariant_loads.ll
M polly/test/ScopDetect/cross_loop_non_single_exit.ll
M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
M polly/test/ScopDetect/dot-scops-npm.ll
M polly/test/ScopDetect/dot-scops.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/error-block-unreachable.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/expand-region-correctly.ll
M polly/test/ScopDetect/ignore_func_flag_regex.ll
M polly/test/ScopDetect/index_from_unpredictable_loop.ll
M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
M polly/test/ScopDetect/indvars.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/invalid-latch-conditions.ll
M polly/test/ScopDetect/invalidate_scalar_evolution.ll
M polly/test/ScopDetect/invariant-load-before-scop.ll
M polly/test/ScopDetect/keep_going_expansion.ll
M polly/test/ScopDetect/mod_ref_read_pointer.ll
M polly/test/ScopDetect/more-than-one-loop.ll
M polly/test/ScopDetect/multidim-with-undef-size.ll
M polly/test/ScopDetect/multidim.ll
M polly/test/ScopDetect/multidim_indirect_access.ll
M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
M polly/test/ScopDetect/nested_loop_single_exit.ll
M polly/test/ScopDetect/non-affine-conditional.ll
M polly/test/ScopDetect/non-affine-float-compare.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopDetect/non-affine-loop.ll
M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
M polly/test/ScopDetect/non-simple-memory-accesses.ll
M polly/test/ScopDetect/non_affine_loop_condition.ll
M polly/test/ScopDetect/only-one-affine-loop.ll
M polly/test/ScopDetect/only_func_flag.ll
M polly/test/ScopDetect/only_func_flag_regex.ll
M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
M polly/test/ScopDetect/parametric-multiply-in-scev.ll
M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
M polly/test/ScopDetect/profitability-large-basic-blocks.ll
M polly/test/ScopDetect/profitability-two-nested-loops.ll
M polly/test/ScopDetect/remove_all_children.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
M polly/test/ScopDetect/run_time_alias_check.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetect/sequential_loops.ll
M polly/test/ScopDetect/simple_loop.ll
M polly/test/ScopDetect/simple_loop_non_single_entry.ll
M polly/test/ScopDetect/simple_loop_non_single_exit.ll
M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
M polly/test/ScopDetect/simple_loop_with_param.ll
M polly/test/ScopDetect/simple_loop_with_param_2.ll
M polly/test/ScopDetect/simple_non_single_entry.ll
M polly/test/ScopDetect/skip_function_attribute.ll
M polly/test/ScopDetect/srem_with_parametric_divisor.ll
M polly/test/ScopDetect/statistics.ll
M polly/test/ScopDetect/switch-in-loop-patch.ll
M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
M polly/test/ScopInfo/Alias-0.ll
M polly/test/ScopInfo/Alias-1.ll
M polly/test/ScopInfo/Alias-2.ll
M polly/test/ScopInfo/Alias-3.ll
M polly/test/ScopInfo/Alias-4.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/NonAffine/div_backedge.ll
M polly/test/ScopInfo/NonAffine/div_domain.ll
M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
M polly/test/ScopInfo/NonAffine/modulo_domain.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
M polly/test/ScopInfo/aliasing_dead_access.ll
M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/assume_gep_bounds.ll
M polly/test/ScopInfo/assume_gep_bounds_2.ll
M polly/test/ScopInfo/assume_gep_bounds_many.ll
M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
M polly/test/ScopInfo/bool-addrec.ll
M polly/test/ScopInfo/bounded_loop_assumptions.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
M polly/test/ScopInfo/bug_2010_10_22.ll
M polly/test/ScopInfo/bug_2011_1_5.ll
M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
M polly/test/ScopInfo/cfg_consequences.ll
M polly/test/ScopInfo/complex-branch-structure.ll
M polly/test/ScopInfo/complex-condition.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/complex-loop-nesting.ll
M polly/test/ScopInfo/complex-successor-structure-2.ll
M polly/test/ScopInfo/complex-successor-structure-3.ll
M polly/test/ScopInfo/complex-successor-structure.ll
M polly/test/ScopInfo/complex_domain_binary_condition.ll
M polly/test/ScopInfo/complex_execution_context.ll
M polly/test/ScopInfo/cond_constant_in_loop.ll
M polly/test/ScopInfo/cond_in_loop.ll
M polly/test/ScopInfo/condition-after-error-block-2.ll
M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
M polly/test/ScopInfo/condtion-after-error-block.ll
M polly/test/ScopInfo/const_srem_sdiv.ll
M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
M polly/test/ScopInfo/constant_factor_in_parameter.ll
M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
M polly/test/ScopInfo/constant_start_integer.ll
M polly/test/ScopInfo/debug_call.ll
M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
M polly/test/ScopInfo/div_by_zero.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/error-blocks-1.ll
M polly/test/ScopInfo/error-blocks-2.ll
M polly/test/ScopInfo/escaping_empty_scop.ll
M polly/test/ScopInfo/exit-phi-1.ll
M polly/test/ScopInfo/exit-phi-2.ll
M polly/test/ScopInfo/exit_phi_accesses-2.ll
M polly/test/ScopInfo/exit_phi_accesses.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
M polly/test/ScopInfo/full-function.ll
M polly/test/ScopInfo/granularity_same_name.ll
M polly/test/ScopInfo/granularity_scalar-indep.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
M polly/test/ScopInfo/i1_params.ll
M polly/test/ScopInfo/infeasible-rtc.ll
M polly/test/ScopInfo/infeasible_invalid_context.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
M polly/test/ScopInfo/integers.ll
M polly/test/ScopInfo/inter-error-bb-dependence.ll
M polly/test/ScopInfo/inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra_bb_scalar_dep.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
M polly/test/ScopInfo/invariant-load-instlist.ll
M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
M polly/test/ScopInfo/invariant_load.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/invariant_load_base_pointer.ll
M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
M polly/test/ScopInfo/invariant_load_branch_condition.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
M polly/test/ScopInfo/invariant_load_complex_condition.ll
M polly/test/ScopInfo/invariant_load_condition.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
M polly/test/ScopInfo/invariant_load_in_non_affine.ll
M polly/test/ScopInfo/invariant_load_loop_ub.ll
M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
M polly/test/ScopInfo/invariant_load_scalar_dep.ll
M polly/test/ScopInfo/invariant_load_stmt_domain.ll
M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
M polly/test/ScopInfo/invariant_load_zext_parameter.ll
M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
M polly/test/ScopInfo/invariant_loop_bounds.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
M polly/test/ScopInfo/isl_trip_count_01.ll
M polly/test/ScopInfo/isl_trip_count_02.ll
M polly/test/ScopInfo/isl_trip_count_03.ll
M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
M polly/test/ScopInfo/licm_load.ll
M polly/test/ScopInfo/licm_potential_store.ll
M polly/test/ScopInfo/licm_reduction_nested.ll
M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
M polly/test/ScopInfo/loop_affine_bound_0.ll
M polly/test/ScopInfo/loop_affine_bound_1.ll
M polly/test/ScopInfo/loop_affine_bound_2.ll
M polly/test/ScopInfo/loop_carry.ll
M polly/test/ScopInfo/many-scalar-dependences.ll
M polly/test/ScopInfo/max-loop-depth.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/memcpy.ll
M polly/test/ScopInfo/memmove.ll
M polly/test/ScopInfo/memset.ll
M polly/test/ScopInfo/memset_null.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointer.ll
M polly/test/ScopInfo/mod_ref_read_pointers.ll
M polly/test/ScopInfo/modulo_zext_1.ll
M polly/test/ScopInfo/modulo_zext_2.ll
M polly/test/ScopInfo/modulo_zext_3.ll
M polly/test/ScopInfo/multi-scop.ll
M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
M polly/test/ScopInfo/multidim_fold_constant_dim.ll
M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
M polly/test/ScopInfo/multidim_fortran_2d.ll
M polly/test/ScopInfo/multidim_fortran_2d_params.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_fortran_srem.ll
M polly/test/ScopInfo/multidim_gep_pointercast.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/multidim_nested_start_integer.ll
M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
M polly/test/ScopInfo/multidim_only_ivs_2d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
M polly/test/ScopInfo/multidim_param_in_subscript.ll
M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/multidim_with_bitcast.ll
M polly/test/ScopInfo/multiple-binary-or-conditions.ll
M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
M polly/test/ScopInfo/multiple-types-non-affine-2.ll
M polly/test/ScopInfo/multiple-types-non-affine.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
M polly/test/ScopInfo/multiple-types-two-dimensional.ll
M polly/test/ScopInfo/multiple-types.ll
M polly/test/ScopInfo/multiple_exiting_blocks.ll
M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
M polly/test/ScopInfo/multiple_latch_blocks.ll
M polly/test/ScopInfo/nested-loops.ll
M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
M polly/test/ScopInfo/non-affine-region-phi.ll
M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
M polly/test/ScopInfo/non-affine-region-with-loop.ll
M polly/test/ScopInfo/non-precise-inv-load-1.ll
M polly/test/ScopInfo/non-precise-inv-load-2.ll
M polly/test/ScopInfo/non-precise-inv-load-3.ll
M polly/test/ScopInfo/non-precise-inv-load-4.ll
M polly/test/ScopInfo/non-precise-inv-load-5.ll
M polly/test/ScopInfo/non-precise-inv-load-6.ll
M polly/test/ScopInfo/non-pure-function-call.ll
M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
M polly/test/ScopInfo/non-pure-function-calls.ll
M polly/test/ScopInfo/non_affine_access.ll
M polly/test/ScopInfo/non_affine_region_1.ll
M polly/test/ScopInfo/non_affine_region_2.ll
M polly/test/ScopInfo/non_affine_region_3.ll
M polly/test/ScopInfo/non_affine_region_4.ll
M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
M polly/test/ScopInfo/not-a-reduction.ll
M polly/test/ScopInfo/opaque-struct.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/ScopInfo/parameter-constant-division.ll
M polly/test/ScopInfo/parameter_in_dead_statement.ll
M polly/test/ScopInfo/parameter_product.ll
M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
M polly/test/ScopInfo/partially_invariant_load_1.ll
M polly/test/ScopInfo/partially_invariant_load_2.ll
M polly/test/ScopInfo/phi-in-non-affine-region.ll
M polly/test/ScopInfo/phi_after_error_block.ll
M polly/test/ScopInfo/phi_condition_modeling_1.ll
M polly/test/ScopInfo/phi_condition_modeling_2.ll
M polly/test/ScopInfo/phi_conditional_simple_1.ll
M polly/test/ScopInfo/phi_loop_carried_float.ll
M polly/test/ScopInfo/phi_not_grouped_at_top.ll
M polly/test/ScopInfo/phi_scalar_simple_1.ll
M polly/test/ScopInfo/phi_scalar_simple_2.ll
M polly/test/ScopInfo/phi_with_invoke_edge.ll
M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
M polly/test/ScopInfo/pointer-comparison.ll
M polly/test/ScopInfo/pointer-type-expressions.ll
M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
M polly/test/ScopInfo/process_added_dimensions.ll
M polly/test/ScopInfo/pwaff-complexity-bailout.ll
M polly/test/ScopInfo/ranged_parameter.ll
M polly/test/ScopInfo/ranged_parameter_2.ll
M polly/test/ScopInfo/ranged_parameter_wrap.ll
M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
M polly/test/ScopInfo/read-only-scalars.ll
M polly/test/ScopInfo/read-only-statements.ll
M polly/test/ScopInfo/reduction_alternating_base.ll
M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
M polly/test/ScopInfo/reduction_different_index.ll
M polly/test/ScopInfo/reduction_different_index1.ll
M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
M polly/test/ScopInfo/reduction_escaping_intermediate.ll
M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
M polly/test/ScopInfo/reduction_invalid_different_operators.ll
M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
M polly/test/ScopInfo/reduction_simple_fp.ll
M polly/test/ScopInfo/reduction_simple_w_constant.ll
M polly/test/ScopInfo/reduction_simple_w_iv.ll
M polly/test/ScopInfo/reduction_two_identical_reads.ll
M polly/test/ScopInfo/redundant_parameter_constraint.ll
M polly/test/ScopInfo/region-with-instructions.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/required-invariant-loop-bounds.ll
M polly/test/ScopInfo/restriction_in_dead_block.ll
M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
M polly/test/ScopInfo/run-time-check-many-parameters.ll
M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
M polly/test/ScopInfo/scalar.ll
M polly/test/ScopInfo/scalar_dependence_cond_br.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/scev-invalidated.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
M polly/test/ScopInfo/sign_wrapped_set.ll
M polly/test/ScopInfo/simple_loop_1.ll
M polly/test/ScopInfo/simple_loop_2.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
M polly/test/ScopInfo/simple_loop_unsigned_2.ll
M polly/test/ScopInfo/simple_loop_unsigned_3.ll
M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
M polly/test/ScopInfo/smax.ll
M polly/test/ScopInfo/statistics.ll
M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
M polly/test/ScopInfo/stmt_split_no_after_split.ll
M polly/test/ScopInfo/stmt_split_no_dependence.ll
M polly/test/ScopInfo/stmt_split_on_store.ll
M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
M polly/test/ScopInfo/stmt_split_within_loop.ll
M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
M polly/test/ScopInfo/switch-1.ll
M polly/test/ScopInfo/switch-2.ll
M polly/test/ScopInfo/switch-3.ll
M polly/test/ScopInfo/switch-4.ll
M polly/test/ScopInfo/switch-5.ll
M polly/test/ScopInfo/switch-6.ll
M polly/test/ScopInfo/switch-7.ll
M polly/test/ScopInfo/tempscop-printing.ll
M polly/test/ScopInfo/test-wrapping-in-condition.ll
M polly/test/ScopInfo/truncate-1.ll
M polly/test/ScopInfo/truncate-2.ll
M polly/test/ScopInfo/truncate-3.ll
M polly/test/ScopInfo/two-loops-one-infinite.ll
M polly/test/ScopInfo/two-loops-right-after-each-other.ll
M polly/test/ScopInfo/undef_in_cond.ll
M polly/test/ScopInfo/unnamed_nonaffine.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
M polly/test/ScopInfo/unprofitable_scalar-accs.ll
M polly/test/ScopInfo/unsigned-condition.ll
M polly/test/ScopInfo/unsigned-division-1.ll
M polly/test/ScopInfo/unsigned-division-2.ll
M polly/test/ScopInfo/unsigned-division-3.ll
M polly/test/ScopInfo/unsigned-division-4.ll
M polly/test/ScopInfo/unsigned-division-5.ll
M polly/test/ScopInfo/unsigned_wrap_uge.ll
M polly/test/ScopInfo/unsigned_wrap_ugt.ll
M polly/test/ScopInfo/unsigned_wrap_ule.ll
M polly/test/ScopInfo/unsigned_wrap_ult.ll
M polly/test/ScopInfo/user_context.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
M polly/test/ScopInfo/user_provided_assumptions.ll
M polly/test/ScopInfo/user_provided_assumptions_2.ll
M polly/test/ScopInfo/user_provided_assumptions_3.ll
M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
M polly/test/ScopInfo/variant_base_pointer.ll
M polly/test/ScopInfo/variant_load_empty_domain.ll
M polly/test/ScopInfo/wraping_signed_expr_0.ll
M polly/test/ScopInfo/wraping_signed_expr_1.ll
M polly/test/ScopInfo/wraping_signed_expr_2.ll
M polly/test/ScopInfo/wraping_signed_expr_3.ll
M polly/test/ScopInfo/wraping_signed_expr_4.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
M polly/test/ScopInfo/wraping_signed_expr_6.ll
M polly/test/ScopInfo/wraping_signed_expr_7.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
M polly/test/ScopInfo/zero_ext_space_mismatch.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/Simplify/coalesce_3partials.ll
M polly/test/Simplify/coalesce_disjointelements.ll
M polly/test/Simplify/coalesce_overlapping.ll
M polly/test/Simplify/coalesce_partial.ll
M polly/test/Simplify/dead_access_load.ll
M polly/test/Simplify/dead_access_phi.ll
M polly/test/Simplify/dead_access_value.ll
M polly/test/Simplify/dead_instruction.ll
M polly/test/Simplify/emptyaccessdomain.ll
M polly/test/Simplify/exit_phi_accesses-2.ll
M polly/test/Simplify/func-b320a7.ll
M polly/test/Simplify/gemm.ll
M polly/test/Simplify/nocoalesce_differentvalues.ll
M polly/test/Simplify/nocoalesce_elementmismatch.ll
M polly/test/Simplify/nocoalesce_readbetween.ll
M polly/test/Simplify/nocoalesce_writebetween.ll
M polly/test/Simplify/notdead_region_exitphi.ll
M polly/test/Simplify/notdead_region_innerphi.ll
M polly/test/Simplify/notredundant_region_loop.ll
M polly/test/Simplify/notredundant_region_middle.ll
M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/Simplify/overwritten.ll
M polly/test/Simplify/overwritten_3phi.ll
M polly/test/Simplify/overwritten_3store.ll
M polly/test/Simplify/overwritten_implicit_and_explicit.ll
M polly/test/Simplify/overwritten_loadbetween.ll
M polly/test/Simplify/overwritten_scalar.ll
M polly/test/Simplify/pass_existence.ll
M polly/test/Simplify/phi_in_regionstmt.ll
M polly/test/Simplify/pr33323.ll
M polly/test/Simplify/redundant.ll
M polly/test/Simplify/redundant_differentindex.ll
M polly/test/Simplify/redundant_region.ll
M polly/test/Simplify/redundant_region_scalar.ll
M polly/test/Simplify/redundant_scalarwrite.ll
M polly/test/Simplify/redundant_storebetween.ll
M polly/test/Simplify/scalability1.ll
M polly/test/Simplify/scalability2.ll
M polly/test/Simplify/sweep_mapped_phi.ll
M polly/test/Simplify/sweep_mapped_value.ll
M polly/test/Simplify/ununsed_read_in_region_entry.ll
M polly/test/Support/Plugins.ll
M polly/test/Support/defaultpipelines.ll
M polly/test/Support/dumpfunction.ll
M polly/test/Support/dumpmodule.ll
M polly/test/Support/exportjson.ll
M polly/test/Support/isl-args.ll
M polly/test/Support/pipelineposition.ll
M polly/test/Support/pollyDebug.ll
M polly/test/lit.site.cfg.in
M polly/test/polly.ll
Log Message:
-----------
[polly] Port polly tests to use NPM (#90632)
Even as the NPM has been in use by Polly for a while now, the
majority of the tests continue using the LPM passes. This patch
ports the tests to use the NPM passes (for example, by replacing
a flag such as -polly-detect with -passes=polly-detect following
the NPM syntax for specifying passes) with some exceptions for
some missing features in the new passes. Additionally, the lit
substitution %loadPolly is replaced by the substitution of what
was %loadNPMPolly and %loadNPMPolly is removed.
Commit: 847c83f7cceeaec6676f33291081912d6b8fda5e
https://github.com/llvm/llvm-project/commit/847c83f7cceeaec6676f33291081912d6b8fda5e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/issue68120.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
Log Message:
-----------
InstCombine: Process addrspacecast uses in PointerReplacer (#91953)
This was looking through an addrspacecast, and not finding a later
unfoldable cast to another address space. Fixes improperly deleting
a required alloca + memcpy and introducing an illegal addrspacecast.
This also required fixing some worklist management issues with
addrspacecast, and assuming that only memcpy sources could need
replacement.
Regresses one test function, but this looks like it optimized
before by accident. It never saw the pointer use by the call
to readonly_callee, which should require insertion of a new cast.
Fixes #68120
Commit: 15397583e3d85eb1f1a051de26eb409aaedd3b54
https://github.com/llvm/llvm-project/commit/15397583e3d85eb1f1a051de26eb409aaedd3b54
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M polly/test/CodeGen/20100617.ll
M polly/test/CodeGen/20100622.ll
M polly/test/CodeGen/20100707.ll
M polly/test/CodeGen/20100707_2.ll
M polly/test/CodeGen/20100708.ll
M polly/test/CodeGen/20100708_2.ll
M polly/test/CodeGen/20100713.ll
M polly/test/CodeGen/20100713_2.ll
M polly/test/CodeGen/20100717.ll
M polly/test/CodeGen/20100718-DomInfo-2.ll
M polly/test/CodeGen/20100718-DomInfo.ll
M polly/test/CodeGen/20100720-MultipleConditions.ll
M polly/test/CodeGen/20100809-IndependentBlock.ll
M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
M polly/test/CodeGen/20101030-Overflow.ll
M polly/test/CodeGen/20101103-Overflow3.ll
M polly/test/CodeGen/20101103-signmissmatch.ll
M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
M polly/test/CodeGen/20110226-PHI-Node-removed.ll
M polly/test/CodeGen/20120316-InvalidCast.ll
M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
M polly/test/CodeGen/20130221.ll
M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
M polly/test/CodeGen/Intrinsics/llvm-expect.ll
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/bad_alignment.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
M polly/test/CodeGen/MemAccess/codegen_simple.ll
M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
M polly/test/CodeGen/MemAccess/multiple_types.ll
M polly/test/CodeGen/MemAccess/simple.ll
M polly/test/CodeGen/MemAccess/update_access_functions.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
M polly/test/CodeGen/OpenMP/inlineasm.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/matmul-parallel.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/OpenMP/reference-other-bb.ll
M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
M polly/test/CodeGen/OpenMP/reference_latest.ll
M polly/test/CodeGen/OpenMP/scev-rewriting.ll
M polly/test/CodeGen/OpenMP/single_loop.ll
M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
M polly/test/CodeGen/PHIInExit.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
M polly/test/CodeGen/alias-check-multi-dim.ll
M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
M polly/test/CodeGen/aliasing_different_pointer_types.ll
M polly/test/CodeGen/aliasing_multidimensional_access.ll
M polly/test/CodeGen/aliasing_parametric_simple_1.ll
M polly/test/CodeGen/aliasing_parametric_simple_2.ll
M polly/test/CodeGen/aliasing_struct_element.ll
M polly/test/CodeGen/alignment.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/blas_sscal_simplified.ll
M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
M polly/test/CodeGen/constant_condition.ll
M polly/test/CodeGen/create-conditional-scop.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
M polly/test/CodeGen/empty_domain_in_context.ll
M polly/test/CodeGen/entry_with_trivial_phi.ll
M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/exprModDiv.ll
M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/inner_scev_sdiv_1.ll
M polly/test/CodeGen/inner_scev_sdiv_2.ll
M polly/test/CodeGen/inner_scev_sdiv_3.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
M polly/test/CodeGen/invariant-load-dimension.ll
M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load.ll
M polly/test/CodeGen/invariant_load_address_space.ll
M polly/test/CodeGen/invariant_load_alias_metadata.ll
M polly/test/CodeGen/invariant_load_base_pointer.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/CodeGen/invariant_load_condition.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_escaping.ll
M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
M polly/test/CodeGen/invariant_load_loop_ub.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_load_outermost.ll
M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
M polly/test/CodeGen/invariant_load_scalar_dep.ll
M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/issue56692.ll
M polly/test/CodeGen/large-numbers-in-boundary-context.ll
M polly/test/CodeGen/load_subset_with_context.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/loop_with_condition.ll
M polly/test/CodeGen/loop_with_condition_2.ll
M polly/test/CodeGen/loop_with_condition_ineq.ll
M polly/test/CodeGen/loop_with_condition_nested.ll
M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
M polly/test/CodeGen/memcpy_annotations.ll
M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
M polly/test/CodeGen/multidim-non-matching-typesize.ll
M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/CodeGen/multidim_alias_check.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/multiple-types-invariant-load.ll
M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
M polly/test/CodeGen/no-overflow-tracking.ll
M polly/test/CodeGen/no_guard_bb.ll
M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
M polly/test/CodeGen/non-affine-exit-node-dominance.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
M polly/test/CodeGen/non-affine-phi-node-expansion.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
M polly/test/CodeGen/non-affine-region-implicit-store.ll
M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
M polly/test/CodeGen/non-affine-switch.ll
M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
M polly/test/CodeGen/non-affine-update.ll
M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/only_non_affine_error_region.ll
M polly/test/CodeGen/openmp_limit_threads.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/param_div_div_div_2.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_emptyset.ll
M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/partial_write_in_region.ll
M polly/test/CodeGen/partial_write_in_region_with_loop.ll
M polly/test/CodeGen/partial_write_mapped_scalar.ll
M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
M polly/test/CodeGen/perf_monitoring.ll
M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
M polly/test/CodeGen/phi_condition_modeling_1.ll
M polly/test/CodeGen/phi_condition_modeling_2.ll
M polly/test/CodeGen/phi_conditional_simple_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/phi_scalar_simple_1.ll
M polly/test/CodeGen/phi_scalar_simple_2.ll
M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
M polly/test/CodeGen/phi_with_one_exit_edge.ll
M polly/test/CodeGen/pointer-type-expressions-2.ll
M polly/test/CodeGen/pointer-type-expressions.ll
M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
M polly/test/CodeGen/pointer_rem.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/ptrtoint_as_parameter.ll
M polly/test/CodeGen/read-only-scalars.ll
M polly/test/CodeGen/reduction.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/reduction_simple_binary.ll
M polly/test/CodeGen/region-with-instructions.ll
M polly/test/CodeGen/region_exiting-domtree.ll
M polly/test/CodeGen/region_multiexit_partialwrite.ll
M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
M polly/test/CodeGen/run-time-condition.ll
M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/scalar_codegen_crash.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/scev-division-invariant-load.ll
M polly/test/CodeGen/scev.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/CodeGen/scev_looking_through_bitcasts.ll
M polly/test/CodeGen/scop_expander_insert_point.ll
M polly/test/CodeGen/scop_expander_segfault.ll
M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
M polly/test/CodeGen/select-base-pointer.ll
M polly/test/CodeGen/sequential_loops.ll
M polly/test/CodeGen/simple_loop_non_single_exit.ll
M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
M polly/test/CodeGen/simple_non_single_entry.ll
M polly/test/CodeGen/simple_nonaffine_loop.ll
M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_do_loop_one_iteration.ll
M polly/test/CodeGen/single_do_loop_scev_replace.ll
M polly/test/CodeGen/single_loop.ll
M polly/test/CodeGen/single_loop_int_max_iterations.ll
M polly/test/CodeGen/single_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_loop_one_iteration.ll
M polly/test/CodeGen/single_loop_param.ll
M polly/test/CodeGen/single_loop_param_less_equal.ll
M polly/test/CodeGen/single_loop_param_less_than.ll
M polly/test/CodeGen/single_loop_zero_iterations.ll
M polly/test/CodeGen/split_edge_of_exit.ll
M polly/test/CodeGen/split_edges.ll
M polly/test/CodeGen/split_edges_2.ll
M polly/test/CodeGen/srem-in-other-bb.ll
M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/CodeGen/switch-in-non-affine-region.ll
M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/CodeGen/test.ll
M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
M polly/test/CodeGen/two-scops-in-row.ll
M polly/test/CodeGen/udiv_expansion_position.ll
M polly/test/CodeGen/uninitialized_scalar_memory.ll
M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
M polly/test/CodeGen/variant_load_empty_domain.ll
M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
M polly/test/DeLICM/confused_order.ll
M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/map_memset_zero.ll
M polly/test/DeLICM/nomap_alreadymapped.ll
M polly/test/DeLICM/nomap_escaping.ll
M polly/test/DeLICM/nomap_occupied.ll
M polly/test/DeLICM/nomap_readonly.ll
M polly/test/DeLICM/nomap_spuriouswrite.ll
M polly/test/DeLICM/nomap_storagesize.ll
M polly/test/DeLICM/nomap_writewrite.ll
M polly/test/DeLICM/outofquota-reverseDomain.ll
M polly/test/DeLICM/pass_existence.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reduction.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
M polly/test/DeLICM/reduction_unrelatedunusual.ll
M polly/test/DeLICM/reject_loadafterstore.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/DeLICM/reject_storeafterstore.ll
M polly/test/DeLICM/reject_storeinsubregion.ll
M polly/test/DeLICM/reject_unusualstore.ll
M polly/test/DeLICM/skip_maywrite.ll
M polly/test/DeLICM/skip_multiaccess.ll
M polly/test/DeLICM/skip_notinloop.ll
M polly/test/DeLICM/skip_scalaraccess.ll
M polly/test/DeadCodeElimination/chained_iterations.ll
M polly/test/DeadCodeElimination/chained_iterations_2.ll
M polly/test/DeadCodeElimination/computeout.ll
M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
M polly/test/DeadCodeElimination/non-affine.ll
M polly/test/DeadCodeElimination/null_schedule.ll
M polly/test/DependenceInfo/computeout.ll
M polly/test/DependenceInfo/different_schedule_dimensions.ll
M polly/test/DependenceInfo/do_pluto_matmult.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
M polly/test/DependenceInfo/infeasible_context.ll
M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
M polly/test/DependenceInfo/reduction_complex_location.ll
M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_dependences_not_null.ll
M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
M polly/test/DependenceInfo/reduction_multiple_reductions.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
M polly/test/DependenceInfo/reduction_privatization_deps.ll
M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
M polly/test/DependenceInfo/reduction_sequence.ll
M polly/test/DependenceInfo/reduction_simple_iv.ll
M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
M polly/test/DependenceInfo/sequential_loops.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/changed-kind.ll
M polly/test/ForwardOpTree/forward_from_region.ll
M polly/test/ForwardOpTree/forward_hoisted.ll
M polly/test/ForwardOpTree/forward_instruction.ll
M polly/test/ForwardOpTree/forward_into_region.ll
M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
M polly/test/ForwardOpTree/forward_load.ll
M polly/test/ForwardOpTree/forward_load_differentarray.ll
M polly/test/ForwardOpTree/forward_load_double_write.ll
M polly/test/ForwardOpTree/forward_load_fromloop.ll
M polly/test/ForwardOpTree/forward_load_indirect.ll
M polly/test/ForwardOpTree/forward_load_memset_after.ll
M polly/test/ForwardOpTree/forward_load_memset_before.ll
M polly/test/ForwardOpTree/forward_load_tripleuse.ll
M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
M polly/test/ForwardOpTree/forward_phi_load.ll
M polly/test/ForwardOpTree/forward_readonly.ll
M polly/test/ForwardOpTree/forward_reusue.ll
M polly/test/ForwardOpTree/forward_store.ll
M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
M polly/test/ForwardOpTree/forward_transitive.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/ForwardOpTree/noforward_from_region.ll
M polly/test/ForwardOpTree/noforward_load_conditional.ll
M polly/test/ForwardOpTree/noforward_load_writebetween.ll
M polly/test/ForwardOpTree/noforward_outofquota.ll
M polly/test/ForwardOpTree/noforward_partial.ll
M polly/test/ForwardOpTree/noforward_phi.ll
M polly/test/ForwardOpTree/noforward_selfrefphi.ll
M polly/test/ForwardOpTree/noforward_sideffects.ll
M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
M polly/test/IstAstInfo/alias_simple_1.ll
M polly/test/IstAstInfo/alias_simple_2.ll
M polly/test/IstAstInfo/alias_simple_3.ll
M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
M polly/test/IstAstInfo/dependence_distance_minimal.ll
M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
M polly/test/IstAstInfo/non_affine_access.ll
M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
M polly/test/IstAstInfo/run-time-condition.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/IstAstInfo/simple-run-time-condition.ll
M polly/test/IstAstInfo/single_loop_strip_mine.ll
M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
M polly/test/MaximalStaticExpansion/read_from_original.ll
M polly/test/MaximalStaticExpansion/too_many_writes.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
M polly/test/MaximalStaticExpansion/working_expansion.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
M polly/test/MaximalStaticExpansion/working_value_expansion.ll
M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
M polly/test/ScheduleOptimizer/computeout.ll
M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
M polly/test/ScheduleOptimizer/line-tiling-2.ll
M polly/test/ScheduleOptimizer/line-tiling.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
M polly/test/ScheduleOptimizer/one-dimensional-band.ll
M polly/test/ScheduleOptimizer/outer_coincidence.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScheduleOptimizer/rectangular-tiling.ll
M polly/test/ScheduleOptimizer/schedule_computeout.ll
M polly/test/ScheduleOptimizer/statistics.ll
M polly/test/ScheduleOptimizer/tile_after_fusion.ll
M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
M polly/test/ScopDetect/aliasing_simple_1.ll
M polly/test/ScopDetect/aliasing_simple_2.ll
M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
M polly/test/ScopDetect/callbr.ll
M polly/test/ScopDetect/collective_invariant_loads.ll
M polly/test/ScopDetect/cross_loop_non_single_exit.ll
M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
M polly/test/ScopDetect/dot-scops-npm.ll
M polly/test/ScopDetect/dot-scops.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/error-block-unreachable.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/expand-region-correctly.ll
M polly/test/ScopDetect/ignore_func_flag_regex.ll
M polly/test/ScopDetect/index_from_unpredictable_loop.ll
M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
M polly/test/ScopDetect/indvars.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/invalid-latch-conditions.ll
M polly/test/ScopDetect/invalidate_scalar_evolution.ll
M polly/test/ScopDetect/invariant-load-before-scop.ll
M polly/test/ScopDetect/keep_going_expansion.ll
M polly/test/ScopDetect/mod_ref_read_pointer.ll
M polly/test/ScopDetect/more-than-one-loop.ll
M polly/test/ScopDetect/multidim-with-undef-size.ll
M polly/test/ScopDetect/multidim.ll
M polly/test/ScopDetect/multidim_indirect_access.ll
M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
M polly/test/ScopDetect/nested_loop_single_exit.ll
M polly/test/ScopDetect/non-affine-conditional.ll
M polly/test/ScopDetect/non-affine-float-compare.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopDetect/non-affine-loop.ll
M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
M polly/test/ScopDetect/non-simple-memory-accesses.ll
M polly/test/ScopDetect/non_affine_loop_condition.ll
M polly/test/ScopDetect/only-one-affine-loop.ll
M polly/test/ScopDetect/only_func_flag.ll
M polly/test/ScopDetect/only_func_flag_regex.ll
M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
M polly/test/ScopDetect/parametric-multiply-in-scev.ll
M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
M polly/test/ScopDetect/profitability-large-basic-blocks.ll
M polly/test/ScopDetect/profitability-two-nested-loops.ll
M polly/test/ScopDetect/remove_all_children.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
M polly/test/ScopDetect/run_time_alias_check.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetect/sequential_loops.ll
M polly/test/ScopDetect/simple_loop.ll
M polly/test/ScopDetect/simple_loop_non_single_entry.ll
M polly/test/ScopDetect/simple_loop_non_single_exit.ll
M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
M polly/test/ScopDetect/simple_loop_with_param.ll
M polly/test/ScopDetect/simple_loop_with_param_2.ll
M polly/test/ScopDetect/simple_non_single_entry.ll
M polly/test/ScopDetect/skip_function_attribute.ll
M polly/test/ScopDetect/srem_with_parametric_divisor.ll
M polly/test/ScopDetect/statistics.ll
M polly/test/ScopDetect/switch-in-loop-patch.ll
M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
M polly/test/ScopInfo/Alias-0.ll
M polly/test/ScopInfo/Alias-1.ll
M polly/test/ScopInfo/Alias-2.ll
M polly/test/ScopInfo/Alias-3.ll
M polly/test/ScopInfo/Alias-4.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/NonAffine/div_backedge.ll
M polly/test/ScopInfo/NonAffine/div_domain.ll
M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
M polly/test/ScopInfo/NonAffine/modulo_domain.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
M polly/test/ScopInfo/aliasing_dead_access.ll
M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/assume_gep_bounds.ll
M polly/test/ScopInfo/assume_gep_bounds_2.ll
M polly/test/ScopInfo/assume_gep_bounds_many.ll
M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
M polly/test/ScopInfo/bool-addrec.ll
M polly/test/ScopInfo/bounded_loop_assumptions.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
M polly/test/ScopInfo/bug_2010_10_22.ll
M polly/test/ScopInfo/bug_2011_1_5.ll
M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
M polly/test/ScopInfo/cfg_consequences.ll
M polly/test/ScopInfo/complex-branch-structure.ll
M polly/test/ScopInfo/complex-condition.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/complex-loop-nesting.ll
M polly/test/ScopInfo/complex-successor-structure-2.ll
M polly/test/ScopInfo/complex-successor-structure-3.ll
M polly/test/ScopInfo/complex-successor-structure.ll
M polly/test/ScopInfo/complex_domain_binary_condition.ll
M polly/test/ScopInfo/complex_execution_context.ll
M polly/test/ScopInfo/cond_constant_in_loop.ll
M polly/test/ScopInfo/cond_in_loop.ll
M polly/test/ScopInfo/condition-after-error-block-2.ll
M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
M polly/test/ScopInfo/condtion-after-error-block.ll
M polly/test/ScopInfo/const_srem_sdiv.ll
M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
M polly/test/ScopInfo/constant_factor_in_parameter.ll
M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
M polly/test/ScopInfo/constant_start_integer.ll
M polly/test/ScopInfo/debug_call.ll
M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
M polly/test/ScopInfo/div_by_zero.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/error-blocks-1.ll
M polly/test/ScopInfo/error-blocks-2.ll
M polly/test/ScopInfo/escaping_empty_scop.ll
M polly/test/ScopInfo/exit-phi-1.ll
M polly/test/ScopInfo/exit-phi-2.ll
M polly/test/ScopInfo/exit_phi_accesses-2.ll
M polly/test/ScopInfo/exit_phi_accesses.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
M polly/test/ScopInfo/full-function.ll
M polly/test/ScopInfo/granularity_same_name.ll
M polly/test/ScopInfo/granularity_scalar-indep.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
M polly/test/ScopInfo/i1_params.ll
M polly/test/ScopInfo/infeasible-rtc.ll
M polly/test/ScopInfo/infeasible_invalid_context.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
M polly/test/ScopInfo/integers.ll
M polly/test/ScopInfo/inter-error-bb-dependence.ll
M polly/test/ScopInfo/inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra_bb_scalar_dep.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
M polly/test/ScopInfo/invariant-load-instlist.ll
M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
M polly/test/ScopInfo/invariant_load.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/invariant_load_base_pointer.ll
M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
M polly/test/ScopInfo/invariant_load_branch_condition.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
M polly/test/ScopInfo/invariant_load_complex_condition.ll
M polly/test/ScopInfo/invariant_load_condition.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
M polly/test/ScopInfo/invariant_load_in_non_affine.ll
M polly/test/ScopInfo/invariant_load_loop_ub.ll
M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
M polly/test/ScopInfo/invariant_load_scalar_dep.ll
M polly/test/ScopInfo/invariant_load_stmt_domain.ll
M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
M polly/test/ScopInfo/invariant_load_zext_parameter.ll
M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
M polly/test/ScopInfo/invariant_loop_bounds.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
M polly/test/ScopInfo/isl_trip_count_01.ll
M polly/test/ScopInfo/isl_trip_count_02.ll
M polly/test/ScopInfo/isl_trip_count_03.ll
M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
M polly/test/ScopInfo/licm_load.ll
M polly/test/ScopInfo/licm_potential_store.ll
M polly/test/ScopInfo/licm_reduction_nested.ll
M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
M polly/test/ScopInfo/loop_affine_bound_0.ll
M polly/test/ScopInfo/loop_affine_bound_1.ll
M polly/test/ScopInfo/loop_affine_bound_2.ll
M polly/test/ScopInfo/loop_carry.ll
M polly/test/ScopInfo/many-scalar-dependences.ll
M polly/test/ScopInfo/max-loop-depth.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/memcpy.ll
M polly/test/ScopInfo/memmove.ll
M polly/test/ScopInfo/memset.ll
M polly/test/ScopInfo/memset_null.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointer.ll
M polly/test/ScopInfo/mod_ref_read_pointers.ll
M polly/test/ScopInfo/modulo_zext_1.ll
M polly/test/ScopInfo/modulo_zext_2.ll
M polly/test/ScopInfo/modulo_zext_3.ll
M polly/test/ScopInfo/multi-scop.ll
M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
M polly/test/ScopInfo/multidim_fold_constant_dim.ll
M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
M polly/test/ScopInfo/multidim_fortran_2d.ll
M polly/test/ScopInfo/multidim_fortran_2d_params.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_fortran_srem.ll
M polly/test/ScopInfo/multidim_gep_pointercast.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/multidim_nested_start_integer.ll
M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
M polly/test/ScopInfo/multidim_only_ivs_2d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
M polly/test/ScopInfo/multidim_param_in_subscript.ll
M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/multidim_with_bitcast.ll
M polly/test/ScopInfo/multiple-binary-or-conditions.ll
M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
M polly/test/ScopInfo/multiple-types-non-affine-2.ll
M polly/test/ScopInfo/multiple-types-non-affine.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
M polly/test/ScopInfo/multiple-types-two-dimensional.ll
M polly/test/ScopInfo/multiple-types.ll
M polly/test/ScopInfo/multiple_exiting_blocks.ll
M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
M polly/test/ScopInfo/multiple_latch_blocks.ll
M polly/test/ScopInfo/nested-loops.ll
M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
M polly/test/ScopInfo/non-affine-region-phi.ll
M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
M polly/test/ScopInfo/non-affine-region-with-loop.ll
M polly/test/ScopInfo/non-precise-inv-load-1.ll
M polly/test/ScopInfo/non-precise-inv-load-2.ll
M polly/test/ScopInfo/non-precise-inv-load-3.ll
M polly/test/ScopInfo/non-precise-inv-load-4.ll
M polly/test/ScopInfo/non-precise-inv-load-5.ll
M polly/test/ScopInfo/non-precise-inv-load-6.ll
M polly/test/ScopInfo/non-pure-function-call.ll
M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
M polly/test/ScopInfo/non-pure-function-calls.ll
M polly/test/ScopInfo/non_affine_access.ll
M polly/test/ScopInfo/non_affine_region_1.ll
M polly/test/ScopInfo/non_affine_region_2.ll
M polly/test/ScopInfo/non_affine_region_3.ll
M polly/test/ScopInfo/non_affine_region_4.ll
M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
M polly/test/ScopInfo/not-a-reduction.ll
M polly/test/ScopInfo/opaque-struct.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/ScopInfo/parameter-constant-division.ll
M polly/test/ScopInfo/parameter_in_dead_statement.ll
M polly/test/ScopInfo/parameter_product.ll
M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
M polly/test/ScopInfo/partially_invariant_load_1.ll
M polly/test/ScopInfo/partially_invariant_load_2.ll
M polly/test/ScopInfo/phi-in-non-affine-region.ll
M polly/test/ScopInfo/phi_after_error_block.ll
M polly/test/ScopInfo/phi_condition_modeling_1.ll
M polly/test/ScopInfo/phi_condition_modeling_2.ll
M polly/test/ScopInfo/phi_conditional_simple_1.ll
M polly/test/ScopInfo/phi_loop_carried_float.ll
M polly/test/ScopInfo/phi_not_grouped_at_top.ll
M polly/test/ScopInfo/phi_scalar_simple_1.ll
M polly/test/ScopInfo/phi_scalar_simple_2.ll
M polly/test/ScopInfo/phi_with_invoke_edge.ll
M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
M polly/test/ScopInfo/pointer-comparison.ll
M polly/test/ScopInfo/pointer-type-expressions.ll
M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
M polly/test/ScopInfo/process_added_dimensions.ll
M polly/test/ScopInfo/pwaff-complexity-bailout.ll
M polly/test/ScopInfo/ranged_parameter.ll
M polly/test/ScopInfo/ranged_parameter_2.ll
M polly/test/ScopInfo/ranged_parameter_wrap.ll
M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
M polly/test/ScopInfo/read-only-scalars.ll
M polly/test/ScopInfo/read-only-statements.ll
M polly/test/ScopInfo/reduction_alternating_base.ll
M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
M polly/test/ScopInfo/reduction_different_index.ll
M polly/test/ScopInfo/reduction_different_index1.ll
M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
M polly/test/ScopInfo/reduction_escaping_intermediate.ll
M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
M polly/test/ScopInfo/reduction_invalid_different_operators.ll
M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
M polly/test/ScopInfo/reduction_simple_fp.ll
M polly/test/ScopInfo/reduction_simple_w_constant.ll
M polly/test/ScopInfo/reduction_simple_w_iv.ll
M polly/test/ScopInfo/reduction_two_identical_reads.ll
M polly/test/ScopInfo/redundant_parameter_constraint.ll
M polly/test/ScopInfo/region-with-instructions.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/required-invariant-loop-bounds.ll
M polly/test/ScopInfo/restriction_in_dead_block.ll
M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
M polly/test/ScopInfo/run-time-check-many-parameters.ll
M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
M polly/test/ScopInfo/scalar.ll
M polly/test/ScopInfo/scalar_dependence_cond_br.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/scev-invalidated.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
M polly/test/ScopInfo/sign_wrapped_set.ll
M polly/test/ScopInfo/simple_loop_1.ll
M polly/test/ScopInfo/simple_loop_2.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
M polly/test/ScopInfo/simple_loop_unsigned_2.ll
M polly/test/ScopInfo/simple_loop_unsigned_3.ll
M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
M polly/test/ScopInfo/smax.ll
M polly/test/ScopInfo/statistics.ll
M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
M polly/test/ScopInfo/stmt_split_no_after_split.ll
M polly/test/ScopInfo/stmt_split_no_dependence.ll
M polly/test/ScopInfo/stmt_split_on_store.ll
M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
M polly/test/ScopInfo/stmt_split_within_loop.ll
M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
M polly/test/ScopInfo/switch-1.ll
M polly/test/ScopInfo/switch-2.ll
M polly/test/ScopInfo/switch-3.ll
M polly/test/ScopInfo/switch-4.ll
M polly/test/ScopInfo/switch-5.ll
M polly/test/ScopInfo/switch-6.ll
M polly/test/ScopInfo/switch-7.ll
M polly/test/ScopInfo/tempscop-printing.ll
M polly/test/ScopInfo/test-wrapping-in-condition.ll
M polly/test/ScopInfo/truncate-1.ll
M polly/test/ScopInfo/truncate-2.ll
M polly/test/ScopInfo/truncate-3.ll
M polly/test/ScopInfo/two-loops-one-infinite.ll
M polly/test/ScopInfo/two-loops-right-after-each-other.ll
M polly/test/ScopInfo/undef_in_cond.ll
M polly/test/ScopInfo/unnamed_nonaffine.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
M polly/test/ScopInfo/unprofitable_scalar-accs.ll
M polly/test/ScopInfo/unsigned-condition.ll
M polly/test/ScopInfo/unsigned-division-1.ll
M polly/test/ScopInfo/unsigned-division-2.ll
M polly/test/ScopInfo/unsigned-division-3.ll
M polly/test/ScopInfo/unsigned-division-4.ll
M polly/test/ScopInfo/unsigned-division-5.ll
M polly/test/ScopInfo/unsigned_wrap_uge.ll
M polly/test/ScopInfo/unsigned_wrap_ugt.ll
M polly/test/ScopInfo/unsigned_wrap_ule.ll
M polly/test/ScopInfo/unsigned_wrap_ult.ll
M polly/test/ScopInfo/user_context.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
M polly/test/ScopInfo/user_provided_assumptions.ll
M polly/test/ScopInfo/user_provided_assumptions_2.ll
M polly/test/ScopInfo/user_provided_assumptions_3.ll
M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
M polly/test/ScopInfo/variant_base_pointer.ll
M polly/test/ScopInfo/variant_load_empty_domain.ll
M polly/test/ScopInfo/wraping_signed_expr_0.ll
M polly/test/ScopInfo/wraping_signed_expr_1.ll
M polly/test/ScopInfo/wraping_signed_expr_2.ll
M polly/test/ScopInfo/wraping_signed_expr_3.ll
M polly/test/ScopInfo/wraping_signed_expr_4.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
M polly/test/ScopInfo/wraping_signed_expr_6.ll
M polly/test/ScopInfo/wraping_signed_expr_7.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
M polly/test/ScopInfo/zero_ext_space_mismatch.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/Simplify/coalesce_3partials.ll
M polly/test/Simplify/coalesce_disjointelements.ll
M polly/test/Simplify/coalesce_overlapping.ll
M polly/test/Simplify/coalesce_partial.ll
M polly/test/Simplify/dead_access_load.ll
M polly/test/Simplify/dead_access_phi.ll
M polly/test/Simplify/dead_access_value.ll
M polly/test/Simplify/dead_instruction.ll
M polly/test/Simplify/emptyaccessdomain.ll
M polly/test/Simplify/exit_phi_accesses-2.ll
M polly/test/Simplify/func-b320a7.ll
M polly/test/Simplify/gemm.ll
M polly/test/Simplify/nocoalesce_differentvalues.ll
M polly/test/Simplify/nocoalesce_elementmismatch.ll
M polly/test/Simplify/nocoalesce_readbetween.ll
M polly/test/Simplify/nocoalesce_writebetween.ll
M polly/test/Simplify/notdead_region_exitphi.ll
M polly/test/Simplify/notdead_region_innerphi.ll
M polly/test/Simplify/notredundant_region_loop.ll
M polly/test/Simplify/notredundant_region_middle.ll
M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/Simplify/overwritten.ll
M polly/test/Simplify/overwritten_3phi.ll
M polly/test/Simplify/overwritten_3store.ll
M polly/test/Simplify/overwritten_implicit_and_explicit.ll
M polly/test/Simplify/overwritten_loadbetween.ll
M polly/test/Simplify/overwritten_scalar.ll
M polly/test/Simplify/pass_existence.ll
M polly/test/Simplify/phi_in_regionstmt.ll
M polly/test/Simplify/pr33323.ll
M polly/test/Simplify/redundant.ll
M polly/test/Simplify/redundant_differentindex.ll
M polly/test/Simplify/redundant_region.ll
M polly/test/Simplify/redundant_region_scalar.ll
M polly/test/Simplify/redundant_scalarwrite.ll
M polly/test/Simplify/redundant_storebetween.ll
M polly/test/Simplify/scalability1.ll
M polly/test/Simplify/scalability2.ll
M polly/test/Simplify/sweep_mapped_phi.ll
M polly/test/Simplify/sweep_mapped_value.ll
M polly/test/Simplify/ununsed_read_in_region_entry.ll
M polly/test/Support/Plugins.ll
M polly/test/Support/defaultpipelines.ll
M polly/test/Support/dumpfunction.ll
M polly/test/Support/dumpmodule.ll
M polly/test/Support/exportjson.ll
M polly/test/Support/isl-args.ll
M polly/test/Support/pipelineposition.ll
M polly/test/Support/pollyDebug.ll
M polly/test/lit.site.cfg.in
M polly/test/polly.ll
Log Message:
-----------
Revert "[polly] Port polly tests to use NPM" (#92215)
Reverts llvm/llvm-project#90632.
Causing failures on buildbots that dynamically load polly. Reverting
while we sort it out.
Commit: 24180ea0c295856a696992f072c36259a266226b
https://github.com/llvm/llvm-project/commit/24180ea0c295856a696992f072c36259a266226b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Treat break, continue, goto, and label statements as trivial in WebKit checkers. (#91873)
Also allow CXXBindTemporaryExpr, which creates a temporary object with a
non-trivial destructor, and add a few more std and WTF functions to the
explicitly allowed list.
Commit: 0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
https://github.com/llvm/llvm-project/commit/0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/generic-error-number-macros.h
Log Message:
-----------
[libc][errno] Remove previously added errno numbers (#92163)
Introduced in https://github.com/llvm/llvm-project/pull/91150. Not
needed anymore as https://github.com/llvm/llvm-project/pull/92041 fixed
the root cause. `ENAMETOOLONG` and `EOVERFLOW` are well defined in
`<linux/errno.h>`.
Post mortem: Due to the previously missing inclusion of
`<linux/errno.h>` (fixed with
https://github.com/llvm/llvm-project/pull/92041), I misinterpreted an
undefined macro issue during the development of
https://github.com/llvm/llvm-project/pull/91150 as being caused by a
missing definition rather than by the missing inclusion of the linux
header. I realized too late that `ENAMETOOLONG` and `EOVERFLOW` were
correctly defined in `<linux/errno.h>` and that it was my missing
inclusion that caused the problem.
Commit: d7bb0723fe79d2b75d41789d2ffadda3567dd94e
https://github.com/llvm/llvm-project/commit/d7bb0723fe79d2b75d41789d2ffadda3567dd94e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/exp2-1.ll
A llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
Log Message:
-----------
InstCombine: Emit ldexp intrinsic in exp2->ldexp combine (#92039)
Prefer to emit the intrinsic over a libcall in the
intrinsic or no-math-errno case.
Commit: e6216906f528b948018b883068cef0fd4157bfd1
https://github.com/llvm/llvm-project/commit/e6216906f528b948018b883068cef0fd4157bfd1
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[MLIR][LLVM] Improve atomic verifier to properly support larger types (#92120)
This commit extends the verifier for atomics to properly verify larger
types. Beforehand, the verifier strictly rejected larger integer types,
while it now consults the data layout to determine if their bitsize is a
power of two. This behavior reflects what LLVM's verifier is checking
for.
Commit: d6ee7e8481fbaee30f37d82778ef12e135db5e67
https://github.com/llvm/llvm-project/commit/d6ee7e8481fbaee30f37d82778ef12e135db5e67
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/splitMove_addressReg.mir
Log Message:
-----------
[SystemZ] Handle address clobbering in splitMove(). (#92105)
When expanding an L128 (which is used to reload i128) it is
possible that the quadword destination register clobbers an
address register. This patch adds an assertion against the case
where both of the expanded parts clobber the address, and in the
case where one of the expanded parts do so puts it last.
Fixes #91437
Commit: 45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
https://github.com/llvm/llvm-project/commit/45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
A llvm/test/Instrumentation/DataFlowSanitizer/dataflow-disable-sanitizer-instrumentation.ll
A llvm/test/Instrumentation/SanitizerCoverage/coverage-disable-sanitizer-instrumentation.ll
Log Message:
-----------
[LLVM] Make sanitizers respect the disable_santizer_instrumentation attribute. (#91732)
`disable_sanitizer_instrumetation` is attached to functions that shall
not be instrumented e.g. ifunc resolver because those run before
everything is initialised.
Some sanitizer already handles this attribute, this patch adds it to
DataFLow and Coverage too.
Commit: 4688df68f9d022dd8bc102675a9e86ad274355d6
https://github.com/llvm/llvm-project/commit/4688df68f9d022dd8bc102675a9e86ad274355d6
Author: Stephan Bergmann <sbergman at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp
Log Message:
-----------
Avoid partial munmap (#92109)
...which caused issues like
> ==42==ERROR: AddressSanitizer failed to deallocate 0x32 (50) bytes at
address 0x117e0000 (error code: 28)
> ==42==Cannot dump memory map on emscriptenAddressSanitizer: CHECK
failed: sanitizer_common.cpp:81 "((0 && "unable to unmmap")) != (0)"
(0x0, 0x0) (tid=288045824)
> #0 0x14f73b0c in __asan::CheckUnwind()+0x14f73b0c
(this.program+0x14f73b0c)
> #1 0x14f8a3c2 in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)+0x14f8a3c2
(this.program+0x14f8a3c2)
> #2 0x14f7d6e1 in __sanitizer::ReportMunmapFailureAndDie(void*,
unsigned long, int, bool)+0x14f7d6e1 (this.program+0x14f7d6e1)
> #3 0x14f81fbd in __sanitizer::UnmapOrDie(void*, unsigned
long)+0x14f81fbd (this.program+0x14f81fbd)
> #4 0x14f875df in __sanitizer::SuppressionContext::ParseFromFile(char
const*)+0x14f875df (this.program+0x14f875df)
> #5 0x14f74eab in __asan::InitializeSuppressions()+0x14f74eab
(this.program+0x14f74eab)
> #6 0x14f73a1a in __asan::AsanInitInternal()+0x14f73a1a
(this.program+0x14f73a1a)
when trying to use an ASan suppressions file under Emscripten: Even
though it would be considered OK by SUSv4, the Emscripten runtime states
"We don't support partial munmapping" (see
<https://github.com/emscripten-core/emscripten/commit/f4115eb2c36bac741685300273cb9fa186d719e1>
"Implement MAP_ANONYMOUS on top of malloc in STANDALONE_WASM mode
(#16289)").
Co-authored-by: Stephan Bergmann <stephan.bergmann at allotropia.de>
Commit: 73324cbc9c5892541aa82d466799748b435ece29
https://github.com/llvm/llvm-project/commit/73324cbc9c5892541aa82d466799748b435ece29
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
Log Message:
-----------
[ASan] Remove COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION. (#91832)
Since the set of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION is removed in
commit 8421fa5d536aadf42c0e54c566bc439a40ebdb8e,
cleanup the use of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION.
Commit: 7f3ac51b946bf6d6fa8c8443457ebee219879302
https://github.com/llvm/llvm-project/commit/7f3ac51b946bf6d6fa8c8443457ebee219879302
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx98.cpp
Log Message:
-----------
[clang][Interp] Only accept constant variables in c++98
Commit: d12c48cad52798f4846dd8ef882af0f854118d16
https://github.com/llvm/llvm-project/commit/d12c48cad52798f4846dd8ef882af0f854118d16
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/source/Target/UnwindLLDB.cpp
A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
Log Message:
-----------
[lldb/aarch64] Allow unaligned PC addresses below a trap handler (#92093)
The stack validation heuristic is counter-productive in this case, as
the unaligned address is most likely the thing that caused the signal in
the first place.
Commit: 6479e3cb66895754089dc017a33478e9eb4b8d65
https://github.com/llvm/llvm-project/commit/6479e3cb66895754089dc017a33478e9eb4b8d65
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/bitfields.cpp
Log Message:
-----------
[clang][Interp] Use proper type for non-primitive reference dummies
Commit: 1d43ec8191e55d6efd552a1510ce63dbdea00cc0
https://github.com/llvm/llvm-project/commit/1d43ec8191e55d6efd552a1510ce63dbdea00cc0
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove unnecessary if condition
This is already in a if(isBlockPointer()) block.
Commit: afba3daf822c839db1be40464041307679c803a9
https://github.com/llvm/llvm-project/commit/afba3daf822c839db1be40464041307679c803a9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Add basic support for AddrLabelExprs
Just create a local variable for them.
Commit: ca4a405232cf170f20a2f111bf72beab82095935
https://github.com/llvm/llvm-project/commit/ca4a405232cf170f20a2f111bf72beab82095935
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/test/Analysis/memory-model.cpp
Log Message:
-----------
[analyzer] Refactor recognition of the errno getter functions (#91531)
There are many environments where `errno` is a macro that expands to
something like `(*__errno())` (different standard library
implementations use different names instead of "__errno").
In these environments the ErrnoModeling checker creates a symbolic
region which will be used to represent the return value of this "get the
location of errno" function.
Previously this symbol was only created when the checker was able to
find the declaration of the "get the location of errno" function; but
this commit eliminates the complex logic that was responsible for this
and always creates the symbolic region when `errno` is not available as
a "regular" global variable.
This significantly simplifies a code and only introduces a minimal
performance reduction (one extra symbol) in the case when `errno` is not
declared (neither as a variable nor as a function).
In addition to this simplification, this commit specifies that the
`CallDescription`s for the "get the location of errno" functions are
matched in `CDM::CLibrary` mode. (This was my original goal, but I was
sidetracked by resolving a FIXME above the `CallDescriptionSet` in
`ErrnoModeling.cpp`.)
This change is very close to being NFC, but it fixes weird corner cases
like the handling of a C++ method that happens to be named "__errno()"
(previously it could've been recognized as an errno location getter
function).
Commit: f090801a9651cf4f0d05cc361a2a1b14805b62bf
https://github.com/llvm/llvm-project/commit/f090801a9651cf4f0d05cc361a2a1b14805b62bf
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
Log Message:
-----------
[lldb] Disable unaligned-pc-sigbus.test on arm(32)
I though the test could work there as well, but (of course) it does not,
because the lowest bit just means "run the code as thumb".
Commit: 2f6c0e6e180c81087c26f4afac2155ea70472ec6
https://github.com/llvm/llvm-project/commit/2f6c0e6e180c81087c26f4afac2155ea70472ec6
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Transforms/tbaa.fir
Log Message:
-----------
[flang][Alias Analysis] not all block arguments are dummy arguments (#92156)
Arguments to openmp regions should not be tagged as dummy arguments.
This is particularly unsafe because these openmp blocks will eventually
be inlined into the calling function, where they will trivially alias
with other values inside of the calling function.
This is probably a theoretical issue because the calls to openmp runtime
function calls would act as barriers, preventing optimizations that are
too aggressive. But a lot more thought would need to go into a bet like
that.
This came out of discussion on
https://github.com/llvm/llvm-project/pull/92036
Commit: f39e75b45160ae69222d6ae197ee20c365146717
https://github.com/llvm/llvm-project/commit/f39e75b45160ae69222d6ae197ee20c365146717
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[CodeGen][ARM64EC][NFC] Factor out emitFunctionAlias and getSymbolFromMetadata in emitFunctionEntryLabel. (#92098)
Commit: 421862f8e4ffddf57e210a205984a0ee39c57d96
https://github.com/llvm/llvm-project/commit/421862f8e4ffddf57e210a205984a0ee39c57d96
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/ext-int-cc.c
Log Message:
-----------
[Clang] Fix incorrect passing of _BitInt args (#90741)
This patch removes incorrect `byval` attribute from pointer argument
passed with >128 bit long _BitInt types.
Commit: d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
https://github.com/llvm/llvm-project/commit/d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
[VPlan] Update VPBlendRecipe codegen for for first-lane only.
Update VPBlendRecipe::execute to support generating code for first-lane
only. This fixes a crash in the newly added test
@test_not_first_lane_only_wide_compare_incoming_order_swapped.
Commit: b0a1ae2cca4a438753e093df2f949e73a313dbe2
https://github.com/llvm/llvm-project/commit/b0a1ae2cca4a438753e093df2f949e73a313dbe2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
Log Message:
-----------
[LV] Add additional variants of tests with udiv/urem/sdiv/srem in TC.
Add additional tests with udiv/urem/sdiv/srem in trip counts, where the
divisor is constant.
For https://github.com/llvm/llvm-project/pull/92177.
Commit: b6f050fa129b08b6bc35168f0b8010742cd1ed9d
https://github.com/llvm/llvm-project/commit/b6f050fa129b08b6bc35168f0b8010742cd1ed9d
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb] Document some more packets (#92124)
Comparing a bit of the mock GDB server code to what was in the document
I found these:
* QLaunchArch
* qSpeedTest
* qSymbol
qSymbol is the most mysterious but it did have some examples in a
comment so I've adapted that.
Commit: 03bdfb65617e3cf714a106fdf7a6ae7551d17bce
https://github.com/llvm/llvm-project/commit/03bdfb65617e3cf714a106fdf7a6ae7551d17bce
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoBreakpointsOneSignal.py
Log Message:
-----------
[lldb][test][FreeBSD] Fix some concurrent event tests (#84155)
A lot of `TestConcurrent*.py` expect one of the threads to crash, but we
weren't checking for it properly.
Possibly because signal reporting got better on FreeBSD at some point,
and it now shows the same info as Linux does.
```
lldb-api :: functionalities/inferior-changed/TestInferiorChanged.py
lldb-api :: functionalities/inferior-crashing/TestInferiorCrashing.py
lldb-api :: functionalities/inferior-crashing/TestInferiorCrashingStep.py
lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py
lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithBreak.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithSignal.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpoint.py
lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpointBreakpointSignal.py
```
Fixes #48777
`TestConcurrentTwoBreakpointsOneSignal.py` no longer fails, at least on
an AWS instance, so I've removed the xfail there.
Commit: e67080df999c035d764c42aaa6d85417331ac52c
https://github.com/llvm/llvm-project/commit/e67080df999c035d764c42aaa6d85417331ac52c
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
[mlir][ods] Populate properties in generated builder (#90430)
Previously this was only populated in the create method later. This
resolves some of invalid builder paths. This may also be sufficient that
type inference functions no longer have to consider whether property
conversion has happened (but haven't verified that yet).
This also makes Attributes corresponding to Properties as optional
inside the set from attributes method. Today that is in effect what
happens with Property value initialization and folks use it to define
custom C++ types whose default initialization is what they want. This is
the behavior users get if they use properties directly. Propagating
Attributes without allowing partial setting would require iterating over
the dictionary attribute considering the properties of the op type that
will be created. This could also have been an additional method
generated or optional behavior on the set method. But doing it
consistently seems better. In terms of whats lost, it doesn't seem like
anything compared to the pure Property path where Property is default
value initialized and then partially overwritten (this doesn't seem to
buy anything else verification wise).
Default valued Properties (as specified ODS side rather than C++ side)
triggered error as the containing class was not yet complete but
referenced nested class, so that we couldn't have default initializer
for them in the parent class. Added an additional forwarding builder to
avoid needing to update call sites. This could be split out to separate
change.
Inlined templated function in unit test that was only used once. Moved
initialization earlier where seen.
Commit: 7621a0d36465cf870769cd54035d254d409c2ce4
https://github.com/llvm/llvm-project/commit/7621a0d36465cf870769cd54035d254d409c2ce4
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Improve custom lowering for EXTRACT_SUBVECTOR. (#90963)
We can extract any legal fixed length vector from a scalable vector by
using VECTOR_SPLICE.
Commit: eacefba9aa3d1a5181d3d49823df24aca0d2b344
https://github.com/llvm/llvm-project/commit/eacefba9aa3d1a5181d3d49823df24aca0d2b344
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
M lldb/test/API/tools/lldb-server/TestPtyServer.py
Log Message:
-----------
[lldb][Windows] Fixed tests TestPty and TestPtyServer (#92090)
The tests TestPty and TestPtyServer use the Unix specific python builtin
module termios. They are failed in case of Windows host and Linux
target. Disable them for Windows host too.
Commit: 3c3f6d877623d0d821f59f4ec6038b27f27ee01d
https://github.com/llvm/llvm-project/commit/3c3f6d877623d0d821f59f4ec6038b27f27ee01d
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Eliminate Match_PreferE32. (#92159)
Was added in 88e0b251815563016ad50241dd592e304bc03ee5 and is unused
since fcef407aa21ad5a79d66a088e6f2a66a5745725d.
Commit: de18f5ecf80ef7183625c80b04445c614a17c483
https://github.com/llvm/llvm-project/commit/de18f5ecf80ef7183625c80b04445c614a17c483
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/taskgroup.f90
Log Message:
-----------
[flang][OpenMP] Remove `allocate` from `taskgroup` in test (#92173)
Remove the `allocate`, because it needs to be used together with a
privatizing clause. The only such clause for `taskgroup` is
`task_reduction`, but it's not yet supported.
Commit: e6ef836f23aa44520e0823c38e44b2f58eb5a52f
https://github.com/llvm/llvm-project/commit/e6ef836f23aa44520e0823c38e44b2f58eb5a52f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/teams.f90
Log Message:
-----------
[flang][OpenMP] Add -fopenmp-version=52 to teams.f90 (#92180)
One of the functions in the test has `teams if(...)`. The `if` clause
was only allowed on the `teams` directive in OpenMP 5.2.
Commit: ccbf908b0836d8e3945f9331fd3679cbc6be0be1
https://github.com/llvm/llvm-project/commit/ccbf908b0836d8e3945f9331fd3679cbc6be0be1
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/test/src/string/strerror_test.cpp
Log Message:
-----------
[libc] Fix GPU test build error (#92235)
This fixes a build error on the AMDGPU buildbot introduced in PR
https://github.com/llvm/llvm-project/pull/92172
Commit: 1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
https://github.com/llvm/llvm-project/commit/1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/AST/VTTBuilder.h
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.h
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
M flang/docs/HighLevelFIR.md
M flang/test/Lower/HLFIR/forall.f90
M libc/src/stdio/printf_core/parser.h
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/Target/Target.td
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.h
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Support/ELFAttributeParser.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/CodeGen/X86/avx-vperm2x128.ll
M llvm/test/DebugInfo/PDB/Inputs/every-type.yaml
M llvm/test/MC/ARM/eh-directive-personalityindex-diagnostics.s
M llvm/test/Transforms/InstCombine/phi-extractvalue.ll
M llvm/test/Transforms/InstCombine/phi-of-insertvalues.ll
M llvm/test/Transforms/VectorCombine/X86/scalarize-vector-gep.ll
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
Fix typo "indicies" (#92232)
Commit: 398162ddbcf741c49e86bef2ef4aaa3fd0213916
https://github.com/llvm/llvm-project/commit/398162ddbcf741c49e86bef2ef4aaa3fd0213916
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/test/src/string/strerror_test.cpp
Log Message:
-----------
[libc] Fix typo in test message
Commit: 3b5a121a2478e586f59e3277d04d17fb63be5d76
https://github.com/llvm/llvm-project/commit/3b5a121a2478e586f59e3277d04d17fb63be5d76
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] replace comparison of begin and end iterators with range empty (#91994)
Improves readability by changing comparisons of `*_begin` and `*_end`
iterators into `.empty()` on their range.
Commit: 8a71284cb9463a90fab0d9e8edbeb5d879531e32
https://github.com/llvm/llvm-project/commit/8a71284cb9463a90fab0d9e8edbeb5d879531e32
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/MC/X86/abs8.s
M llvm/test/MC/X86/align-branch-variant-symbol.s
M llvm/test/MC/X86/data-prefix-fail.s
M llvm/test/MC/X86/displacement-overflow.s
M llvm/test/MC/X86/dwarf-segment-register.s
M llvm/test/MC/X86/index-operations.s
M llvm/test/MC/X86/ret.s
M llvm/test/MC/X86/x86_errors.s
Log Message:
-----------
[MC][X86] Cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names where possible
Commit: 89873694654a635cabdd861ddebd61a041d8342f
https://github.com/llvm/llvm-project/commit/89873694654a635cabdd861ddebd61a041d8342f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/sibcall-2.ll
M llvm/test/CodeGen/X86/sibcall-byval.ll
Log Message:
-----------
[X86] sibcall - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: 932f0de43a9e334e161a69a50bd6b01cd51e238e
https://github.com/llvm/llvm-project/commit/932f0de43a9e334e161a69a50bd6b01cd51e238e
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
Log Message:
-----------
[clang-tidy] fix crash due to assumed callee in min-max-use-initializer-list (#91992)
Previously, the call to `findArgs` for a `CallExpr` inside of a `min` or
`max` call would call `findArgs` before checking if the argument is a
call to `min` or `max`, which is what `findArgs` is expecting.
The fix moves the name checking before the call to `findArgs`, such that
only a `min` or `max` function call is used as an argument.
Fixes #91982
Fixes #92249
Commit: 83d9aa27680b6a7f3556fcf13ada70b4be95bab2
https://github.com/llvm/llvm-project/commit/83d9aa27680b6a7f3556fcf13ada70b4be95bab2
Author: Pietro Ghiglio <pietro.ghiglio at codeplay.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
A llvm/test/Transforms/LoopVectorize/as_cast.ll
Log Message:
-----------
[VPlan] Add scalar inferencing support for addrspace cast (#92107)
Fixes https://github.com/llvm/llvm-project/issues/91434
PR: https://github.com/llvm/llvm-project/pull/92107
Commit: d06270ee00e37b247eb99268fb2f106dbeee08ff
https://github.com/llvm/llvm-project/commit/d06270ee00e37b247eb99268fb2f106dbeee08ff
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
Log Message:
-----------
[workflows] Fix libclang-abi-tests to work with new version scheme (#91865)
Commit: 97418bb519d90542aad3c1f82c80264381a5758e
https://github.com/llvm/llvm-project/commit/97418bb519d90542aad3c1f82c80264381a5758e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/patchable-function-entry-ibt.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
Log Message:
-----------
[X86] patchable functions - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: 96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
https://github.com/llvm/llvm-project/commit/96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll
Log Message:
-----------
[X86] cmpxchg-clobber-flags.ll - cleanup check prefixes identified in #92248
Avoid using numbers as check prefix - replace with actual triple config names
Commit: e26eacf771fed3226058a84d5d83f94994f583b2
https://github.com/llvm/llvm-project/commit/e26eacf771fed3226058a84d5d83f94994f583b2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/prefetch.ll
Log Message:
-----------
[X86] prefetch.ll - cleanup check prefixes identified in #92248
Avoid using leading numbers in check prefixes - replace with actual triple config names (and makes it easier to add X64 test coverage in a future commit).
Commit: 3f07430c383dffad77a120c91df79cbc7d99313c
https://github.com/llvm/llvm-project/commit/3f07430c383dffad77a120c91df79cbc7d99313c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
Log Message:
-----------
[X86] avoid-sfb-g-no-change.mir - cleanup check prefixes identified in #92248
Don't include "-LABEL" (or any other FileCheck modifier) in the core check prefix name
Commit: f8395f8420cee8fc0854f43c9e88819c0ed54696
https://github.com/llvm/llvm-project/commit/f8395f8420cee8fc0854f43c9e88819c0ed54696
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/align-branch-boundary-suppressions-tls.ll
M llvm/test/CodeGen/X86/asm-modifier.ll
M llvm/test/CodeGen/X86/pr32345.ll
M llvm/test/CodeGen/X86/x32-va_start.ll
Log Message:
-----------
[X86] Cleanup check prefixes identified in #92248
Avoid using leading numbers in check prefixes - replace with actual triple config names.
Commit: b59760d83d10c27f22d77b7df24871500167c3e8
https://github.com/llvm/llvm-project/commit/b59760d83d10c27f22d77b7df24871500167c3e8
Author: Kamlesh Kumar <kamleshbhalui at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/examples/ExceptionDemo/CMakeLists.txt
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
Log Message:
-----------
Revert "[ExceptionDemo] Correct and update example ExceptionDemo" (#92257)
Reverts llvm/llvm-project#69485
Commit: 3bb39690d729d85cd93c9dd6e750d82d6f367541
https://github.com/llvm/llvm-project/commit/3bb39690d729d85cd93c9dd6e750d82d6f367541
Author: Hans <hans at hanshq.net>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M llvm/docs/Coroutines.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
R llvm/test/Transforms/Coroutines/coro-preserve-final.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
Log Message:
-----------
[coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (#89751)
The C++ standard requires that symmetric transfer from one coroutine to
another is performed via a tail call. Failure to do so is a miscompile
and often breaks programs by quickly overflowing the stack.
Until now, the coro split pass tried to ensure this in the
`addMustTailToCoroResumes()` function by searching for
`llvm.coro.resume` calls to lower as tail calls if the conditions were
right: the right function arguments, attributes, calling convention
etc., and if a `ret void` was sure to be reached after traversal with
some ad-hoc constant folding following the call.
This was brittle, as the kind of implicit variants required for a tail
call to happen could easily be broken by other passes (e.g. if some
instruction got in between the `resume` and `ret`), see for example
9d1cb18d19862fc0627e4a56e1e491a498e84c71 and
284da049f5feb62b40f5abc41dda7895e3d81d72.
Also the logic seemed backwards: instead of searching for possible tail
call candidates and doing them if the circumstances are right, it seems
better to start with the intention of making the tail calls we need, and
forcing the circumstances to be right.
Now that we have the `llvm.coro.await.suspend.handle` intrinsic (since
f78688134026686288a8d310b493d9327753a022) which corresponds exactly to
symmetric transfer, change the lowering of that to also include the
`resume` part, always lowered as a tail call.
Commit: 95e307caeb17c080724921564d96e1b8457264bc
https://github.com/llvm/llvm-project/commit/95e307caeb17c080724921564d96e1b8457264bc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M bolt/lib/Rewrite/CMakeLists.txt
Log Message:
-----------
Fix bolt build with -DBUILD_SHARED_LIBS=ON after 71fbbb69d
Commit 71fbbb69d63c461f391cbabf1e32cd9977c4ce68 moved getGUID out of
line in llvm/IR/GlobalValue, now users have to link LLVMCore to have
the definition of it.
/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::parsePseudoProbe()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter16parsePseudoProbeEv+0x3d0): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::encodePseudoProbes()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter18encodePseudoProbesEv+0x11a1): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/build.make:275: lib/libLLVMBOLTRewrite.so.19.0git] Error 1
Commit: c2fba6df944e11e2c9a7073405c6a817fdba14e3
https://github.com/llvm/llvm-project/commit/c2fba6df944e11e2c9a7073405c6a817fdba14e3
Author: Koakuma <koachan at protonmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/test/CodeGen/sparcv9-abi.c
A clang/test/CodeGen/sparcv9-class-return.cpp
Log Message:
-----------
[clang][SPARC] Treat empty structs as if it's a one-bit type in the CC (#90338)
Make sure that empty structs are treated as if it has a size of one bit
in function parameters and return types so that it occupies a full
argument and/or return register slot.
This fixes crashes and miscompilations when passing and/or returning
empty structs.
Reviewed by: @s-barannikov
Commit: 97a30448f9477e0196f9340303aa20d544f1629a
https://github.com/llvm/llvm-project/commit/97a30448f9477e0196f9340303aa20d544f1629a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/parallel-sections.f90
Log Message:
-----------
[flang][OpenMP] Add `private` to `allocate` in parallel-sections.f90 (#92185)
Add a privatizing clause to the construct that uses `allocate` clause.
Amend the CHECK lines to reflect the expected output.
Commit: 4ec4a8e7fe463852e197d4ff396f4911ccce7449
https://github.com/llvm/llvm-project/commit/4ec4a8e7fe463852e197d4ff396f4911ccce7449
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Privatizing clauses in construct decomposition (#92176)
Add remaining clauses with the "privatizing" property to construct
decomposition, specifically to the part handling the `allocate` clause.
---------
Co-authored-by: Tom Eccles <t at freedommail.info>
Commit: 8d386c63a8d38bc50acba8dba2cd5f0daca57012
https://github.com/llvm/llvm-project/commit/8d386c63a8d38bc50acba8dba2cd5f0daca57012
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
Log Message:
-----------
[Frontend][OpenMP] Reduction modifier must be applied somewhere (#92160)
Detect the case when a reduction modifier ends up not being applied
after construct decomposition, treat it as an error.
This fixes a regression in the gfortran test suite after PR90098.
Commit: 7c8176ebd39c357fc4fa488861318409cd87d8f2
https://github.com/llvm/llvm-project/commit/7c8176ebd39c357fc4fa488861318409cd87d8f2
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Coroutines] Remove unused function (NFC)
llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:1223:1:
error: unused function 'scanPHIsAndUpdateValueMap' [-Werror,-Wunused-function]
scanPHIsAndUpdateValueMap(Instruction *Prev, BasicBlock *NewBlock,
^
1 error generated.
Commit: 466d266945196ebbdefd8d72f654551d54d68600
https://github.com/llvm/llvm-project/commit/466d266945196ebbdefd8d72f654551d54d68600
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
Log Message:
-----------
[AMDGPU] Fix GFX90x check prefixes in tests (#92254)
Commit: 61da6366d043792d7db280ce9edd2db62516e0e8
https://github.com/llvm/llvm-project/commit/61da6366d043792d7db280ce9edd2db62516e0e8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
[flang] Initial debug info support for local variables. (#90905)
We need the information in the `DeclareOp` to generate debug information
for variables. Currently, cg-rewrite removes the `DeclareOp`. As
`AddDebugInfo` runs after that, it cannot process the `DeclareOp`. My
initial plan was to make the `AddDebugInfo` pass run before the cg-rewrite
but that has few issues.
1. Initially I was thinking to use the memref op to carry the variable
attr. But as @tblah suggested in the #86939, it makes more sense to
carry that information on `DeclareOp`. It also makes it easy to handle
it in codegen and there is no special handling needed for arguments. For
this reason, we need to preserve the `DeclareOp` till the codegen.
2. Running earlier, we will miss the changes in passes that run between
cg-rewrite and codegen.
But not removing the DeclareOp in cg-rewrite has the issue that ShapeOp
remains and it causes errors during codegen. To solve this problem, I
convert DeclareOp to XDeclareOp in cg-rewrite instead of removing
it. This was mentioned as possible solution by @jeanPerier in
https://reviews.llvm.org/D136254
The conversion follows similar logic as used for other operators in that
file. The FortranAttr and CudaAttr are currently not converted but left
as TODO when the need arise.
Now `AddDebugInfo` pass can extracts information about local variables
from `XDeclareOp` and creates `DILocalVariableAttr`. These are attached
to `XDeclareOp` using `FusedLoc` approach. Codegen can use them to
create `DbgDeclareOp`. I have added tests that checks the debug
information in mlir from and also in llvm ir.
Currently we only handle very limited types. Rest are given a place
holder type. The previous placeholder type was basic type with
`DW_ATE_address` encoding. When variables are added, it started
causing assertions in the llvm debug info generation logic for some
types. It has been changed to an interger type to prevent these issues
until we handle those types properly.
Commit: eda098aadea3e542f95b5f0d4173f00eae42dc72
https://github.com/llvm/llvm-project/commit/eda098aadea3e542f95b5f0d4173f00eae42dc72
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/block-in-critical-section.c
Log Message:
-----------
[clang][analyzer] Fix a crash in alpha.unix.BlockInCriticalSection (#90030)
When analyzing C code with function pointers the checker crashes because
of how the implementation extracts `IdentifierInfo`. Without the fix, this
test crashes.
Commit: da116bd82c0a78d2022c34b56e45cf6e4f91eaed
https://github.com/llvm/llvm-project/commit/da116bd82c0a78d2022c34b56e45cf6e4f91eaed
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Use ULL for std::max constant argument to fix build failure.
getKnownMinValue returns uint64_t, use ULL to make sure the second arg
is also 64 bit.
Commit: b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
Log Message:
-----------
[GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)
There is no reason to call combineMetadata directly with a list of MD_
nodes. The combineMetadataForCSE function handles all the metadata
correctly
Partially fixes: #30866
Commit: 8a4cbeada930bf11fe740a2038bd5a3230712284
https://github.com/llvm/llvm-project/commit/8a4cbeada930bf11fe740a2038bd5a3230712284
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Unbreak build take 2 using uint64_t() explicitly.
Commit: dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
https://github.com/llvm/llvm-project/commit/dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
[Support] Use malloc instead of non-throwing new (#92157)
When allocating a memory buffer, we use a non-throwing new so that we
can explicitly handle memory buffers that are too large to fit into
memory. However, when exceptions are disabled, LLVM installs a custom
new handler
(https://github.com/llvm/llvm-project/blob/90109d444839683b09f0aafdc50b749cb4b3203b/llvm/lib/Support/InitLLVM.cpp#L61)
that explicitly crashes when we run out of memory
(https://github.com/llvm/llvm-project/blob/de14b749fee41d4ded711e771e43043ae3100cb3/llvm/lib/Support/ErrorHandling.cpp#L188)
and that means this particular out-of-memory situation cannot be
gracefully handled.
This was discovered while working on #embed
(https://github.com/llvm/llvm-project/pull/68620) on Windows and
resulted in a crash rather than the preprocessor issuing a diagnostic as
expected.
This patch switches away from the non-throwing new to a call to malloc
(and free), which will return a null pointer without calling a custom
new handler. It is the only instance in Clang or LLVM that I could find
which used a non-throwing new, so I did not think we would need anything
more involved than this change.
Testing this would be highly platform dependent and so it does not come
with test coverage. And because it doesn't change behavior that users
are likely to be able to observe, it does not come with a release note.
Commit: 8ab753c121447c1388c4cb1af08ab27b2cd62a82
https://github.com/llvm/llvm-project/commit/8ab753c121447c1388c4cb1af08ab27b2cd62a82
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
Log Message:
-----------
[flang][OpenMP] Add `REQUIRES: asserts` to test that relies on it
This should fix failures in release builds.
Commit: 413aaf11cd74f422f05b990613f822dc10db4391
https://github.com/llvm/llvm-project/commit/413aaf11cd74f422f05b990613f822dc10db4391
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Support IntAP(S) in emitPrimCast
Commit: 28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
https://github.com/llvm/llvm-project/commit/28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/IntegralAP.h
Log Message:
-----------
[clang][Interp][NFC] Use a smaller default size for IntegralAP
Since we later possibly initialize the value by using operator-new,
we need the default value to _not_ allocate memory.
Commit: 4527adc500ea0dc4b942a51dc7209da4ea26d9a2
https://github.com/llvm/llvm-project/commit/4527adc500ea0dc4b942a51dc7209da4ea26d9a2
Author: Daniel Kuts <kutz at ispras.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
Log Message:
-----------
Fix null pointer dereference in logging in mlir TransformOps (#92237)
A variable `typeConverterOp` may be nullptr after dynamic cast. There is
a security guard for this, but during logging error message the variable
getting dereferenced.
Found with static analysis.
Commit: b576a6b0452b9bfb634feaa215506d8a1afe857d
https://github.com/llvm/llvm-project/commit/b576a6b0452b9bfb634feaa215506d8a1afe857d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-tile-basic.ll
Log Message:
-----------
[X86][AMX] Fix a bug after #83628 (#91207)
We need to check if `GR64Cand` a valid register before using it.
Test is not needed since it's covered in llvm-test-suite.
Fixes #90954
Commit: bed5546bb53bdb231b62f569b67f449019426ce8
https://github.com/llvm/llvm-project/commit/bed5546bb53bdb231b62f569b67f449019426ce8
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
Log Message:
-----------
[DebugInfo] Get rid of redundant conditional checks in `/DebugInfo` (#92111)
Resolves #90326
Commit: dcf3102be8458fe7588f9d11315beddfca4323b0
https://github.com/llvm/llvm-project/commit/dcf3102be8458fe7588f9d11315beddfca4323b0
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A bolt/docs/CommandLineArgumentReference.md
Log Message:
-----------
[BOLT][NFC] Add documentation on BOLT options (#92117)
Add .md file documentation with all BOLT options to display it more
conveniently.
Commit: 8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
https://github.com/llvm/llvm-project/commit/8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
A offload/test/mapping/map_both_pointer_pointee.c
Log Message:
-----------
[Clang][OpenMP] Fix runtime problem when explicit map both pointer and pointee (#92210)
ponter int *p for following map, test currently crash.
map(p, p[:100]) or map(p, p[1])
Currly IR looks like
// &p, &p, sizeof(int), TARGET_PARAM | TO | FROM
// &p, p[0], 100sizeof(float) TO | FROM
Worrking IR is
// map(p, p[0:100]) to map(p[0:100])
// &p, &p[0], 100*sizeof(float), TARGET_PARAM | TO | FROM | PTR_AND_OBJ
The change is add new argument AreBothBasePtrAndPteeMapped in
generateInfoForComponentList
Use that to skip map for map(p), when processing map(p[:100]) generate
map with right flag.
Commit: ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
https://github.com/llvm/llvm-project/commit/ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
Log Message:
-----------
[RISCV] Remove hasSideEffects=1 for vsetvli pseudos (#91319)
In a similar vein to #90049, we currently model all of the effects of a
vsetvli pseudo:
* VL and VTYPE are marked as defs
* VL preserving x0,x0 vsetvlis doesn't get emitted until
RISCVInsertVSETVLI, and when they are they have implicit uses on VL
* Regular vector pseudos are fully modelled too: Before
RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we
will eventually insert vsetvlis to correct VL and VTYPE. Afterwards,
they will have implicit uses on VL and VTYPE.
Since we model everything we can remove hasSideEffects=1. This gives us
some improvements like sinking in vsetvli-insert-crossbb.ll.
We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli
pseudos since it only operates on instructions with unmodelled side
effects.
Commit: 74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
https://github.com/llvm/llvm-project/commit/74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_convertvector
Commit: 3a8d176af519e4385652e762c615ace9b80ef045
https://github.com/llvm/llvm-project/commit/3a8d176af519e4385652e762c615ace9b80ef045
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/filecheck_lint/filecheck_lint.py
Log Message:
-----------
[utils][filecheck-lint] Add shebang (#92243)
Commit: ba3447601c435bb2b24ad9e3c8d146c578f00568
https://github.com/llvm/llvm-project/commit/ba3447601c435bb2b24ad9e3c8d146c578f00568
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-constraints (#92019)
Improved modernize-use-constraints check by fixing a crash that occurred
in some scenarios and excluded system headers from analysis.
Problem were with DependentNameTypeLoc having null type location as
getQualifierLoc().getTypeLoc().
Fixes #91872
Commit: 54c6ee922abbaea7d2f138a209f320c414c1657b
https://github.com/llvm/llvm-project/commit/54c6ee922abbaea7d2f138a209f320c414c1657b
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
Log Message:
-----------
[clang-tidy] Add AllowImplicitlyDeletedCopyOrMove option to cppcoreguidelines-special-member-functions (#71683)
Improved cppcoreguidelines-special-member-functions check with a new
option AllowImplicitlyDeletedCopyOrMove, which removes the requirement
for explicit copy or move special member functions when they are already
implicitly deleted.
Closes #62392
Commit: c8bb94019773c4ca2273d7b744e5ce1ff27ffa96
https://github.com/llvm/llvm-project/commit/c8bb94019773c4ca2273d7b744e5ce1ff27ffa96
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/libclang-abi-tests.yml
A .github/workflows/pr-request-release-note.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-tasks.yml
M .github/workflows/set-release-binary-outputs.sh
A bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
M bolt/test/X86/bb-with-two-tail-calls.s
M bolt/test/X86/bolt-address-translation-yaml.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
A bolt/test/X86/jump-table-fixed-ref-pic.test
A bolt/test/X86/profile-passthrough-block.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/sctc-bug4.test
A bolt/test/runtime/bolt-reserved.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/tool/ClangQuery.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
A clang-tools-extra/test/clang-query/Inputs/empty.script
A clang-tools-extra/test/clang-query/Inputs/file.script
A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
M clang-tools-extra/test/clang-query/errors.c
A clang-tools-extra/test/clang-query/file-empty.c
A clang-tools-extra/test/clang-query/file-query.c
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/CMakeLists.txt
M clang/docs/Block-ABI-Apple.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/BuiltinTypes.def
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/VTTBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/Solver.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/MSP430Target.def
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/SourceManager.h
A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/Transforms.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__stdarg_header_macro.h
A clang/lib/Headers/__stddef_header_macro.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stddef.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
A clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/export-as.c
M clang/test/APINotes/extern-context.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/APINotes/properties.m
M clang/test/APINotes/swift-import-as.cpp
M clang/test/APINotes/templates.cpp
M clang/test/APINotes/versioned.m
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/ResourceStruct.hlsl
A clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/bitfields.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/builtins.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/const-fpfeatures.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/cxx98.cpp
A clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/alignas_maybe_odr_cleanup.cpp
M clang/test/AST/arithmetic-fence-builtin.c
M clang/test/AST/ast-crash-doc-function-template.cpp
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/test/AST/ast-dump-attr-type.cpp
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/AST/ast-dump-coroutine.cpp
A clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-default-arg-dep.cpp
M clang/test/AST/ast-dump-default-arg-recovery.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/ast-dump-fpfeatures.m
M clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-types-errors.cpp
M clang/test/AST/ast-print-fp-pragmas.c
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-pragmas.cpp
M clang/test/AST/attr-swift_attr.m
M clang/test/AST/attr-swift_bridge.m
M clang/test/AST/attr-swift_bridged_typedef.m
M clang/test/AST/attr-swift_bridged_typedef.mm
M clang/test/AST/auto-pragma.cpp
M clang/test/AST/category-attribute.m
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/AST/coroutine-co_yield-source-range.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/AST/coroutine-source-location-crash.cpp
M clang/test/AST/deduction-guides.cpp
M clang/test/AST/foreachtemplatized.mm
M clang/test/AST/loop-recovery.cpp
M clang/test/AST/multistep-explicit-cast.c
M clang/test/AST/multistep-explicit-cast.cpp
M clang/test/AST/pr43983.cpp
M clang/test/AST/pr47636.cpp
M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
M clang/test/AST/pragma-multiple-attributes-declspec.cpp
M clang/test/AST/pragma-multiple-attributes.cpp
M clang/test/AST/spurious-regparm.c
M clang/test/AST/template-implicit-vars.cpp
M clang/test/ASTMerge/codegen-exprs/test.c
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-atomics.cpp
M clang/test/Analysis/addrspace-null.c
A clang/test/Analysis/block-in-critical-section.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/gh-issue-89185.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/Analysis/memory-model.cpp
M clang/test/Analysis/new-aligned.cpp
M clang/test/Analysis/osobject-retain-release.cpp
M clang/test/Analysis/ptr-cmp-const-trunc.cl
M clang/test/Analysis/region_store_overflow.c
M clang/test/Analysis/return-value-guaranteed.cpp
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/Analysis/solver-sym-simplification-bool.cpp
M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
M clang/test/Analysis/transparent_union_bug.c
M clang/test/Analysis/trustnonnullchecker_test.m
M clang/test/Analysis/trustnonnullchecker_test.mm
M clang/test/Analysis/undef-call.c
A clang/test/Analysis/unreachable-code-exceptions.cpp
M clang/test/C/drs/dr290.c
M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
M clang/test/CXX/class/class.friend/p7-cxx20.cpp
M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
A clang/test/CXX/dcl/dcl.init/aggr.cpp
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
M clang/test/CXX/except/except.spec/p13.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
M clang/test/CXX/module/module.private.frag/p1.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
A clang/test/CXX/temp/temp.deduct/p7.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
M clang/test/CodeGen/2010-08-10-DbgConstant.c
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
M clang/test/CodeGen/PR32874.c
M clang/test/CodeGen/PR44896.ll
M clang/test/CodeGen/PowerPC/aix_alloca_align.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/ibm128-cast.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.c
M clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
M clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
M clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
M clang/test/CodeGen/PowerPC/vector-compat.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
M clang/test/CodeGen/SystemZ/align-systemz-02.c
M clang/test/CodeGen/SystemZ/builtins-systemz-error2.c
M clang/test/CodeGen/VE/ve-velintrin.c
M clang/test/CodeGen/X86/amx_errors.c
M clang/test/CodeGen/X86/amxcomplex-errors.c
M clang/test/CodeGen/X86/bfloat16.cpp
M clang/test/CodeGen/X86/cmp-avx-builtins-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error-32.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
A clang/test/CodeGen/X86/inline-asm-gcc-regs.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/ms-inline-asm-prefix.c
M clang/test/CodeGen/X86/sm3-error.c
M clang/test/CodeGen/X86/usermsr-builtins-error-32.c
M clang/test/CodeGen/X86/x86-atomic-float.c
M clang/test/CodeGen/X86/x86-atomic-long_double.c
M clang/test/CodeGen/X86/x86-vec-i128.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/X86/x86_64-instrument-functions.c
M clang/test/CodeGen/X86/x86_inlineasm_curly_bracket_escape.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
A clang/test/CodeGen/aarch64-elf-pauthabi.c
A clang/test/CodeGen/aarch64-fmv-dependencies.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-ls64.c
M clang/test/CodeGen/aarch64-matmul.cpp
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-mops.c
M clang/test/CodeGen/aarch64-neon-3v.c
M clang/test/CodeGen/aarch64-neon-fma.c
M clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/aarch64-neon-sha3.c
M clang/test/CodeGen/aarch64-neon-shifts.c
M clang/test/CodeGen/aarch64-neon-sm4-sm3.c
M clang/test/CodeGen/aarch64-neon-vcadd.c
M clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
M clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-soft-float-abi-errors.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/aarch64-sysregs-target.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-tme.cpp
M clang/test/CodeGen/aarch64-type-sizes.c
M clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
M clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/align-global-large.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/arm-byval-align.c
M clang/test/CodeGen/arm-cde-gpr.c
M clang/test/CodeGen/arm-cde-reinterpret.c
M clang/test/CodeGen/arm-cde-vec.c
M clang/test/CodeGen/arm-cde-vfp.c
M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c
M clang/test/CodeGen/arm-mve-intrinsics/idup.c
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/arm-mve-intrinsics/predicates.c
M clang/test/CodeGen/arm-mve-intrinsics/reinterpret.c
M clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
M clang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vabavq.c
M clang/test/CodeGen/arm-mve-intrinsics/vabdq.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vaddv.c
M clang/test/CodeGen/arm-mve-intrinsics/vandq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
M clang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vclz.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt.c
M clang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c
M clang/test/CodeGen/arm-mve-intrinsics/veorq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vld24.c
M clang/test/CodeGen/arm-mve-intrinsics/vldr.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmaxq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminnmq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminq.c
M clang/test/CodeGen/arm-mve-intrinsics/vminvq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmlldav.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovl.c
M clang/test/CodeGen/arm-mve-intrinsics/vmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
M clang/test/CodeGen/arm-mve-intrinsics/vorrq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqmovn.c
M clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrev.c
M clang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
M clang/test/CodeGen/arm-mve-intrinsics/vshlc.c
M clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
M clang/test/CodeGen/arm-neon-vcadd.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-sve-vector-bits-vscale-range.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-vector_type-params-returns.c
M clang/test/CodeGen/arm64-crc32.c
M clang/test/CodeGen/arm64-microsoft-status-reg.cpp
M clang/test/CodeGen/arm64-mte.c
M clang/test/CodeGen/arm64_vcopy.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdup.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/asan-new-pm.ll
M clang/test/CodeGen/asm-label-inline-builtins.c
M clang/test/CodeGen/attr-alwaysinline.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
M clang/test/CodeGen/attr-btf_tag-typedef.c
M clang/test/CodeGen/attr-btf_type_tag-func-ptr.c
M clang/test/CodeGen/attr-btf_type_tag-func.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/attr-btf_type_tag-var.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/attr-mustprogress.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-nomerge.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-nouwtable.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/blocks-windows.c
M clang/test/CodeGen/bpf-preserve-static-offset-arr.c
M clang/test/CodeGen/bpf-preserve-static-offset-bitfield.c
M clang/test/CodeGen/bpf-preserve-static-offset-lvalue.c
M clang/test/CodeGen/bpf-preserve-static-offset-non-bpf.c
M clang/test/CodeGen/bpf-preserve-static-offset-pai.c
M clang/test/CodeGen/builtin-complex.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx-mma.cu
M clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx-ptx50.cu
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx-sm_70.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cf-runtime-abi.c
M clang/test/CodeGen/cfstring-elf-cfbuild-x86_64.c
M clang/test/CodeGen/cfstring-windows.c
M clang/test/CodeGen/cfstring3.c
M clang/test/CodeGen/cmse-clear-arg.c
M clang/test/CodeGen/cmse-clear-return.c
M clang/test/CodeGen/code_align.c
M clang/test/CodeGen/coff-aarch64-type-sizes.c
M clang/test/CodeGen/complex-builtins-2.c
M clang/test/CodeGen/complex-builtins.c
M clang/test/CodeGen/complex-libcalls-2.c
M clang/test/CodeGen/complex-libcalls.c
M clang/test/CodeGen/complex-math-mixed.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/dbg-const-int128.c
M clang/test/CodeGen/debug-info-codeview-heapallocsite.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-gline-tables-only.c
M clang/test/CodeGen/debug-info-gline-tables-only2.c
M clang/test/CodeGen/debug-info-line.c
M clang/test/CodeGen/debug-info-line3.c
M clang/test/CodeGen/debug-info-macro.c
M clang/test/CodeGen/debug-info-pseudo-probe.cpp
M clang/test/CodeGen/debug-info-variables.c
M clang/test/CodeGen/debug-label.c
M clang/test/CodeGen/debug-nvptx.c
M clang/test/CodeGen/debug-prefix-map.cpp
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/dominating-store-infinite-cycle.c
M clang/test/CodeGen/enum-bool.cpp
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/ffp-contract-option.c
M clang/test/CodeGen/ffp-model.c
M clang/test/CodeGen/fp-matrix-pragma.c
M clang/test/CodeGen/fread-inline-builtin-late-redecl.c
A clang/test/CodeGen/fseparate-named-sections.c
M clang/test/CodeGen/gh64876.cpp
M clang/test/CodeGen/hwasan-new-pm.c
M clang/test/CodeGen/inline-asm-mixed-style.c
M clang/test/CodeGen/inline-builtin-comdat.c
M clang/test/CodeGen/instrument-functions.c
M clang/test/CodeGen/instrument-objc-method.m
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/kmsan-param-retval.c
M clang/test/CodeGen/libcall-declarations.c
M clang/test/CodeGen/libcalls-fno-builtin.c
M clang/test/CodeGen/lifetime2.c
M clang/test/CodeGen/lifetime3.cpp
M clang/test/CodeGen/lineno-dbginfo.c
A clang/test/CodeGen/linking-bitcode-postopt.cpp
M clang/test/CodeGen/loop-unroll.c
M clang/test/CodeGen/loop-vectorize.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/mcount-aix.c
M clang/test/CodeGen/mdefault-visibility-export-mapping.c
M clang/test/CodeGen/memcmp-inline-builtin-to-asm.c
M clang/test/CodeGen/memcpy-inline-builtin-mutliple-decl.c
M clang/test/CodeGen/memcpy-inline-builtin-no-extern.c
M clang/test/CodeGen/memcpy-inline-builtin.c
M clang/test/CodeGen/memcpy-no-nobuiltin-if-not-emitted.cpp
M clang/test/CodeGen/memcpy-nobuiltin.c
M clang/test/CodeGen/mips-byval-arg.c
M clang/test/CodeGen/mips-transparent-union.c
M clang/test/CodeGen/mips-unsigned-ext-var.c
M clang/test/CodeGen/mips-unsigned-extend.c
M clang/test/CodeGen/mips-vector-arg.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/mips64-class-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/msvc_pragma_alloc_text.cpp
M clang/test/CodeGen/named_reg_global.c
M clang/test/CodeGen/no-builtin.cpp
M clang/test/CodeGen/no-junk-ftrunc.c
M clang/test/CodeGen/noexceptionsfpmath.c
M clang/test/CodeGen/nousejumptable.c
M clang/test/CodeGen/nullptr-arithmetic.c
M clang/test/CodeGen/nullptr.c
M clang/test/CodeGen/nvptx-abi.c
M clang/test/CodeGen/nvptx-cc.c
M clang/test/CodeGen/nvptx-cpus.c
M clang/test/CodeGen/nvptx-inlineasm-ptx.c
M clang/test/CodeGen/nvptx-inlineasm.c
M clang/test/CodeGen/pch-dllexport.cpp
M clang/test/CodeGen/personality.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
M clang/test/CodeGen/rounding-math.c
M clang/test/CodeGen/rounding-math.cpp
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sanitize-metadata.c
M clang/test/CodeGen/sparcv9-abi.c
A clang/test/CodeGen/sparcv9-class-return.cpp
M clang/test/CodeGen/split-debug-filename.c
M clang/test/CodeGen/split-debug-inlining.c
M clang/test/CodeGen/stack-clash-protection.c
M clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/strlen-inline-builtin-redecl.c
M clang/test/CodeGen/struct-matching-constraint.c
M clang/test/CodeGen/struct-union-BE.c
M clang/test/CodeGen/svboolx2_t.cpp
M clang/test/CodeGen/svboolx4_t.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-loop-vectorize-pm.c
M clang/test/CodeGen/tls-maxalign-modflag.c
M clang/test/CodeGen/ubsan-volatile.c
M clang/test/CodeGen/unique-internal-linkage-names.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGen/user-func-gnu-inline-redecl.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/windows-seh-EHa-CppCatchDotDotDot.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCatchReturn.cpp
M clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp
M clang/test/CodeGen/windows-seh-EHa-CppDtors01.cpp
M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
M clang/test/CodeGen/windows-seh-abnormal-exits.c
M clang/test/CodeGen/windows-seh-filter-inFinally.c
A clang/test/CodeGen/x64-microsoft-arguments.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/OmitRTTIComponentABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/thunk-mangling.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vbase-offset.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/virtual-function-call.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp
M clang/test/CodeGenCXX/aix-static-init.cpp
M clang/test/CodeGenCXX/annotate-type.cpp
M clang/test/CodeGenCXX/attr-annotate-destructor.cpp
M clang/test/CodeGenCXX/attr-annotate.cpp
M clang/test/CodeGenCXX/attr-annotate2.cpp
M clang/test/CodeGenCXX/attr-mustprogress.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/builtin-bit-cast-no-tbaa.cpp
M clang/test/CodeGenCXX/builtin-bit-cast.cpp
M clang/test/CodeGenCXX/constexpr-late-instantiation.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-array.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-constructors.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-references.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-scalars.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
M clang/test/CodeGenCXX/cxx11-initializer-aggregate.cpp
M clang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp
M clang/test/CodeGenCXX/debug-info-blocks.cpp
M clang/test/CodeGenCXX/debug-info-codeview-heapallocsite.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-cxx1y.cpp
M clang/test/CodeGenCXX/debug-info-determinism.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
M clang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/debug-info-line-if.cpp
M clang/test/CodeGenCXX/debug-info-line.cpp
M clang/test/CodeGenCXX/debug-info-method2.cpp
M clang/test/CodeGenCXX/debug-info-namespace.cpp
M clang/test/CodeGenCXX/debug-info-struct-align.cpp
M clang/test/CodeGenCXX/debug-info-thunk.cpp
M clang/test/CodeGenCXX/destructor-debug-info.cpp
M clang/test/CodeGenCXX/dllexport-alias.cpp
M clang/test/CodeGenCXX/duplicate-mangled-name.cpp
M clang/test/CodeGenCXX/fixed-point-mangle.cpp
M clang/test/CodeGenCXX/funcattrs-global-ctor-dtor.cpp
M clang/test/CodeGenCXX/header-unit-friend-within-class-linkage.cpp
M clang/test/CodeGenCXX/header-unit-member-func-linkage.cpp
M clang/test/CodeGenCXX/instrument-functions.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-alias.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping.cpp
M clang/test/CodeGenCXX/member-alignment.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/module-initializer-guard-elision.cpp
M clang/test/CodeGenCXX/module-initializer-header.cppm
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/module-intializer.cpp
M clang/test/CodeGenCXX/msabi-blocks.cpp
M clang/test/CodeGenCXX/partial-init.cpp
M clang/test/CodeGenCXX/partitions.cpp
M clang/test/CodeGenCXX/personality.cpp
M clang/test/CodeGenCXX/poly-unsigned.cpp
M clang/test/CodeGenCXX/pr29160.cpp
M clang/test/CodeGenCXX/static-init-4.cpp
M clang/test/CodeGenCXX/static-init-inline-variable.cpp
M clang/test/CodeGenCXX/static-init-variable-template.cpp
M clang/test/CodeGenCXX/this-nonnull.cpp
M clang/test/CodeGenCXX/tls-init-funcs.cpp
M clang/test/CodeGenCXX/tmp-md-nodes1.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/ubsan-new-checks.cpp
M clang/test/CodeGenCXX/union-dtor.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/CodeGenCXX/windows-on-arm-stack-probe-size.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59221.cpp
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
A clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/disable_opt.hlsl
M clang/test/CodeGenHLSL/validator_version.hlsl
M clang/test/CodeGenObjC/attr-used-on-method.m
M clang/test/CodeGenObjC/debug-info-impl.m
M clang/test/CodeGenObjC/debug-info-property-class-extension.m
M clang/test/CodeGenObjC/debug-info-property-class-instance-same-name.m
M clang/test/CodeGenObjC/debug-info-property3.m
M clang/test/CodeGenObjC/dllstorage.m
M clang/test/CodeGenObjC/externally-retained.m
M clang/test/CodeGenObjC/gnu-init.m
M clang/test/CodeGenObjC/gnu-method-only-once.m
M clang/test/CodeGenObjC/gnu-nil-receiver.m
M clang/test/CodeGenObjC/gnustep2-category-protocol.m
M clang/test/CodeGenObjC/gnustep2-category.m
M clang/test/CodeGenObjC/gnustep2-class.m
M clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjC/gnustep2-ivar-offset.m
M clang/test/CodeGenObjC/gnustep2-nontrivial-destructor-argument.mm
M clang/test/CodeGenObjC/gnustep2-proto.m
M clang/test/CodeGenObjC/ivar-type-encoding.m
M clang/test/CodeGenObjC/null-check-bool-ret.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjC/stret-lifetime.m
M clang/test/CodeGenObjC/unqual-copy-restore.m
M clang/test/CodeGenObjCXX/msabi-stret.mm
M clang/test/CodeGenObjCXX/personality.mm
M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
M clang/test/CodeGenOpenCL/amdgcn-large-globals.cl
M clang/test/CodeGenOpenCL/amdgcn-non-temporal-store.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-calling-conv.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-ci.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err-clamp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-flat-address-space.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-interp.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-r600.cl
M clang/test/CodeGenOpenCL/numbered-address-space.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/functionptr-addrspace.cpp
M clang/test/CoverageMapping/pr32679.cpp
A clang/test/Driver/aarch64-fmv.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-features.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_fcgl.hlsl
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/frelaxed-template-template-args.cpp
A clang/test/Driver/fseparate-named-sections.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/plugin-driver-args.cpp
A clang/test/Driver/std-trigraph-override.c
M clang/test/Driver/std.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/x86-target-features.c
M clang/test/FixIt/dereference-addressof.c
A clang/test/FixIt/fixit-c++2a-tls.cpp
M clang/test/FixIt/fixit-c++2a.cpp
M clang/test/FixIt/fixit-format-darwin.m
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/fixit-format-ios.m
M clang/test/FixIt/fixit-include.c
M clang/test/FixIt/fixit-unused-lambda-capture.cpp
M clang/test/FixIt/objc-literals.m
M clang/test/FixIt/typo-location-bugs.cpp
M clang/test/FixIt/typo-using.cpp
M clang/test/FixIt/typo.c
M clang/test/FixIt/typo.cpp
M clang/test/FixIt/typo.m
M clang/test/Frontend/fixed_point_add.c
M clang/test/Frontend/fixed_point_add_const.c
M clang/test/Frontend/fixed_point_comparisons.c
M clang/test/Frontend/fixed_point_compound.c
M clang/test/Frontend/fixed_point_conversions.c
M clang/test/Frontend/fixed_point_conversions_const.c
M clang/test/Frontend/fixed_point_conversions_half.c
M clang/test/Frontend/fixed_point_div.c
M clang/test/Frontend/fixed_point_div_const.c
M clang/test/Frontend/fixed_point_mul.c
M clang/test/Frontend/fixed_point_mul_const.c
M clang/test/Frontend/fixed_point_same_fbits.c
M clang/test/Frontend/fixed_point_shift.c
M clang/test/Frontend/fixed_point_shift_const.c
M clang/test/Frontend/fixed_point_sub.c
M clang/test/Frontend/fixed_point_sub_const.c
M clang/test/Frontend/fixed_point_to_bool.c
M clang/test/Frontend/fixed_point_unary.c
M clang/test/Frontend/gnu-inline.c
M clang/test/Frontend/hexagon-target-basic.c
M clang/test/Frontend/invalid-cxx-abi.cpp
M clang/test/Frontend/llvmplugins.c
A clang/test/Frontend/multiple-actions.c
M clang/test/Frontend/objc-bool-is-bool.m
M clang/test/Frontend/output-paths.c
M clang/test/Frontend/valid-cxx-abi.cpp
M clang/test/Headers/arm-acle-header.c
M clang/test/Headers/ms-arm64-intrin.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/test/Interpreter/const.cpp
M clang/test/Layout/aix-power-alignment-typedef-2.cpp
M clang/test/Layout/aix-type-align-and-pack-attr.cpp
M clang/test/Layout/ms-aligned-array.c
M clang/test/Layout/ms-vtordisp-local.cpp
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Layout/ms-x86-aligned-tail-padding.cpp
M clang/test/Layout/ms-x86-basic-layout.cpp
M clang/test/Layout/ms-x86-bitfields-vbases.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Layout/ms-x86-empty-layout.c
M clang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
M clang/test/Layout/ms-x86-empty-virtual-base.cpp
M clang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Layout/ms-x86-misalignedarray.cpp
M clang/test/Layout/ms-x86-pack-and-align.cpp
M clang/test/Layout/ms-x86-primary-bases.cpp
M clang/test/Layout/ms-x86-vfvb-alignment.cpp
M clang/test/Layout/ms-x86-vfvb-sharing.cpp
M clang/test/Layout/ms-x86-vtordisp.cpp
M clang/test/Lexer/ms-compatibility.c
M clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Lexer/unicode.c
M clang/test/Lexer/wchar-signedness.c
M clang/test/Misc/backend-optimization-failure-nodbg.cpp
M clang/test/Misc/backend-optimization-failure.cpp
M clang/test/Misc/loop-opt-setup.c
M clang/test/Misc/pragma-attribute-cxx.cpp
M clang/test/Misc/pragma-attribute-objc.m
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Modules/DebugInfo-fmodule-name.c
M clang/test/Modules/cstd.m
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-importing-function-bodies.cppm
M clang/test/Modules/cxx20-include-translation.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
A clang/test/Modules/function-transitive-change.cppm
M clang/test/Modules/getSourceDescriptor-crash.cpp
M clang/test/Modules/implicit-module-no-timestamp.cpp
M clang/test/Modules/language-linkage.cppm
M clang/test/Modules/load-module-with-errors.m
M clang/test/Modules/merge-objc-protocol-visibility.m
M clang/test/Modules/module-init-duplicated-import.cppm
A clang/test/Modules/module-symlink.m
M clang/test/Modules/modules-reduced-bmi.cppm
M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
M clang/test/Modules/no-import-func-body.cppm
A clang/test/Modules/no-transitive-source-location-change.cppm
M clang/test/Modules/odr_using_dependent_name.cppm
M clang/test/Modules/pr58716.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr60693.cppm
M clang/test/Modules/pr60890.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr64091.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/pr72828.cppm
M clang/test/Modules/pr78830.cppm
A clang/test/Modules/pr91105.cppm
M clang/test/Modules/prune-non-affecting-module-map-files-textual.c
M clang/test/Modules/reduced-bmi-generating-codes.cppm
M clang/test/Modules/stress1.cpp
M clang/test/OpenMP/allocate_allocator_ast_print.cpp
M clang/test/OpenMP/allocate_ast_print.cpp
M clang/test/OpenMP/amdgpu_exceptions.cpp
M clang/test/OpenMP/amdgpu_throw.cpp
M clang/test/OpenMP/amdgpu_throw_trap.cpp
M clang/test/OpenMP/amdgpu_try_catch.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_ast_print.cpp
M clang/test/OpenMP/barrier_ast_print.cpp
M clang/test/OpenMP/cancel_ast_print.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/cancellation_point_ast_print.cpp
M clang/test/OpenMP/cancellation_point_codegen.cpp
M clang/test/OpenMP/constexpr_capture.cpp
M clang/test/OpenMP/critical_ast_print.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_ast_print.c
M clang/test/OpenMP/declare_reduction_ast_print.cpp
M clang/test/OpenMP/declare_simd_ast_print.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/declare_variant_mixed_codegen.c
M clang/test/OpenMP/depobj_ast_print.cpp
M clang/test/OpenMP/distribute_ast_print.cpp
M clang/test/OpenMP/distribute_dist_schedule_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_simd_ast_print.cpp
M clang/test/OpenMP/error_ast_print.cpp
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/for_ast_print.cpp
M clang/test/OpenMP/for_ast_print_cxx20.cpp
M clang/test/OpenMP/for_loop_auto.cpp
M clang/test/OpenMP/for_simd_ast_print.cpp
M clang/test/OpenMP/masked_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_ast_print.cpp
M clang/test/OpenMP/masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/master_ast_print.cpp
M clang/test/OpenMP/master_taskloop_ast_print.cpp
M clang/test/OpenMP/master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
M clang/test/OpenMP/nvptx_exceptions.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/nvptx_throw.cpp
M clang/test/OpenMP/nvptx_throw_trap.cpp
M clang/test/OpenMP/nvptx_try_catch.cpp
M clang/test/OpenMP/openmp-read-only-feature.c
M clang/test/OpenMP/openmp_capture_const_var_ast_print.cpp
M clang/test/OpenMP/openmp_offload_codegen.cpp
M clang/test/OpenMP/ordered_ast_print.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_for_ast_print.cpp
M clang/test/OpenMP/parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/parallel_masked_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_master_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
M clang/test/OpenMP/parallel_sections_ast_print.cpp
M clang/test/OpenMP/parallel_sections_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_codegen.cpp
M clang/test/OpenMP/requires_acq_rel_print.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_relaxed_codegen.cpp
M clang/test/OpenMP/requires_relaxed_print.cpp
M clang/test/OpenMP/requires_seq_cst_codegen.cpp
M clang/test/OpenMP/scan_ast_print.cpp
M clang/test/OpenMP/sections_ast_print.cpp
M clang/test/OpenMP/sections_codegen.cpp
M clang/test/OpenMP/simd_ast_print.cpp
M clang/test/OpenMP/single_ast_print.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_data_use_device_ptr_addr_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print.cpp
M clang/test/OpenMP/target_enter_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_exit_data_ast_print.cpp
M clang/test/OpenMP/target_exit_data_ast_print_openmp52.cpp
M clang/test/OpenMP/target_has_device_addr_ast_print.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_is_device_ptr_ast_print.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_parallel_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/target_teams_distribute_simd_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_teams_is_device_ptr_ast_print.cpp
M clang/test/OpenMP/target_update_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_depend_template_call_ast_print.cpp
M clang/test/OpenMP/taskgroup_ast_print.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_ast_print.cpp
M clang/test/OpenMP/taskloop_strict_modifier_ast_print.cpp
M clang/test/OpenMP/taskwait_ast_print.cpp
M clang/test/OpenMP/taskyield_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/OpenMP/teams_distribute_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_ast_print.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
M clang/test/OpenMP/teams_distribute_simd_ast_print.cpp
M clang/test/OpenMP/threadprivate_ast_print.cpp
M clang/test/OpenMP/tile_ast_print.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_messages.cpp
M clang/test/OpenMP/x86_target_exceptions.cpp
M clang/test/OpenMP/x86_target_throw.cpp
M clang/test/OpenMP/x86_target_try_catch.cpp
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/test/PCH/arc.m
M clang/test/PCH/blocks.c
M clang/test/PCH/chain-openmp-threadprivate.cpp
M clang/test/PCH/cxx-alias-decl.cpp
M clang/test/PCH/cxx-for-range.cpp
M clang/test/PCH/cxx-member-init.cpp
M clang/test/PCH/cxx-namespaces.cpp
M clang/test/PCH/cxx-reference.cpp
M clang/test/PCH/cxx1z-init-statement.cpp
M clang/test/PCH/cxx_exprs.cpp
M clang/test/PCH/cxx_paren_init.cpp
M clang/test/PCH/empty-with-headers.c
M clang/test/PCH/fixed-point-literal.c
M clang/test/PCH/local_static.cpp
M clang/test/PCH/ms-if-exists.cpp
M clang/test/PCH/multiple_decls.c
M clang/test/PCH/ocl_types.cl
M clang/test/PCH/rdar10830559.cpp
M clang/test/PCH/stmt-openmp_structured_block-bit.cpp
M clang/test/PCH/stmts.c
M clang/test/PCH/types.c
M clang/test/PCH/uuidof.cpp
M clang/test/Parser/extra-semi.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/print-pragma-microsoft.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Profile/cxx-missing-bodies.cpp
M clang/test/Rewriter/rewrite-super-message.mm
M clang/test/Sema/aarch64-fp16-target.c
M clang/test/Sema/aarch64-neon-target.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve-intrinsics/acle_sve_target.cpp
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/arm-neon-target.c
M clang/test/Sema/attr-alias-elf.c
M clang/test/Sema/attr-availability-swift.c
M clang/test/Sema/attr-self-alias.c
M clang/test/Sema/bpf-attr-preserve-static-offset.c
M clang/test/Sema/builtin-setjmp.c
M clang/test/Sema/builtins-arm64-mte.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/code_align_ast.c
M clang/test/Sema/format-strings-no-fixit.c
M clang/test/Sema/ppc-attr-target-inline.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
M clang/test/Sema/test-wunaligned-access.c
M clang/test/Sema/test-wunaligned-access.cpp
M clang/test/Sema/thread_local.c
M clang/test/Sema/uninit-variables-riscv-vector.c
M clang/test/Sema/uninit-variables-vectors.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/warn-documentation-almost-trailing.c
M clang/test/Sema/warn-strncat-size.c
M clang/test/SemaCUDA/call-kernel-from-kernel.cu
M clang/test/SemaCUDA/constexpr-variables.cu
M clang/test/SemaCUDA/fp16-arg-return.cu
M clang/test/SemaCUDA/qualifiers.cu
M clang/test/SemaCUDA/static-device-var.cu
A clang/test/SemaCXX/PR12361.cpp
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/co_await-ast.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas-capturing.cpp
M clang/test/SemaCXX/cxx1y-generic-lambdas.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx20-lambda-decltype-this.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-ast-print.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/test/SemaCXX/friend3.cpp
M clang/test/SemaCXX/lambda-conversion-op-cc.cpp
M clang/test/SemaCXX/ms_wide_bitfield.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/uninit-variables-conditional.cpp
M clang/test/SemaCXX/uninit-variables.cpp
M clang/test/SemaCXX/warn-redundant-move.cpp
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
A clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_no_16bit.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
R clang/test/SemaHLSL/literal_suffixes.hlsl
R clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaObjC/uninit-variables.m
A clang/test/SemaOpenACC/compute-construct-async-clause.c
A clang/test/SemaOpenACC/compute-construct-async-clause.cpp
A clang/test/SemaOpenACC/compute-construct-attach-clause.c
A clang/test/SemaOpenACC/compute-construct-attach-clause.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/compute-construct-deviceptr-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
M clang/test/SemaOpenCL/as_type.cl
M clang/test/SemaOpenCL/multistep-explicit-cast.cl
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/default-arguments-ast-print.cpp
M clang/test/SemaTemplate/instantiate-friend-function.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/pr47676.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing.cpp
M clang/test/SemaTemplate/temp_arg_enum_printing_more.cpp
M clang/test/SemaTemplate/temp_arg_string_printing.cpp
R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/temp_arg_type.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/template-id-printing.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/VFS/directory.c
M clang/test/VFS/external-names-multi-overlay.c
M clang/test/VFS/fallback.c
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M clang/unittests/AST/Interp/Descriptor.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M clang/unittests/CodeGen/IRMatchers.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
M clang/utils/creduce-clang-crash.py
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/dfsan/release_shadow_space.c
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
M flang/docs/Extensions.md
M flang/docs/HighLevelFIR.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/extensions.cpp
R flang/test/Driver/driver-help-hidden.f90
A flang/test/Driver/print-resource-dir.F90
A flang/test/Driver/w-option.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dispatch.f90
M flang/test/Fir/dummy-scope-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/debug-loc-1.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.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/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.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/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/char_extremum.f03
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/dot_product.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-box.f90
M flang/test/Lower/HLFIR/expr-value.f90
M flang/test/Lower/HLFIR/forall.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-type-conversion.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/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/statement-functions.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/unary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
A flang/test/Lower/HLFIR/where-nonelemental.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_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.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
A flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
A flang/test/Lower/OpenMP/delayed-privatization-character.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/flush.f90
A flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.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-str.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.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-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.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/allocatable-polymorphic.f90
M flang/test/Lower/array-expression.f90
A flang/test/Lower/branching-directive.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/charconvert.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Semantics/OpenMP/do08.f90
A flang/test/Semantics/OpenMP/implicit-dsa.f90
A flang/test/Semantics/OpenMP/parallel-critical-do.f90
A flang/test/Semantics/OpenMP/parallel-sections-do.f90
M flang/test/Semantics/OpenMP/symbol08.f90
A flang/test/Semantics/array-constr-index01.f90
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/cuf02.cuf
M flang/test/Semantics/cuf13.cuf
A flang/test/Semantics/cuf14.cuf
A flang/test/Semantics/cuf15.cuf
M flang/test/Semantics/data01.f90
A flang/test/Semantics/data23.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/equivalence01.f90
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile17.f90
A flang/test/Semantics/pdt03.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/stmt-func01.f90
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
M flang/test/Transforms/tbaa.fir
M flang/tools/bbc/bbc.cpp
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
M libc/hdr/fenv_macros.h
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/fenv-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
A libc/src/__support/CPP/mutex.h
M libc/src/__support/FPUtil/FMA.h
R libc/src/__support/FPUtil/aarch64/FMA.h
R libc/src/__support/FPUtil/gpu/FMA.h
R libc/src/__support/FPUtil/riscv/FMA.h
R libc/src/__support/FPUtil/x86_64/FMA.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
A libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex.h
M libc/src/__support/threads/thread.cpp
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
A libc/src/__support/time/units.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/powf.cpp
M libc/src/stdio/printf_core/parser.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/mutex_test.cpp
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/math/FModTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/strerror_test.cpp
M libclc/generic/lib/math/log_base.h
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/numeric/gcd.bench.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__availability
M libcxx/include/__functional/is_transparent.h
M libcxx/include/__functional/reference_wrapper.h
A libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/is_equality_comparable.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/cwchar
M libcxx/include/functional
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/set
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/ranges.inc
M libcxx/test/CMakeLists.txt
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/libcxx/double_include.gen.py
A libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
M libcxx/test/support/asan_testing.h
M libcxx/test/support/atomic_helpers.h
M libcxx/test/support/constexpr_char_traits.h
M libcxx/test/support/nasty_string.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/generate_feature_test_macro_components.py
M libcxxabi/src/aix_state_tab_eh.inc
M libcxxabi/src/demangle/ItaniumDemangle.h
M lld/COFF/DebugTypes.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/ObjC.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/aarch64-thunk-reuse2.s
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
M lld/test/ELF/linkerscript/orphan-phdrs2.test
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/ELF/mips-eh_frame-pic.s
M lld/test/ELF/mips-got-page-script.s
M lld/test/ELF/ttext-tdata-tbss.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-category-merging-extern-class-minimal.s
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M lld/wasm/InputChunks.cpp
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/qemu-testing.rst
M lldb/examples/python/crashlog.py
M lldb/examples/python/crashlog_scripted_process.py
M lldb/include/lldb/API/SBType.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBType.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/UnwindLLDB.cpp
M lldb/test/API/commands/platform/process/launch/TestPlatformProcessLaunch.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/settings/quoting/TestQuoting.py
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
M lldb/test/API/functionalities/exec/TestExec.py
M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoBreakpointsOneSignal.py
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/test/API/macosx/universal64/TestUniversal64.py
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
M lldb/test/API/tools/lldb-server/TestPtyServer.py
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
A lldb/test/Shell/ExecControl/StepIn/Inputs/aarch64_thunk.cc
A lldb/test/Shell/ExecControl/StepIn/step_through-aarch64-thunk.test
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/Coroutines.rst
A llvm/docs/DirectX/DXContainer.rst
M llvm/docs/DirectXUsage.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/SmallString.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/IndirectCallVisitor.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVStringPool.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/SourceMgr.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/BlockFrequencyInfo.cpp
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.h
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/PseudoSourceValue.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/FuzzMutate/FuzzerCLI.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCSymbolXCOFF.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/ELFAttributeParser.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/RISCVISAUtils.cpp
M llvm/lib/Support/SourceMgr.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.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/AMDGPU/SIModeRegisterDefaults.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMArchitectures.td
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMProcessors.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
Log Message:
-----------
rebase
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/7e36c4d9f736...c8bb94019773
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