LLVM/project 685a65aclang-tools-extra Maintainers.rst

[clang-tidy] Add zeyi2 as maintainer (#183883)

I've been actively contributing to `clang-tidy` for the past 4 months,
reviewing PRs, [fixing
issues](https://github.com/pulls?q=is%3Apr+author%3Azeyi2+archived%3Afalse+user%3Allvm+is%3Aclosed+label%3Aclang-tidy+sort%3Aupdated-desc),
engaging in discourse discussions and building [new testing
tools](https://github.com/clang-tidy-infra/CTIT). I'm passionate about
and project and would like to volunteer as a maintainer to continue
supporting the project's growth :)
DeltaFile
+3-0clang-tools-extra/Maintainers.rst
+3-01 files

LLVM/project 50e3cc0clang/lib/Sema SemaARM.cpp, clang/test/Sema/AArch64 pcdphint-atomic-store.c

fixup! Ensure Context.getTypeSize() is only called after checking ValType->isIntegerType()
DeltaFile
+6-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+3-2clang/lib/Sema/SemaARM.cpp
+9-22 files

LLVM/project 9264159lldb/unittests/DAP TestBase.cpp TestBase.h

[lldb] Fix the GoogleTest teardown in the DAP unit tests (#184262)

Some of the DAP tests define a static method named `TeatUpTestSuite`
which is calling `SBDebugger::Terminate`. Besides the typo, the correct
method is `TearDownTestSuite`, which GoogleTest calls after running the
last test in the test suite.

When addressing this, I realized that currently you can't really call
Initialize and Terminate multiple times in the same process. This
depends on:

- https://github.com/llvm/llvm-project/pull/184259
- https://github.com/llvm/llvm-project/pull/184261
DeltaFile
+1-1lldb/unittests/DAP/TestBase.cpp
+1-1lldb/unittests/DAP/TestBase.h
+1-1lldb/unittests/DAP/VariablesTest.cpp
+3-33 files

LLVM/project 5b144c0clang/test/CodeGenOpenCL builtins-amdgcn-gfx1250-tensor-load-store.cl, llvm/lib/Target/AMDGPU MIMGInstructions.td SIInstrInfo.cpp

[AMDGPU] Add suffix _d4 to tensor load/store with 4 groups D#, NFC (#184176)

Rename TENSOR_LOAD_TO_LDS to TENSOR_LOAD_TO_LDS_d4;
  Rename TENSOR_STORE_FROM_LDS to TENSOR_STORE_FROM_LDS_d4;
Also rename function names in a couple of tests to reflect this change.
DeltaFile
+10-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
+6-6llvm/lib/Target/AMDGPU/MIMGInstructions.td
+6-6llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+6-6llvm/test/CodeGen/AMDGPU/reg-coalescer-subreg-liveness.mir
+4-4clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
+3-3llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+35-353 files not shown
+42-429 files

LLVM/project d47c8d0llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 pcdphint-atomic-store-diagnostic.ll

fixup! Move tests to llvm/test/Verifier
DeltaFile
+0-54llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll
+47-0llvm/test/Verifier/intrinsic-immarg.ll
+0-32llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+47-863 files

LLVM/project 06e352bclang/lib/Sema SemaARM.cpp, llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64ExpandPseudoInsts.cpp

fixup! Small fixes Kerry has suggested
DeltaFile
+112-40llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+7-11clang/lib/Sema/SemaARM.cpp
+7-9llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-1llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+127-614 files

LLVM/project 62fe6f6clang/lib/Sema SemaARM.cpp, llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64InstrFormats.td

fixup! Address more helpful review comments from Kerry
DeltaFile
+160-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+4-4llvm/lib/Target/AArch64/AArch64InstrInfo.td
+0-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+1-4clang/lib/Sema/SemaARM.cpp
+165-134 files

LLVM/project 95d2e67clang/test/CodeGen arm_acle.c builtins-arm64.c, clang/test/Sema/AArch64 pcdphint-atomic-store.c

fixup! Fix more PR comments
DeltaFile
+19-9clang/test/Sema/AArch64/pcdphint-atomic-store.c
+8-6llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+10-0clang/test/CodeGen/arm_acle.c
+0-9llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+5-0clang/test/CodeGen/builtins-arm64.c
+0-4llvm/include/llvm/IR/IntrinsicsAArch64.td
+42-282 files not shown
+44-328 files

LLVM/project 7e0c35fclang/lib/CodeGen/TargetBuiltins ARM.cpp, llvm/lib/IR Verifier.cpp

fixup! More small optimisations Kerry spotted
DeltaFile
+7-12clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+2-3llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+1-2llvm/lib/IR/Verifier.cpp
+10-173 files

LLVM/project 6606f14clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Headers arm_acle.h

fixup! Address Carol's comments and fix git clang-format issues
DeltaFile
+27-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll
+20-0llvm/lib/IR/Verifier.cpp
+12-6clang/lib/Sema/SemaARM.cpp
+0-11clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+4-2clang/lib/Headers/arm_acle.h
+2-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+65-236 files

LLVM/project 37b40b9clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Headers arm_acle.h

fixup! More small fixes
DeltaFile
+15-37clang/lib/Sema/SemaARM.cpp
+11-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+5-3clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+2-2clang/lib/Headers/arm_acle.h
+0-1clang/test/CodeGen/arm_acle.c
+33-435 files

LLVM/project 5313224clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Sema SemaARM.cpp

fixup! Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`

Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`
and use tablegen pattern for intrinsic, plus other small review changes.
DeltaFile
+47-75llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+69-32llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+42-47clang/lib/Sema/SemaARM.cpp
+21-12llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+10-12llvm/lib/Target/AArch64/AArch64InstrInfo.td
+17-5clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+206-1835 files not shown
+220-19211 files

LLVM/project f7f4f88llvm/test/CodeGen/AArch64 pcdphint-atomic-store.ll

fixup! Sort out testcases
DeltaFile
+54-102llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+54-1021 files

LLVM/project 68bcea8clang/lib/CodeGen/TargetBuiltins ARM.cpp, llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64ExpandPseudoInsts.cpp

fixup! Fixes for Caroline
DeltaFile
+27-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll
+1-12llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-2llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+0-3clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+30-174 files

LLVM/project 98360dcllvm/lib/Target/AArch64 AArch64ISelLowering.cpp

fixup! Fix tests
DeltaFile
+2-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-01 files

LLVM/project 90a29b8llvm/include/llvm/IR IntrinsicsAArch64.td, llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! remove mayLoad/mayStore as suggested by Kerry
DeltaFile
+0-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+1-1llvm/include/llvm/IR/IntrinsicsAArch64.td
+1-62 files

LLVM/project 8ec6f20clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/test/CodeGen/AArch64 pcdphint-atomic-store.c

fixup! Ensure stshh always immediately precedes a store instruction
DeltaFile
+82-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+50-13clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+62-0llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+20-26clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+15-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+8-3llvm/lib/Target/AArch64/AArch64InstrFormats.td
+237-423 files not shown
+248-499 files

LLVM/project abe9be7clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Improve error diagnostics, and other cleanups
DeltaFile
+12-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+4-2clang/lib/Sema/SemaARM.cpp
+2-1clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+1-1clang/test/Sema/AArch64/pcdphint-atomic-store.c
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+2-0clang/lib/Headers/arm_acle.h
+22-56 files

LLVM/project 187a6fdclang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/test/Sema/AArch64 pcdphint-atomic-store.c

fixup!

A few small tidyups
DeltaFile
+7-6clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+4-4llvm/lib/Target/AArch64/AArch64InstrFormats.td
+4-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+15-103 files

LLVM/project da20c4fclang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Sema SemaARM.cpp

[AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin

Add `__arm_atomic_store_with_stshh` implementation as defined
in the ACLE. Validate that the arguments passed are correct, and
lower it to the stshh intrinsic plus an atomic store with the
allowed orderings.

Gate this on FEAT_PCDPHINT so that availability matches
hardware support for the `STSHH` instruction. Use an i64
immediate and side-effect modeling to satisfy tablegen and decoding.
DeltaFile
+140-0clang/lib/Sema/SemaARM.cpp
+48-0clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+31-0clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+29-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+13-0llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+10-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+271-25 files not shown
+298-211 files

LLVM/project f1b2d2cclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Fix Kerry's CR comments and add negative test for "must be an integer type"
DeltaFile
+16-6llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+3-7clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+3-3clang/lib/Sema/SemaARM.cpp
+5-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+3-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/lib/Headers/arm_acle.h
+31-176 files

LLVM/project 9abef46clang/include/clang/Basic BuiltinsAArch64.def, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup!

More small issues tidied, and remove gating.
DeltaFile
+6-2clang/test/Sema/AArch64/pcdphint-atomic-store.c
+2-2clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+0-2clang/lib/Headers/arm_acle.h
+1-1clang/lib/Sema/SemaARM.cpp
+1-1clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+1-1clang/include/clang/Basic/BuiltinsAArch64.def
+11-96 files

LLVM/project 284ecb4clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Fix issues Kerry raised in PR
DeltaFile
+10-23clang/lib/Sema/SemaARM.cpp
+16-11clang/test/Sema/AArch64/pcdphint-atomic-store.c
+5-12clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+1-5clang/include/clang/Basic/DiagnosticSemaKinds.td
+32-514 files

LLVM/project 1953b87clang/include/clang/CIR MissingFeatures.h, clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h

[CIR][CodeGen] Upstream support for `__builtin_isinf_sign` (#183977)

This adds CIR codegen and lowering support for `__builtin_isinf_sign`.
DeltaFile
+39-0clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
+29-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+24-1clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+17-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+5-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+1-0clang/include/clang/CIR/MissingFeatures.h
+115-16 files

LLVM/project 89a4bcfclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Split cir.binop into separate per-operation binary ops (#184227)

Replace the single `cir.binop` operation (dispatched via a `BinOpKind`
enum) with nine distinct ops — `cir.add`, `cir.sub`, `cir.mul`,
`cir.div`, `cir.rem`, `cir.and`, `cir.or`, `cir.xor`, and `cir.max` —
each with precise type constraints and only the attributes it needs
(nsw/nuw/sat on add/sub via `BinaryOverflowOp`).

A new `BinaryOpInterface` provides uniform `getLhs`/`getRhs`/`getResult`
access for passes and analyses.

The monolithic switch-based CIRToLLVMBinOpLowering is replaced by per-op
patterns generated through the existing CIRLowering.inc TableGen
infrastructure, with shared dispatch factored into two helpers:
`lowerSaturatableArithOp` for add/sub and `lowerIntFPBinaryOp` for
div/rem.
DeltaFile
+491-491clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
+242-56clang/include/clang/CIR/Dialect/IR/CIROps.td
+124-124clang/test/CIR/CodeGen/complex-mul-div.cpp
+129-106clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+92-92clang/test/CIR/CodeGenBuiltins/X86/sse41-builtins.c
+73-73clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
+1,151-942103 files not shown
+2,353-2,106109 files

LLVM/project c4ea6cclldb/source/Plugins/Process/MacOSX-Kernel ProcessKDP.cpp, lldb/source/Plugins/Process/mach-core ProcessMachCore.cpp

[lldb] Remove call_once wrappers around PluginManager::RegisterPlugin (#184273)

Remove call_once wrappers around PluginManager::RegisterPlugin. Plugins
can be registered and unregistered in Initialize and Terminate
respectively. In its current state, after having called Terminate, a
plugin can never be re-initialized.
DeltaFile
+4-11lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
+5-10lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+3-11lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
+3-10lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
+3-8lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
+3-7lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
+21-577 files not shown
+38-10613 files

LLVM/project 6b5c55elldb/source/Core Debugger.cpp

[lldb] Fix 10 year old leak of `g_debugger_list_ptr` (#184259)

Roughly 10 years ago, in aacb80853a46bd544fa76a945667302be1de706c, Greg
deleted the call to delete g_debugger_list_ptr because of a race
condition:

> Fixed a threading race condition where we could crash after calling
Debugger::Terminate().
> 
> The issue was we have two global variables: one that contains a
DebuggerList pointer and one that contains a std::mutex > pointer. These
get initialized in Debugger::Initialize(), and everywhere that uses
these does:
> 
> if (g_debugger_list_ptr && g_debugger_list_mutex_ptr)
> {
> std::lock_guard<std::recursive_mutex>
guard(*g_debugger_list_mutex_ptr);
>     // do work while mutex is locked

    [17 lines not shown]
DeltaFile
+83-85lldb/source/Core/Debugger.cpp
+83-851 files

LLVM/project fe76fd2llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

[AMDGPU][SIInsertWaitcnts][NFC] Call applyWaitcnt() in a loop (#184426)

DeltaFile
+2-10llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+2-101 files

LLVM/project 3c1d009llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Just use `vputils::onlyFirstLaneUsed`
DeltaFile
+1-7llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-71 files

LLVM/project 80554adclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/clang-doc/assets/md namespace-template.mustache

resolve conflicts and update CDCtx data structure
DeltaFile
+25-27clang-tools-extra/clang-doc/JSONGenerator.cpp
+12-10clang-tools-extra/test/clang-doc/namespace.cpp
+4-10clang-tools-extra/test/clang-doc/enum.cpp
+5-5clang-tools-extra/test/clang-doc/templates.cpp
+4-4clang-tools-extra/test/clang-doc/basic-project.mustache.test
+1-1clang-tools-extra/clang-doc/assets/md/namespace-template.mustache
+51-571 files not shown
+52-587 files