LLVM/project 48397d7 — llvm/test/Transforms/SLPVectorizer/AMDGPU ordered-reduction-coalesced-loads.ll fmul-extract-fadd-chain.ll

update tests
DeltaFile
+0-88llvm/test/Transforms/SLPVectorizer/AMDGPU/fmul-extract-fadd-chain.ll
+16-64llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-coalesced-loads.ll
+16-1522 files

LLVM/project ebfca51 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Transforms/SLPVectorizer/AMDGPU alt-fmul-fadd-cost.ll fma-operand-contract-selection.ll

[AMDGPU] Limit the fmul fusion discount to a matching context type

The fmul is free when its context instruction feeds a fusable fadd or
fsub. A vector fmul priced with a scalar lane as the context inherits
that fusion only when it is emitted lane by lane. On a packed type the
scalar user does not show that the vector fmul feeds a vector fadd, and
products extracted into a scalar fadd chain keep the packed fmul while
the fma is lost.
DeltaFile
+88-0llvm/test/Transforms/SLPVectorizer/AMDGPU/fmul-extract-fadd-chain.ll
+64-16llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-coalesced-loads.ll
+38-37llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-fma-fusion.ll
+36-6llvm/test/Transforms/SLPVectorizer/AMDGPU/fma-operand-contract-selection.ll
+7-11llvm/test/Transforms/SLPVectorizer/AMDGPU/alt-fmul-fadd-cost.ll
+5-2llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+238-721 files not shown
+239-737 files

LLVM/project 43e3e43 — llvm/test/tools/llubi intr_experimental_vector.ll, llvm/tools/llubi/lib Value.h Interpreter.cpp

[llubi] Use the correct poison representation for byte values (#231028)

We always use `ByteValue` to represent `bN poison`.

The test is generated by DeepSeek-V4.1-Flash. Looks like there is no
other bug like this.
DeltaFile
+3-0llvm/test/tools/llubi/intr_experimental_vector.ll
+1-1llvm/tools/llubi/lib/Interpreter.cpp
+1-0llvm/tools/llubi/lib/Value.h
+5-13 files

LLVM/project 007418c — llvm/lib/CodeGen RegAllocGreedy.cpp RegAllocGreedy.h

RegAllocGreedy: Avoid unused block frequency lookups in hint recoloring (#231027)

collectHintInfo looked up the block frequency of every copy, but the
frequencies are only used for the profitability check when the register
would be recolored. Most visited registers are already assigned the
target register, so record the block and look the frequency up only
when it is needed. Also use a SmallDenseSet for the visited set, which
otherwise falls back to a std::set on anything but tiny components.

On a stress test with 4000 critical edges into a block with 4 PHIs,
this roughly halves the time in Greedy.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-4llvm/lib/CodeGen/RegAllocGreedy.h
+3-4llvm/lib/CodeGen/RegAllocGreedy.cpp
+7-82 files

LLVM/project 36263cf — llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoP.td

[RISCV][P-ext] Change RISCVISD::SATI to use [1,bitwidth] for the immediate. (#230377)

This matches the intrinsics and assembly syntax for the instruction.

Assisted-by: Claude
DeltaFile
+15-17llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+7-8llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+22-252 files

LLVM/project 42c2dfb — llvm/lib/CodeGen/SelectionDAG SDNodeInfo.cpp

[SelectionDAG] Verify SDTCisSameNumEltsAs in SDNodeInfo::verifyNode (#230616)

Assisted-by: Claude
DeltaFile
+16-1llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
+16-11 files

LLVM/project c8f1c82 — llvm/test/TableGen AMDGPUTargetDefSubArchSpelling.td AMDGPUTargetDefLDSAllocGranularity.td

AMDGPU: Use TargetSubtarget.td in TargetDef tablegen tests

The -gen-amdgpu-target-def tests only need the subtarget and processor
classes. Include TargetSubtarget.td instead of Target.td, which also
checks that it works standalone, and drop the unneeded dummy Target.

The 14 llvm-tblgen RUN lines each parsed Target.td, which costs 1.29 G
instructions:u (Release+asserts); TargetSubtarget.td costs 0.005 G.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-20llvm/test/TableGen/AMDGPUTargetDefErrors.td
+1-2llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
+1-2llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
+12-243 files

LLVM/project b140a7b — llvm/include/llvm/TargetParser CMakeLists.txt, llvm/lib/Target/AMDGPU R600.td R600TargetParserDef.td

AMDGPU: Use minimal tablegen inputs for TargetParser (#231017)

Avoid parsing the heavyweight AMDGPU.td to generate the TargetParser
inc files. Only include the minimal subtarget information required.

llvm-min-tblgen -gen-amdgpu-target-def (Release+asserts):
wall instructions:u peak RSS .td deps
  AMDGPU.td                    12.16 s  79.49 G         909 MB    76
  AMDGPUTargetParserDef.td      0.01 s   0.056 G          7 MB    10
  R600.td                       0.38 s   1.59 G          92 MB    57
  R600TargetParserDef.td       <0.01 s   0.008 G          6 MB    10

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+13-0llvm/lib/Target/AMDGPU/R600TargetParserDef.td
+13-0llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
+0-4llvm/lib/Target/AMDGPU/R600.td
+2-2utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+2-2llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+2-2llvm/include/llvm/TargetParser/CMakeLists.txt
+32-101 files not shown
+34-107 files

LLVM/project 5764334 — llvm/test/CodeGen/RISCV/GlobalISel/irtranslator calling-conv-half.ll calls.ll, llvm/test/CodeGen/RISCV/GlobalISel/legalizer legalize-div-rv64.mir

RISCV/GlobalISel: Mark unused implicit-def $x1 dead in call lowering (#231023)

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+42-42llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
+42-42llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
+35-35llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
+32-32llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
+24-24llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-half.ll
+22-22llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
+197-19725 files not shown
+377-37631 files

LLVM/project ddb019e — llvm/lib/CodeGen RegAllocGreedy.cpp RegAllocGreedy.h

RegAllocGreedy: Avoid unused block frequency lookups in hint recoloring

collectHintInfo looked up the block frequency of every copy, but the
frequencies are only used for the profitability check when the register
would be recolored. Most visited registers are already assigned the
target register, so record the block and look the frequency up only
when it is needed. Also use a SmallDenseSet for the visited set, which
otherwise falls back to a std::set on anything but tiny components.

On a stress test with 4000 critical edges into a block with 4 PHIs,
this roughly halves the time in Greedy.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-4llvm/lib/CodeGen/RegAllocGreedy.h
+3-4llvm/lib/CodeGen/RegAllocGreedy.cpp
+7-82 files

LLVM/project 5e68ef9 — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor issue87856.ll nocapture-null-pointer-is-valid.ll

Attributor: Use NullPointerIsDefined for null nocapture check (#229333)

Previously this did not try to respect the null_pointer_is_valid attribute.
Query NullPointerIsDefined with the anchor scope, matching the handling
in AANoAlias::isImpliedByIR.

Note: a valid null passed to a capturing callee still gets noalias at the
call site. AANoAliasCallSiteArgument queries IRPosition::value() of the
constant, which has no anchor scope, so null_pointer_is_valid is not
consulted there.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+100-0llvm/test/Transforms/Attributor/nocapture-null-pointer-is-valid.ll
+5-6llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+1-1llvm/test/Transforms/Attributor/issue87856.ll
+106-73 files

LLVM/project 42c2f71 — clang-tools-extra/clang-tidy/utils IncludeSorter.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Don't insert blank line in IncludeInserter (#221428)

Fixes https://github.com/llvm/llvm-project/issues/52859.
DeltaFile
+0-9clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp
+3-4clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.md
+0-2clang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
+7-154 files

LLVM/project 150105e — llvm/test/TableGen AMDGPUTargetDefSubArchSpelling.td AMDGPUTargetDefLDSAllocGranularity.td

AMDGPU: Use TargetSubtarget.td in TargetDef tablegen tests

The -gen-amdgpu-target-def tests only need the subtarget and processor
classes. Include TargetSubtarget.td instead of Target.td, which also
checks that it works standalone, and drop the unneeded dummy Target.

The 14 llvm-tblgen RUN lines each parsed Target.td, which costs 1.29 G
instructions:u (Release+asserts); TargetSubtarget.td costs 0.005 G.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-20llvm/test/TableGen/AMDGPUTargetDefErrors.td
+1-2llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
+1-2llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
+12-243 files

LLVM/project f0e6e71 — llvm/lib/Target/AMDGPU R600Schedule.td R600TargetParserDef.td

Move NullALU and ALU_NULL to R600Schedule.td
DeltaFile
+0-4llvm/lib/Target/AMDGPU/R600TargetParserDef.td
+0-4llvm/lib/Target/AMDGPU/R600.td
+2-0llvm/lib/Target/AMDGPU/R600Schedule.td
+2-83 files

LLVM/project 847aacf — llvm/include/llvm/TargetParser CMakeLists.txt, llvm/lib/Target/AMDGPU AMDGPUTargetParserDef.td R600TargetParserDef.td

AMDGPU: Use minimal tablegen inputs for TargetParser

Avoid parsing the heavyweight AMDGPU.td to generate the TargetParser
inc files. Only include the minimal subtarget information required.

llvm-min-tblgen -gen-amdgpu-target-def (Release+asserts):
                               wall     instructions:u  peak RSS  .td deps
  AMDGPU.td                    12.16 s  79.49 G         909 MB    76
  AMDGPUTargetParserDef.td      0.01 s   0.056 G          7 MB    10
  R600.td                       0.38 s   1.59 G          92 MB    57
  R600TargetParserDef.td       <0.01 s   0.008 G          6 MB    10

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+17-0llvm/lib/Target/AMDGPU/R600TargetParserDef.td
+13-0llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
+2-2utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+2-2llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+2-2llvm/include/llvm/TargetParser/CMakeLists.txt
+36-65 files

LLVM/project d429981 — llvm/include/llvm/Target Target.td TargetSubtarget.td

TableGen: Split subtarget and processor classes out of Target.td (#231016)

Move the subtarget feature, predicate and processor definitions into a 
separate file. In the future this will allow TargetParser tablegen inputs to 
use them without parsing the full target definitions like instructions, 
registers and intrinsics.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+182-0llvm/include/llvm/Target/TargetSubtarget.td
+1-173llvm/include/llvm/Target/Target.td
+183-1732 files

LLVM/project 37c927a — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Add missing Coroutine region successors (#230466)

* A coroutine may be destroyed after its `initial_suspend`. Add an edge
from there to `destroy`
* `suspend` has no edge to `resume`. Add this, too
DeltaFile
+14-13clang/include/clang/CIR/Dialect/IR/CIROps.td
+16-6clang/unittests/CIR/ControlFlowTest.cpp
+14-4clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+44-233 files

LLVM/project a160747 — llvm/include/llvm/Option LibraryOptions.td, llvm/lib/Transforms/Scalar ScalarOptions.td LoopStrengthReduce.cpp

[Option] Add Condition for build-conditional library options (#230898)

A field under `let Condition = AssertsOnly` declares its member, table
row, and parser case under `#if !defined(NDEBUG)`. In other builds, the
command line rejects the option as an unknown argument, and readers must
be guarded like those of a conditional cl::opt. An OptionsStruct's table
rows refer to groups and alias targets by OPT_ enumerator, since an
omitted row shifts the IDs after it.

Port -loop-fusion-verbose-debug and -stress-ivchain, the NDEBUG-only
Scalar options.

Aided by Opus 5.5
DeltaFile
+62-11llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
+17-25llvm/lib/Transforms/Scalar/LoopFuse.cpp
+12-18llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+14-9llvm/unittests/Option/LibraryOptionsTest.cpp
+9-0llvm/include/llvm/Option/LibraryOptions.td
+7-0llvm/lib/Transforms/Scalar/ScalarOptions.td
+121-631 files not shown
+127-637 files

LLVM/project fa18c94 — llvm/test/CodeGen/RISCV/GlobalISel/irtranslator calling-conv-half.ll calls.ll, llvm/test/CodeGen/RISCV/GlobalISel/legalizer legalize-div-rv64.mir

RISCV/GlobalISel: Mark unused implicit-def $x1 dead in call lowering

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+42-42llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
+42-42llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
+35-35llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
+32-32llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
+24-24llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-half.ll
+22-22llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
+197-19725 files not shown
+377-37631 files

LLVM/project 8952b11 — clang/lib/StaticAnalyzer/Checkers/WebKit PtrTypesSemantics.cpp, clang/test/Analysis/Checkers/WebKit nodelete-lazy-initialize.cpp mock-types.h

[WebKit checkers] Treat destruction of a null smart pointer temporary as trivial (#230809)

TrivialFunctionAnalysis treated HashMap<K, Ref<V>>::get as non-trivial
because its miss path, MappedTraits::peek(MappedTraits::emptyValue()),
creates and destroys a temporary Ref<V> constructed from
HashTableEmptyValue. Ref's destructor calls deref(), which may delete,
so any local raw pointer obtained from such a HashMap was reported by
alpha.webkit.UncountedLocalVarsChecker even in otherwise trivial
contexts.

Skip the destructor check of a temporary owning smart pointer when it is
known to hold nullptr: one which is default constructed, constructed
from nullptr or HashTableEmptyValue, copied or moved from such a smart
pointer, or returned by a function whose body is a single return
statement of such a smart pointer (e.g.
HashTraits<Ref<T>>::emptyValue()).

Also treat CXXScalarValueInitExpr (e.g. T() for a scalar T as in
GenericHashTraits<T>::emptyValue()) as trivial.

Authored with Claude Code.
DeltaFile
+60-1clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+54-0clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
+4-4clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+3-0clang/test/Analysis/Checkers/WebKit/mock-types.h
+1-1clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
+122-65 files

LLVM/project 9dd80b7 — clang/test/CodeGen/RISCV rvp-intrinsics.c

[RISCV][P-ext] Re-generate rvp-intrinsics.c. NFC (#230691)

This fixes cases that used RV32 and RV64 instead of the common CHECK.

This also fixes cases where a mix of CHECK and RV32/RV64 were used in
the same function. The script is unable to do this so they must have
been manually written. Manual checks place burden on future editors of
this file since they can't use the script output directly.
DeltaFile
+206-308clang/test/CodeGen/RISCV/rvp-intrinsics.c
+206-3081 files

LLVM/project 9c67f5a — llvm/test/CodeGen/RISCV rv32p.ll rv64p.ll

[RISCV][P-ext] Move scalar mulh intrinsic tests to rv32p.ll and rv64p.ll. NFC (#230716)

These were in a file with simd in its name, but they aren't simd.

Assisted-by: Claude
DeltaFile
+4-96llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+56-0llvm/test/CodeGen/RISCV/rv64p.ll
+54-0llvm/test/CodeGen/RISCV/rv32p.ll
+114-963 files

LLVM/project 9b1e70e — llvm/test/TableGen AMDGPUTargetDefSubArchSpelling.td AMDGPUTargetDefLDSAllocGranularity.td

AMDGPU: Use TargetSubtarget.td in TargetDef tablegen tests

The -gen-amdgpu-target-def tests only need the subtarget and processor
classes. Include TargetSubtarget.td instead of Target.td, which also
checks that it works standalone, and drop the unneeded dummy Target.

The 14 llvm-tblgen RUN lines each parsed Target.td, which costs 1.29 G
instructions:u (Release+asserts); TargetSubtarget.td costs 0.005 G.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-20llvm/test/TableGen/AMDGPUTargetDefErrors.td
+1-2llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
+1-2llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
+12-243 files

LLVM/project da91380 — llvm/include/llvm/TargetParser CMakeLists.txt, llvm/lib/Target/AMDGPU AMDGPUTargetParserDef.td R600TargetParserDef.td

AMDGPU: Use minimal tablegen inputs for TargetParser

Avoid parsing the heavyweight AMDGPU.td to generate the TargetParser
inc files. Only include the minimal subtarget information required.

llvm-min-tblgen -gen-amdgpu-target-def (Release+asserts):
                               wall     instructions:u  peak RSS  .td deps
  AMDGPU.td                    12.16 s  79.49 G         909 MB    76
  AMDGPUTargetParserDef.td      0.01 s   0.056 G          7 MB    10
  R600.td                       0.38 s   1.59 G          92 MB    57
  R600TargetParserDef.td       <0.01 s   0.008 G          6 MB    10

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+17-0llvm/lib/Target/AMDGPU/R600TargetParserDef.td
+13-0llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
+2-2utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+2-2llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+2-2llvm/include/llvm/TargetParser/CMakeLists.txt
+36-65 files

LLVM/project 80c1302 — llvm/include/llvm/Target Target.td TargetSubtarget.td

TableGen: Split subtarget and processor classes out of Target.td

Move the subtarget feature, predicate and processor definitions into
a separate file. In the future this will allow TargetParser tablegen
inputs to use them without parsing the full target definitions like
instructions, registers and intrinsics.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+182-0llvm/include/llvm/Target/TargetSubtarget.td
+1-173llvm/include/llvm/Target/Target.td
+183-1732 files

LLVM/project 57f8109 — clang/include/clang/AST APValue.h

Fix GCC warning by enclosing operand with parentheses. (#230939)

PR #174549 made a change to `APValue.h` which causes GCC to emit a
warning like this:
```
clang/include/clang/AST/APValue.h: In static member function ‘static clang::DynamicAllocLValue clang::DynamicAllocLValue::getFromOpaqueValue(const void*)’:
clang/include/clang/AST/APValue.h:114:54: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
  114 |     V.AllocKind = Combined & (1 << NumAllocKindBits) - 1;
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~^~~
```

From my build with gcc, this shows up around 1200 times in the logfile
for my build. The problem with this is that for distributed builds, this
forces the build of the file where the warning is emitted to be done
locally which causes a bottleneck. This fixes the source of the warning
so that the build of the files which include `APValue.h` can again be
distributed.
DeltaFile
+1-1clang/include/clang/AST/APValue.h
+1-11 files

LLVM/project 738d73e — llvm/test/CodeGen/AMDGPU idot4s.ll idot4-test.ll

[AMDGPU] Extract byte lanes of a split vector from the 32-bit source (#228424)

After a <4 x i8> is split into i16 halves, a byte lane is extended
from an i16 shift of a truncate. Rewrite it on the 32-bit source as an
and of srl or a sign_extend_inreg of srl, which select to a single bit
field extract.

Uniform zero and any extends are left alone, their i16 shift is already
promoted to i32.

Assisted-by: Claude Code Opus 5
DeltaFile
+203-292llvm/test/CodeGen/AMDGPU/v4i8-byte-lane-ext.ll
+141-141llvm/test/CodeGen/AMDGPU/load-global-i8.ll
+108-134llvm/test/CodeGen/AMDGPU/idot4u.ll
+79-87llvm/test/CodeGen/AMDGPU/min.ll
+47-62llvm/test/CodeGen/AMDGPU/idot4-test.ll
+33-48llvm/test/CodeGen/AMDGPU/idot4s.ll
+611-7646 files not shown
+710-80412 files

LLVM/project 99a9b94 — llvm/lib/Target/AMDGPU AMDGPU.td GCNFeatures.td

AMDGPU: Move GCN subtarget features to GCNFeatures.td (#230996)

Move the GCN SubtargetFeature definitions, the FeatureISAVersion lists
and AMDGPUFrontendVisibleFeatures out of AMDGPU.td, so they can be used
without parsing the instruction, register and intrinsic definitions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2,840-0llvm/lib/Target/AMDGPU/GCNFeatures.td
+1-2,832llvm/lib/Target/AMDGPU/AMDGPU.td
+2,841-2,8322 files

LLVM/project caf743f — llvm/lib/Target/AMDGPU R600.td R600Processors.td

AMDGPU: Move R600 subtarget features to R600Features.td (#230997)

Split the R600 SubtargetFeature definitions and
R600FrontendVisibleFeatures out of R600Processors.td, mirroring
GCNFeatures.td.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+80-0llvm/lib/Target/AMDGPU/R600Features.td
+0-73llvm/lib/Target/AMDGPU/R600Processors.td
+1-0llvm/lib/Target/AMDGPU/R600.td
+81-733 files

LLVM/project 6a34d61 — libc/src/stdlib environ_internal.cpp clearenv.h, libc/src/stdlib/linux CMakeLists.txt clearenv.cpp

[libc] Implement clearenv (#230941)

Added the clearenv entrypoint to clear all environment variables.

* Declared clearenv in stdlib.yaml under GNU standards.
* Added EnvironmentManager::clear() to reset managed storage and set
environ to NULL, leaving string buffers intact to prevent use-after-free
for callers holding getenv() results.
* Added the entrypoint for Linux targets and enabled it for full builds
on aarch64, riscv, and x86_64.
* Added integration test covering clearenv, subsequent environment
modifications, idempotence, and pointer retention.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+110-0libc/test/integration/src/stdlib/clearenv_test.cpp
+25-0libc/src/stdlib/linux/clearenv.cpp
+25-0libc/src/stdlib/clearenv.h
+23-1libc/src/stdlib/environ_internal.cpp
+15-0libc/test/integration/src/stdlib/CMakeLists.txt
+12-0libc/src/stdlib/linux/CMakeLists.txt
+210-16 files not shown
+231-112 files