LLVM/project 2688b12llvm/utils/gn/secondary/clang/unittests/Serialization BUILD.gn

[gn build] Port 688b01ad529b
DeltaFile
+1-0llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
+1-01 files

LLVM/project 688b01aclang/include/clang/Serialization ASTWriter.h, clang/lib/Serialization ASTReader.cpp ASTWriter.cpp

[C++20][Modules] Improve namespace look-up performance for modules. (Attempt #2) (#177255)

DeltaFile
+247-0clang/unittests/Serialization/NamespaceLookupTest.cpp
+63-0clang/test/Modules/pr171769.cpp
+47-11clang/lib/Serialization/ASTReader.cpp
+36-5clang/lib/Serialization/ASTWriter.cpp
+10-28clang/lib/Serialization/ASTWriterDecl.cpp
+6-1clang/include/clang/Serialization/ASTWriter.h
+409-451 files not shown
+410-457 files

LLVM/project 9e7398cllvm/lib/Target/AMDGPU GCNSubtarget.h AMDGPU.td

[NFCI][AMDGPU] Remove more redundant code from `GCNSubtarget.h`
DeltaFile
+8-29llvm/lib/Target/AMDGPU/GCNSubtarget.h
+3-4llvm/lib/Target/AMDGPU/AMDGPU.td
+11-332 files

LLVM/project 11b9e5fllvm/lib/Analysis FunctionPropertiesAnalysis.cpp

Remove nomenclature clash in statistic pass with one of the stats (#177267)

Attribute TotalInstructionCount is used, but previously the name of the
stat printed out was "Total"+property, which made it look like
TotalTotalInstruction. Num does not provide such clashes in the
nomenclature.
DeltaFile
+4-6llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
+4-61 files

LLVM/project b857faellvm/lib/Target/AMDGPU GCNSubtarget.h

[NFC][AMDGPU] Remove stale/dangling comments
DeltaFile
+0-19llvm/lib/Target/AMDGPU/GCNSubtarget.h
+0-191 files

LLVM/project 53c237clld/COFF Driver.cpp MinGW.cpp

[lld][COFF] Use `.contains` rather than `.count` for set membership. NFC (#177067)

Also converted a couple of `std::set` to
`llvm::StringSet`/`llvm::SmallSet`.

This matches the usage in the other linker backends.

See #176610
DeltaFile
+8-7lld/COFF/Driver.cpp
+4-3lld/COFF/MinGW.cpp
+3-3lld/COFF/Config.h
+2-2lld/COFF/SymbolTable.cpp
+1-1lld/COFF/Writer.cpp
+18-165 files

LLVM/project 65369ecllvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Set ADA section correctly.
DeltaFile
+8-9llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+12-3llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-2llvm/test/CodeGen/SystemZ/zos_sinit.ll
+1-2llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+23-164 files

LLVM/project 00fecbccross-project-tests/dtlto signal.test archive.test

[DTLTO][NFC] Minor cleanups and improvements to DTLTO tests (#177282)

This change makes small, non-functional improvements to the DTLTO test
suite, including:
- Tightening+Regularizing FileCheck match expressions across tests
- Simplifying `signal.test` using more lit macro features
DeltaFile
+24-20cross-project-tests/dtlto/signal.test
+15-16cross-project-tests/dtlto/archive.test
+9-9cross-project-tests/dtlto/link-archive-thin.test
+8-8cross-project-tests/dtlto/archives-same-module-id.test
+5-3cross-project-tests/dtlto/archives-mixed-lto-modes-test.test
+61-565 files

LLVM/project 9335b6fllvm/lib/Target/AMDGPU AMDGPU.td GCNSubtarget.h

[NFC][AMDGPU] Remove unused `FeatureDisable`
DeltaFile
+0-6llvm/lib/Target/AMDGPU/AMDGPU.td
+0-3llvm/lib/Target/AMDGPU/GCNSubtarget.h
+0-92 files

LLVM/project 138910dllvm/include/llvm/IR Attributes.h, llvm/lib/IR Attributes.cpp

[IR] Support constructing `dead_on_return` without an argument (#177272)

After #171712, `dead_on_return` takes an optional argument indicating
the number of bytes known dead. The existing clang callsite uses the
attribute builder interface directly which supports the optional
argument through `DeadOnReturnInfo`. However, users constructing the
Attribute directly (e.g. `rustc`) were using `Attribute::get` which will
now default to providing a 0 value to the optional argument.

Add the additional method `Attribute::getWithDeadOnReturnInfo` to allow
users which produce explicit `Attribute` values to continue to indicate
`dead_on_return` without an argument.
DeltaFile
+5-0llvm/lib/IR/Attributes.cpp
+2-0llvm/include/llvm/IR/Attributes.h
+7-02 files

LLVM/project 24b8613llvm/lib/Target/M68k M68kCollapseMOVEMPass.cpp, llvm/test/CodeGen/M68k CollapseMOVEM.mir

[M68k] Fix MOVEM collapse pass for 2 instances of same register (#174349)

Add test case for MOVEM collapse opt pass failure and fix pass handling
of 2 appearances of the same register in a MOVEM block.
DeltaFile
+13-0llvm/test/CodeGen/M68k/CollapseMOVEM.mir
+5-0llvm/lib/Target/M68k/M68kCollapseMOVEMPass.cpp
+18-02 files

LLVM/project e81befaclang/cmake/caches VectorEngine.cmake

Remove abuse of OPENMP_STANDALONE_BUILD
DeltaFile
+0-8clang/cmake/caches/VectorEngine.cmake
+0-81 files

LLVM/project 48acfa9openmp/runtime/unittests CMakeLists.txt

Remove standalone gtest handling
DeltaFile
+1-20openmp/runtime/unittests/CMakeLists.txt
+1-201 files

LLVM/project 5bcfe6ecompiler-rt/lib/sanitizer_common/tests sanitizer_procmaps_mac_test.cpp

[Sanitizers] Remove unused variable (#177061)

Must've remained from debugging the test case.

rdar://119958411

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
DeltaFile
+0-1compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
+0-11 files

LLVM/project 44e71feopenmp/cmake OpenMPTesting.cmake

LLVM_RUNTIME_OUTPUT_INTDIR -> LLVM_TOOLS_BINARY_DIR
DeltaFile
+2-2openmp/cmake/OpenMPTesting.cmake
+2-21 files

LLVM/project 4699334llvm/utils/TableGen/Common CodeGenRegisters.cpp

[TableGen] Prefer base class on tied RC sizes

When searching for a matching subclass tablegen behavior is non
deterministic if we have several classes with the same size.
Break the tie by chooisng a class with smaller BaseClassOrder.
DeltaFile
+7-2llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+7-21 files

LLVM/project 688a884clang/unittests/ASTMatchers ASTMatchersNarrowingTest.cpp ASTMatchersNodeTest.cpp

[clang][test] Specify value of `-fopenmp=libomp` for tests. (#177239)

`libomp` is the default value when unconfigured in cmake, but llvm can
be configured to have `libgomp` be the default instead. Explicitly
specify this value so the test does not fail when it assumes libomp is
always the default.

Fix for f369d23ceaa49ffa9e6ef9673851749d66b35b3f (#150580)
DeltaFile
+8-4clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
+4-2clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
+12-62 files

LLVM/project 084916aclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticGroups.td LangOptions.def

[LifetimeSafety] Remove "experimental-" prefix from flags and diagnostics (#176821)

Remove the "experimental-" prefix from lifetime safety diagnostic groups
and command-line options. This enables the analysis in `-Wall`.

We are now in a pretty stable state with no crashes. This change
indicates that lifetime safety analysis is no longer considered
experimental and is now a stable feature. By removing the
"experimental-" prefix, we're signaling to users that this functionality
is ready for use.

- Renamed diagnostic groups from `experimental-lifetime-safety*` to
`lifetime-safety*`
- Updated command-line options from `-fexperimental-lifetime-safety*` to
`-flifetime-safety*` and this is now ON by default.
- Added a check to only enable lifetime safety analysis when relevant
diagnostics are enabled
- Updated test files to use the new flag names
DeltaFile
+27-0clang/docs/ReleaseNotes.rst
+11-1clang/lib/Sema/AnalysisBasedWarnings.cpp
+6-6clang/include/clang/Basic/DiagnosticGroups.td
+3-3clang/include/clang/Options/Options.td
+3-3clang/include/clang/Basic/LangOptions.def
+2-2clang/test/Sema/warn-lifetime-safety.cpp
+52-155 files not shown
+58-2211 files

LLVM/project 5e4f8d7clang/lib/CIR/CodeGen CIRGenBuiltinX86.cpp, clang/test/CIR/CodeGenBuiltins/X86 avx512f-builtins.c avx512vl-builtins.c

[CIR][X86] Add support for shuff32x4/shufi32x4 builtins (#172960)

This implementation is adapted from the existing code for
`X86::BI__builtin_ia32_shuf_i*` and `X86::BI__builtin_ia32_shuf_f*` from
`/llvm-project/clang/lib/CodeGen/TargetBuiltins/X86.cpp`.

It adds support for the following X86 builtins:
- __builtin_ia32_shuf_f32x4
- __builtin_ia32_shuf_f64x2
- __builtin_ia32_shuf_i32x4
- __builtin_ia32_shuf_i64x2
- __builtin_ia32_shuf_f32x4_256
- __builtin_ia32_shuf_f64x2_256
- __builtin_ia32_shuf_i32x4_256
- __builtin_ia32_shuf_i64x2_256

Part of https://github.com/llvm/llvm-project/issues/167765
DeltaFile
+53-0clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
+52-0clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
+28-1clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+133-13 files

LLVM/project 1faa0dallvm/utils/TableGen/Common CodeGenRegisters.cpp

[TableGen] Prefer base class on tied RC sizes

When searching for a matching subclass tablegen behavior is non
deterministic if we have several classes with the same size.
Break the tie by chooisng a class with smaller BaseClassOrder.
DeltaFile
+7-6llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+7-61 files

LLVM/project c3c22c9lldb/test/API/functionalities/ubsan/basic TestUbsanBasic.py

[lldb] Skip TestUbsanBasic (#177263)

The fix for this is being discussed in
https://github.com/llvm/llvm-project/issues/177064. Skip the test for
now to get the bots green.
DeltaFile
+1-0lldb/test/API/functionalities/ubsan/basic/TestUbsanBasic.py
+1-01 files

LLVM/project e2b0cf5openmp CMakeLists.txt

Literal string
DeltaFile
+2-2openmp/CMakeLists.txt
+2-21 files

LLVM/project 643b31aclang/docs ReleaseNotes.rst, clang/lib/Sema SemaStmt.cpp

[clang] Fix lifetime extension of temporaries in for-range-initializers in templates (#177191)

Fixes https://github.com/llvm/llvm-project/issues/165182.

This patch fix the lifetime extension of temporaries in
for-range-initializers in templates. Whether this issue was occurred
when the for-range statement in a dependent context, but itself is not
type/value dependent.

---------

Signed-off-by: Wang, Yihan <yronglin777 at gmail.com>
DeltaFile
+34-0clang/test/CXX/special/class.temporary/p6.cpp
+7-8clang/lib/Sema/SemaStmt.cpp
+2-0clang/docs/ReleaseNotes.rst
+43-83 files

LLVM/project a6e332ellvm/test/CodeGen/RISCV clmul.ll, llvm/test/CodeGen/X86 clmul-vector.ll clmul.ll

Merge branch 'main' into users/meinersbur/openmp_remove-standalone-build
DeltaFile
+12,546-0llvm/test/CodeGen/RISCV/clmul.ll
+6,126-5,116llvm/test/CodeGen/X86/clmul-vector.ll
+4,065-1,302llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
+3,137-2,053mlir/utils/vscode/package-lock.json
+2,373-2,733llvm/test/CodeGen/X86/clmul.ll
+0-4,569llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
+28,247-15,7732,647 files not shown
+152,524-79,5522,653 files

LLVM/project d80ba5ellvm/lib/Target/AArch64 AArch64SchedNeoverseN2.td, llvm/test/tools/llvm-mca/AArch64/Neoverse N2-forwarding.s N2-basic-instructions.s

[AArch64] Model Neoverse N2 late forwarding (#176331)

This patch models late forwarding for N2 as per the [N2
SWOG](https://developer.arm.com/documentation/109914/latest/).
DeltaFile
+1,961-0llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-forwarding.s
+174-54llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
+81-81llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
+18-18llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
+2,234-1534 files

LLVM/project 2692f5ellvm/lib/Target/AMDGPU GCNSubtarget.h AMDGPU.td

[NFCI][AMDGPU] Convert more `SubtargetFeatures` to use `AMDGPUSubtargetFeature` and X-macros (#177256)

Extend the X-macro pattern to eliminate boilerplate for additional
subtarget features.

This reduces ~50 lines of repetitive member declarations and getter
definitions.
DeltaFile
+123-140llvm/lib/Target/AMDGPU/GCNSubtarget.h
+83-146llvm/lib/Target/AMDGPU/AMDGPU.td
+3-3llvm/lib/Target/AMDGPU/R600Subtarget.h
+2-2llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
+1-1llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+212-2925 files

LLVM/project 8eac375clang/test/CodeGenObjC arc-foreach.m arc-unsafeclaim.m, clang/test/CodeGenObjCXX auto-release-result-assert.mm

Revert "[CGObjC] Allow clang.arc.attachedcall on -O0 (#164875)"

This reverts commit 5c29b64fda6a5a66e09378eec9f28a42066a7c6a.

This was causing failures at HEAD on x86-64 Linux.
DeltaFile
+0-231llvm/test/CodeGen/AArch64/call-rv-marker.ll
+89-89clang/test/CodeGenObjC/arc-foreach.m
+5-45clang/test/CodeGenObjC/arc-unsafeclaim.m
+16-16clang/test/CodeGenObjC/os_log.m
+1-22clang/test/CodeGenObjC/arc-arm.m
+6-12clang/test/CodeGenObjCXX/auto-release-result-assert.mm
+117-41510 files not shown
+155-46216 files

LLVM/project b887b52llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer/AArch64 arm64-vcvt.ll arm64-vcvt_n.ll

[msan] Handle aarch64_neon_vcvt* (#177243)

This fills in missing gaps in MSan's AArch64 NEON vector conversion
intrinsic handling (intrinsics named aarch64_neon_vcvt* instead of
aarch64_neon_fcvt*). SVE support sold separately.

It also generalizes handleNEONVectorConvertIntrinsic to handle
conversions to/from fixed-point.
DeltaFile
+39-101llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
+19-58llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_n.ll
+13-38llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
+34-6llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+105-2034 files

LLVM/project 5c29b64clang/test/CodeGenObjC arc-foreach.m arc-unsafeclaim.m, clang/test/CodeGenObjCXX auto-release-result-assert.mm

[CGObjC] Allow clang.arc.attachedcall on -O0 (#164875)

It is supported in GlobalISel there. On X86, we always kick to
SelectionDAG anyway, so there is no point in not doing it for X86 too.

I do not have merge permissions.
DeltaFile
+231-0llvm/test/CodeGen/AArch64/call-rv-marker.ll
+89-89clang/test/CodeGenObjC/arc-foreach.m
+45-5clang/test/CodeGenObjC/arc-unsafeclaim.m
+16-16clang/test/CodeGenObjC/os_log.m
+22-1clang/test/CodeGenObjC/arc-arm.m
+12-6clang/test/CodeGenObjCXX/auto-release-result-assert.mm
+415-11710 files not shown
+462-15516 files

LLVM/project 3beb520llvm/lib/Transforms/Vectorize VPlanUtils.cpp

[VPlan] Support VPWidenPointerInduction in getSCEVExprForVPValue (NFCI)

Support VPWidenPointerInductionRecipe in getSCEVExprForVPValue.

This is used in code paths when computing SCEV expressions in the
VPlan-based cost model, which should produce costs matching the legacy
cost model.
DeltaFile
+12-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+12-01 files