LLVM/project c6a561d — clang/lib/Sema SemaTemplateDeduction.cpp, clang/test/SemaTemplate temp_arg_nontype_ref.cpp temp_arg_template_p0522.cpp

[Clang] Fix a regression introduced by #223645. (#227085)

In #223645, I removed a fixme I thought was no longer necessary. But it
was, our test coverage is just patchy.

This just reintroduces it to fix the regression,
I have not investigated whether there was a better solution.

I got the AI to write as much tests as i could think of, however this
revealed regressions introduced in an earlier version of clang, this
weill be fixed separately.

Reported in
https://github.com/llvm/llvm-project/pull/223645#issuecomment-5868853308

Assisted-By: Opus 5.5
DeltaFile
+118-0clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+24-0clang/test/SemaTemplate/temp_arg_nontype_ref.cpp
+10-0clang/lib/Sema/SemaTemplateDeduction.cpp
+152-03 files

LLVM/project 940e035 — clang/lib/CodeGen CGLoopInfo.cpp, clang/test/CodeGenCXX pragma-loop-safety.cpp pragma-loop.cpp

[clang] Also disable scalable vectorisation for vectorize(disable) (#227254)

This ensures that #pragma clang loop vectorize(disable) also disables
scalable vectorisation. Only setting the width to 1 could potentially
enable LoopVectorizer to vectorize with VF = vscale x 1. Especially with
the -scalable-vectorization=preferred option.
DeltaFile
+7-7clang/test/CodeGenCXX/pragma-loop-predicate.cpp
+3-3clang/test/CodeGenCXX/pragma-loop.cpp
+3-2clang/lib/CodeGen/CGLoopInfo.cpp
+2-1clang/test/CodeGenCXX/pragma-loop-safety.cpp
+15-134 files

FreeBSD/doc cf170ce — website/content/en/cgi man.cgi

man.cgi: enable new responsive design

Implement and enable new design for man.cgi, based on c9c518d9db

Reviewed by: ziaee
DeltaFile
+116-75website/content/en/cgi/man.cgi
+116-751 files

LLVM/project 8afd615 — flang/test/Lower do-loop-infinite-body-cycle.f90

[flang][Test] Cover the lowering of loops with a non-terminating body

A previous change leaves such a loop unstructured. Check what that produces:
the cycle survives as a block branching to itself, no fir.do_loop is emitted
for the loop control, and a loop that only needs a block of its own still
gets the structured form with its body in a region.
DeltaFile
+50-28flang/test/Lower/do-loop-infinite-body-cycle.f90
+50-281 files

LLVM/project 1e07368 — flang/lib/Lower Bridge.cpp, flang/test/Lower do-loop-branch-to-loop-header.f90 do_loop_unstructured.f90

[flang] Lower loops whose branching is confined to their body structurally

Such a loop was classified separately by a previous change but still
lowered as unstructured, so its structured form was lost.

Lower it structurally instead, with its body folded into a region that can
hold the branching. The loop keeps its bounds on the op, so it remains
available to whatever transforms or parallelizes it. Only the body is
folded: the loop control statements are emitted as they are for any
structured loop, since a branch from outside may target either of them.

Loops an OpenACC or OpenMP directive owns are lowered the same way, so
they keep their form too.
DeltaFile
+20-134flang/test/Lower/do_loop_unstructured.f90
+119-11flang/lib/Lower/Bridge.cpp
+73-0flang/test/Lower/OpenACC/acc-unstructured-internals.f90
+34-28flang/test/Lower/OpenMP/wsloop-unstructured-cycle.f90
+55-0flang/test/Lower/do-loop-branch-to-loop-header.f90
+50-0flang/test/Lower/OpenMP/metadirective-loop-unstructured.f90
+351-17310 files not shown
+453-24116 files

LLVM/project d498356 — flang/lib/Lower PFTBuilder.cpp, flang/test/Lower do-loop-infinite-body-cycle.f90

[flang] Search every way back to a GO TO when looking for a cycle

A GO TO reaching a label above it closes a cycle, but the way back need not be
a branch: the statement it lands on simply runs on, through the constructs it
meets, until control reaches the GO TO again. Chaining from one GO TO to the
next stopped at the first statement of another kind and missed the cycle,
leaving the body free to run forever inside a region DCE then deleted.

Follow every successor instead, from the GO TO's targets until control returns
to it. An assigned GO TO closes a cycle the same way, and its targets are
already named by its successors.

Two edges are left out of the search. It stays inside the loop body, since
beyond it lies the loop's own iteration edge, which would carry the search back
in and make every branch look cyclic. For the same reason it skips the
iteration edge of any loop nested in that body: a loop reaching its own DO
statement ends on its own control.

The answer is an over-approximation. Some successor leads back, but control

    [3 lines not shown]
DeltaFile
+121-0flang/test/Lower/do-loop-infinite-body-cycle.f90
+65-22flang/lib/Lower/PFTBuilder.cpp
+186-222 files

LLVM/project 60aabe2 — flang/lib/Lower PFTBuilder.cpp, flang/test/Lower pre-fir-tree-branch-into-body.f90 pre-fir-tree-assigned-goto.f90

[flang] Collect ASSIGNed labels before analyzing branches

An assigned GO TO reaches every label ASSIGNed to its variable, wherever the
ASSIGN sits. Branch analysis marked only the labels it had already walked
past, so an ASSIGN written after the GO TO left that target unrecorded. The
successors, and the incoming-branch map built from them, were incomplete for
every reader.

Collect the ASSIGNed labels of a unit before its branches are analyzed. The
recorded successors then name every target, so an assigned GO TO outside a
loop that can enter its body is seen as entering it, and a loop is no longer
reclassified as having self-contained branching when it has not.

With the successors complete, the classification needs no special case for
these statements: a listless GO TO is decided on its targets like any other
branch, rather than being turned away because a label list did not bound
them.
DeltaFile
+47-0flang/test/Lower/pre-fir-tree-assigned-goto.f90
+43-0flang/test/Lower/pre-fir-tree-branch-into-body.f90
+31-7flang/lib/Lower/PFTBuilder.cpp
+121-73 files

LLVM/project 51258c8 —

[AMDGPU] Route no-modifier reg-or-inline AsmParser operands through HwMode predicate (#221989)

Follow-up to #221988: routes the no-modifier reg-or-inline operands through the HwMode-split *_AlignTarget register classes, like #221988 did for the with-modifiers ones, so VGPR-tuple alignment is enforced by the operand's register class on subtargets that require aligned VGPRs. NFC on subtargets that don't require aligned VGPRs.

Co-Authored-By: Claude [noreply at anthropic.com](mailto:noreply at anthropic.com)
DeltaFile
+0-00 files

LLVM/project 09c5910 — llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/test/MC/AMDGPU out-of-range-registers.s misaligned-vgpr-tuples-err.s

[AMDGPU] Route no-modifier reg-or-inline AsmParser operands through HwMode predicate (#221989)

Follow-up to #221988: routes the no-modifier reg-or-inline operands through the HwMode-split *_AlignTarget register classes, like #221988 did for the with-modifiers ones, so VGPR-tuple alignment is enforced by the operand's register class on subtargets that require aligned VGPRs. NFC on subtargets that don't require aligned VGPRs.

Co-Authored-By: Claude [noreply at anthropic.com](mailto:noreply at anthropic.com)
DeltaFile
+53-46llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+7-7llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s
+1-1llvm/test/MC/AMDGPU/out-of-range-registers.s
+61-543 files

LLVM/project d0adadb — llvm/lib/Target/AArch64 AArch64Combine.td

[AArch64][GlobalISel] Reorganise shuffle combines. NFC (#227268)

Other combines had been added between shuffle lowerings, make sure they
are adjacent. Also remove show extra whitespace whilst here.
DeltaFile
+30-30llvm/lib/Target/AArch64/AArch64Combine.td
+30-301 files

LLVM/project b7a03c1 — clang/test/CodeGen/RISCV rvp-intrinsics.c, llvm/test/CodeGen/AMDGPU load-local-i16.ll frem.ll

Rebase

Created using spr 1.3.7
DeltaFile
+42,441-42,426llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+7,527-7,623llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+4,095-8,355clang/test/CodeGen/RISCV/rvp-intrinsics.c
+2,603-2,582llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+1,603-2,088llvm/test/CodeGen/AMDGPU/frem.ll
+1,833-1,839llvm/test/CodeGen/AMDGPU/load-local-i16.ll
+60,102-64,9132,045 files not shown
+147,488-126,7482,051 files

LLVM/project 3c832de — clang/include/clang/CodeGenUtils ClassUtils.h FunctionUtils.h, clang/lib/CodeGenUtils ClassUtils.cpp FunctionUtils.cpp

[CIR][CodeGen][NFC] Retire the CodeGenUtils.h catch-all header

Moves the last helpers out of `CodeGenUtils.h` into `ClassUtils.h`,
`ModuleUtils.h`, `TargetUtils.h` and `FunctionUtils.h` (`checkTargetFeatures`,
since it came from CodeGenFunction.cpp) and deletes the header. Only moves code
already on main, so it can be dropped on its own.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+0-233clang/lib/CodeGenUtils/CodeGenUtils.cpp
+120-0clang/lib/CodeGenUtils/FunctionUtils.cpp
+78-0clang/lib/CodeGenUtils/ClassUtils.cpp
+0-65clang/include/clang/CodeGenUtils/CodeGenUtils.h
+24-2clang/include/clang/CodeGenUtils/FunctionUtils.h
+18-0clang/include/clang/CodeGenUtils/ClassUtils.h
+240-30016 files not shown
+279-31222 files

LLVM/project 4064221 — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen TargetInfo.h TargetInfo.cpp

[CIR][CodeGen][NFC] Share requiresAMDGPUProtectedVisibility

Deduplicates `requiresAMDGPUProtectedVisibility` between CIR and classic CodeGen
into `TargetUtils.h`. The shared version takes a bool for "currently hidden" in
place of the `llvm::GlobalValue` and `cir::VisibilityKind` the two callers
passed.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+3-15clang/lib/CodeGen/Targets/AMDGPU.cpp
+0-14clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
+14-0clang/lib/CodeGenUtils/TargetUtils.cpp
+6-2clang/lib/CIR/CodeGen/TargetInfo.cpp
+6-0clang/include/clang/CodeGenUtils/TargetUtils.h
+0-4clang/lib/CIR/CodeGen/TargetInfo.h
+29-356 files

LLVM/project 55d21fc — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp

[CIR][CodeGen][NFC] Share hasExtraNeonArgument

Deduplicates `hasExtraNeonArgument` between CIR and classic CodeGen into
`TargetUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+2-38clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+3-34clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+25-0clang/lib/CodeGenUtils/TargetUtils.cpp
+6-0clang/include/clang/CodeGenUtils/TargetUtils.h
+36-724 files

LLVM/project c0a3734 — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen/Targets AArch64.cpp

[CIR][CodeGen][NFC] Share the Arm SME inlinability check

Deduplicates `ArmSMEInlinability` and `getArmSMEInlinability` between CIR and
classic CodeGen into a new `TargetUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+18-60clang/lib/CodeGen/Targets/AArch64.cpp
+3-52clang/lib/CIR/CodeGen/Targets/AArch64.cpp
+51-0clang/include/clang/CodeGenUtils/TargetUtils.h
+50-0clang/lib/CodeGenUtils/TargetUtils.cpp
+1-0clang/lib/CodeGenUtils/CMakeLists.txt
+123-1125 files

LLVM/project 44f3062 — clang/include/clang/CodeGenUtils RecordLayoutUtils.h, clang/lib/CIR/CodeGen CIRGenRecordLayoutBuilder.cpp

[CIR][CodeGen][NFC] Share hasOwnStorage

Deduplicates `hasOwnStorage` between CIR and classic CodeGen into
`RecordLayoutUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+4-17clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
+1-16clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
+12-0clang/lib/CodeGenUtils/RecordLayoutUtils.cpp
+5-0clang/include/clang/CodeGenUtils/RecordLayoutUtils.h
+22-334 files

LLVM/project 6364b0f — clang/include/clang/CodeGenUtils RecordLayoutUtils.h, clang/lib/CIR/CodeGen CIRGenRecordLayoutBuilder.cpp

[CIR][CodeGen][NFC] Share the bit-field and vbase layout ABI predicates

Deduplicates `isDiscreteBitFieldABI` and `isOverlappingVBaseABI` between CIR and
classic CodeGen into `RecordLayoutUtils.h`, as free functions taking the
`ASTContext`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+7-24clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
+4-19clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
+12-0clang/include/clang/CodeGenUtils/RecordLayoutUtils.h
+9-0clang/lib/CodeGenUtils/RecordLayoutUtils.cpp
+32-434 files

LLVM/project 92e9dbf — clang/include/clang/CodeGenUtils RecordLayoutUtils.h, clang/lib/CIR/CodeGen TargetInfo.h TargetInfo.cpp

[CIR][CodeGen][NFC] Share isEmptyFieldForLayout and isEmptyRecordForLayout

Deduplicates `isEmptyFieldForLayout` and `isEmptyRecordForLayout` between CIR
and classic CodeGen into a new `RecordLayoutUtils.h`. `ABIInfoImpl.h` and CIR's
`TargetInfo.h` re-export them with using-declarations, so the ~30 unqualified
callers are untouched.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+45-0clang/lib/CodeGenUtils/RecordLayoutUtils.cpp
+0-34clang/lib/CIR/CodeGen/TargetInfo.cpp
+34-0clang/include/clang/CodeGenUtils/RecordLayoutUtils.h
+0-33clang/lib/CodeGen/ABIInfoImpl.cpp
+3-9clang/lib/CodeGen/ABIInfoImpl.h
+3-9clang/lib/CIR/CodeGen/TargetInfo.h
+85-851 files not shown
+86-857 files

LLVM/project d49e68d — clang/include/clang/CodeGenUtils ItaniumCXXABIUtils.h, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR][CodeGen] Share isStandardLibraryRTTIDescriptor

Deduplicates `isStandardLibraryRTTIDescriptor` between CIR and classic CodeGen,
taking the classic implementation. CIR's copy hit `llvm_unreachable("NYI")` on
`WasmExternRef` and `HLSLResource`; neither is reachable in CIR today, so no
test changes.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+3-152clang/lib/CodeGen/ItaniumCXXABI.cpp
+1-150clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+145-0clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
+4-0clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
+153-3024 files

LLVM/project 820d4ea — clang/include/clang/CodeGenUtils ItaniumCXXABIUtils.h, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR][CodeGen][NFC] Share canUseSingleInheritance

Deduplicates `canUseSingleInheritance` between CIR and classic CodeGen into
`ItaniumCXXABIUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+2-30clang/lib/CodeGen/ItaniumCXXABI.cpp
+2-28clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+22-0clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
+5-0clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
+31-584 files

LLVM/project 873e644 — clang/include/clang/CodeGenUtils ItaniumCXXABIUtils.h, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR][CodeGen][NFC] Share the Itanium __vmi_class_type_info flags computation

Deduplicates the `__vmi_class_type_info` and `__base_class_type_info` flags and
`computeVMIClassTypeInfoFlags` between CIR and classic CodeGen into
`ItaniumCXXABIUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+3-79clang/lib/CodeGen/ItaniumCXXABI.cpp
+3-77clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+54-0clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
+21-0clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
+81-1564 files

LLVM/project 6cb4667 — clang/include/clang/CodeGenUtils ItaniumCXXABIUtils.h, clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp

[CIR][CodeGen][NFC] Share the Itanium __pbase_type_info flags and predicates

Deduplicates the `__pbase_type_info` flags, `containsIncompleteClassType` and
`extractPBaseFlags` between CIR and classic CodeGen into `ItaniumCXXABIUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+4-95clang/lib/CodeGen/ItaniumCXXABI.cpp
+6-90clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+52-0clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
+44-3clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
+106-1884 files

LLVM/project d948962 — clang/include/clang/CodeGenUtils EHPersonality.h, clang/lib/CIR/CodeGen CIRGenException.cpp

[CIR][CodeGen] Share the EH personality selection logic

Deduplicates the EH personality selection (`getEHPersonality`,
`getCXXEHPersonality`) between CIR and classic CodeGen, taking the classic
implementation. CIR's copy lacked the z/OS, Wasm and GNUstep-on-CygMing cases;
none are reachable in CIR today, so no test changes.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+4-127clang/lib/CodeGen/CGException.cpp
+131-0clang/lib/CodeGenUtils/EHPersonality.cpp
+2-116clang/lib/CIR/CodeGen/CIRGenException.cpp
+19-0clang/include/clang/CodeGenUtils/EHPersonality.h
+156-2434 files

LLVM/project 2f4859c — clang/include/clang/CodeGenUtils EHPersonality.h, clang/lib/CIR/CodeGen CIRGenCleanup.h CIRGenException.cpp

[CIR][CodeGen][NFC] Extract the EHPersonality struct into CodeGenUtils

Deduplicates the `EHPersonality` struct and its personality constants between
CIR and classic CodeGen into `EHPersonality.h`. The `EHPersonality::get`
factories become `getEHPersonality` overloads, since the shared struct cannot
name either CodeGenModule.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+19-51clang/lib/CodeGen/CGException.cpp
+65-0clang/include/clang/CodeGenUtils/EHPersonality.h
+9-45clang/lib/CIR/CodeGen/CIRGenCleanup.h
+11-43clang/lib/CIR/CodeGen/CIRGenException.cpp
+9-44clang/lib/CodeGen/CGCleanup.h
+49-0clang/lib/CodeGenUtils/EHPersonality.cpp
+162-1835 files not shown
+169-18911 files

LLVM/project 6bccb95 — clang/include/clang/CodeGenUtils ModuleUtils.h, clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR][CodeGen][NFCI] Share the COMDAT and common-linkage predicates

Deduplicates `shouldBeInCOMDAT` and `isVarDeclStrongDefinition` between CIR and
classic CodeGen into `ModuleUtils.h`.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+114-0clang/lib/CodeGenUtils/ModuleUtils.cpp
+4-105clang/lib/CIR/CodeGen/CIRGenModule.cpp
+4-103clang/lib/CodeGen/CodeGenModule.cpp
+32-0clang/include/clang/CodeGenUtils/ModuleUtils.h
+1-0clang/lib/CodeGenUtils/CMakeLists.txt
+155-2085 files

NetBSD/pkgsrc-wip a4156cb — crush Makefile go-modules.mk

crush: Update to 0.97.0

Changelog
New!
a9a257c: feat(mcp): Allow toggle MCPs on/off (#3725) (@BrunoKrugel)
2da6f78: feat(tui): display git branch (#2437) (@Gustave-241021)
564d14e: feat: Claude Channels delivery — session injection, exactly-once routing, reply-back (2/3) (#3346) (@joestump-agent)
62de0de: feat: toggle the sidebar with ctrl+b (#3935) (@andreynering)
Fixed
a98394f: fix(agent): count Anthropic cache-creation tokens (#3841) (@yanyukang2003-ux)
4ab302d: fix(clipboard): stop reporting successful copies as failures (#3952) (@taciturnaxolotl)
00b33e4: fix(cmd): resolve the project data directory in session and stats (#3936) (@devYRPauli)
fded9d7: fix: reload OpenAI OAuth with Catwalk (#3949) (@andrinoff)
1f3827b: fix: reorder migrations (@taciturnaxolotl)
Other stuff
06e50a3: chore: auto-update files (@charmcli)
8b1139b: chore: auto-update files (@charmcli)
7265494: chore: fantasy v0.45.1 (@andreynering)
e3dc6d2: ui: add mouse support to the quit dialogue (@meowgorithm)

    [4 lines not shown]
DeltaFile
+45-39crush/distinfo
+14-12crush/go-modules.mk
+1-1crush/Makefile
+60-523 files

LLVM/project 74cbb5d — clang/include/clang/CodeGenUtils ClassUtils.h FunctionUtils.h, clang/lib/CodeGenUtils ClassUtils.cpp FunctionUtils.cpp

[CIR][CodeGen][NFC] Retire the CodeGenUtils.h catch-all header

Moves the last helpers out of `CodeGenUtils.h` into `ClassUtils.h`,
`ModuleUtils.h`, `TargetUtils.h` and `FunctionUtils.h` (`checkTargetFeatures`,
since it came from CodeGenFunction.cpp) and deletes the header. Only moves code
already on main, so it can be dropped on its own.
DeltaFile
+0-233clang/lib/CodeGenUtils/CodeGenUtils.cpp
+120-0clang/lib/CodeGenUtils/FunctionUtils.cpp
+78-0clang/lib/CodeGenUtils/ClassUtils.cpp
+0-65clang/include/clang/CodeGenUtils/CodeGenUtils.h
+24-2clang/include/clang/CodeGenUtils/FunctionUtils.h
+18-0clang/include/clang/CodeGenUtils/ClassUtils.h
+240-30016 files not shown
+279-31222 files

LLVM/project 12456e3 — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen TargetInfo.h TargetInfo.cpp

[CIR][CodeGen][NFC] Share requiresAMDGPUProtectedVisibility

Deduplicates `requiresAMDGPUProtectedVisibility` between CIR and classic CodeGen
into `TargetUtils.h`. The shared version takes a bool for "currently hidden" in
place of the `llvm::GlobalValue` and `cir::VisibilityKind` the two callers
passed.
DeltaFile
+3-15clang/lib/CodeGen/Targets/AMDGPU.cpp
+0-14clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
+14-0clang/lib/CodeGenUtils/TargetUtils.cpp
+6-2clang/lib/CIR/CodeGen/TargetInfo.cpp
+6-0clang/include/clang/CodeGenUtils/TargetUtils.h
+0-4clang/lib/CIR/CodeGen/TargetInfo.h
+29-356 files

LLVM/project 636a862 — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp

[CIR][CodeGen][NFC] Share hasExtraNeonArgument

Deduplicates `hasExtraNeonArgument` between CIR and classic CodeGen into
`TargetUtils.h`.
DeltaFile
+2-38clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+3-34clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+25-0clang/lib/CodeGenUtils/TargetUtils.cpp
+6-0clang/include/clang/CodeGenUtils/TargetUtils.h
+36-724 files

LLVM/project d1aac33 — clang/include/clang/CodeGenUtils TargetUtils.h, clang/lib/CIR/CodeGen/Targets AArch64.cpp

[CIR][CodeGen][NFC] Share the Arm SME inlinability check

Deduplicates `ArmSMEInlinability` and `getArmSMEInlinability` between CIR and
classic CodeGen into a new `TargetUtils.h`.
DeltaFile
+18-60clang/lib/CodeGen/Targets/AArch64.cpp
+3-52clang/lib/CIR/CodeGen/Targets/AArch64.cpp
+51-0clang/include/clang/CodeGenUtils/TargetUtils.h
+50-0clang/lib/CodeGenUtils/TargetUtils.cpp
+1-0clang/lib/CodeGenUtils/CMakeLists.txt
+123-1125 files