LLVM/project e49aac8llvm/include/llvm/ADT GenericCycleImpl.h GenericCycleInfo.h, llvm/test/Analysis/CycleInfo basic.ll

[CycleInfo] Identify cycles with a single-pass DFS algorithm (#210491)

Replace the Havlak-Tarjan construction in GenericCycleInfoCompute, a DFS
followed by a reverse-preorder scan, with the single-pass algorithm of
Wei, Mao, Zou and Chen, "A New Algorithm for Identifying Loops in
Decompilation" (SAS 2007). One depth-first traversal tags every block
with its innermost loop header on the fly; tagLoopHeader weaves the
per-block header chains, replacing UNION-FIND.

The flat forest is reconstructed from the tags, dropping the temporary
cycle objects and the per-block worklist passes. An edge re-entering an
already-closed cycle records non-header entries, so entries need no
predecessor scan.

The cycle sets, headers, reducibility and nesting are identical for the
given DFS order, cross-checked against the old construction on random
reducible and irreducible CFGs. Two implementation-defined orders change
(with minor test churn): sibling cycles are laid out in decreasing
header preorder, and non-header entries in block preorder.

    [6 lines not shown]
DeltaFile
+219-253llvm/include/llvm/ADT/GenericCycleImpl.h
+11-25llvm/include/llvm/ADT/GenericCycleInfo.h
+3-3llvm/test/CodeGen/X86/cycle-info.mir
+1-1llvm/test/Analysis/CycleInfo/basic.ll
+234-2824 files

LLVM/project 404d4daflang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Semantics openmp-utils.cpp

Revert "Redo [flang][OpenMP] Implement collapse for imperfectly nested loops" (#210861)

Reverts llvm/llvm-project#208528
Revert with #210753  pending llvm-test-suite fix.
DeltaFile
+0-648flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
+4-216flang/lib/Lower/OpenMP/OpenMP.cpp
+0-148flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
+5-122flang/test/Semantics/OpenMP/do22.f90
+3-84flang/lib/Semantics/openmp-utils.cpp
+0-50flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
+12-1,26817 files not shown
+71-1,46423 files

LLVM/project c9237cbflang/test/Semantics/OpenMP metadirective-loop-nest.f90

Revert "[flang][OpenMP] Fix new metadirective-loop-nest.f90 test expectation with collapse changes in #208528" (#210860)

Reverts llvm/llvm-project#210753
Revert with #208528 pending llvm-test-suite fix.
DeltaFile
+1-1flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+1-11 files

LLVM/project 7a470a9flang/test/Lower pointer-assignments.f90 call-copy-in-out.f90

[flang][NFC] Remove downstream issue references (#210858)
DeltaFile
+26-26flang/test/Lower/pointer-assignments.f90
+4-4flang/test/Lower/call-copy-in-out.f90
+3-4flang/test/Lower/statement-function.f90
+3-3flang/test/Lower/host-associated.f90
+2-2flang/test/Lower/variable-inquiries.f90
+2-2flang/test/Lower/components.f90
+40-412 files not shown
+40-438 files

LLVM/project aa53970flang/test/Semantics/OpenMP metadirective-loop-nest.f90

Revert "[flang][OpenMP] Fix new metadirective-loop-nest.f90 test expectation …"

This reverts commit cfddcac22dabf01901424b746c94d3b6c9bddc4a.
DeltaFile
+1-1flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+1-11 files

LLVM/project 0e69549clang/include/clang/Basic DiagnosticFrontendKinds.td Attr.td, clang/lib/CodeGen CodeGenModule.cpp CodeGenModule.h

[Clang][AIX] Move -mloadtime-comment-vars validation to Sema. Add Release notes.
DeltaFile
+7-116clang/lib/CodeGen/CodeGenModule.cpp
+75-0clang/lib/Sema/SemaDecl.cpp
+0-40clang/lib/CodeGen/CodeGenModule.h
+0-17clang/include/clang/Basic/DiagnosticFrontendKinds.td
+11-2clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+10-0clang/include/clang/Basic/Attr.td
+103-1757 files not shown
+126-18213 files

LLVM/project bad025cclang/lib/CodeGen CodeGenModule.cpp

nit: CodeGenModule.cpp new line deletion
DeltaFile
+0-1clang/lib/CodeGen/CodeGenModule.cpp
+0-11 files

LLVM/project 282b91cclang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.cpp CodeGenModule.h

[Clang][AIX] Switch -mloadtime-comment-vars name matching to mangled IR names

Replace source-qualified name matching in matchesLoadTimeCommentVarName with
mangled IR symbol name matching via getMangledName(GlobalDecl(VD)).
DeltaFile
+13-40clang/lib/CodeGen/CodeGenModule.cpp
+30-22clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+24-9clang/docs/LanguageExtensions.md
+5-6clang/lib/CodeGen/CodeGenModule.h
+2-4clang/test/Driver/mloadtime-comment-vars.c
+74-815 files

LLVM/project e6c9df7clang/test/CodeGen/PowerPC loadtime-comment-vars-cxx.cpp

Add list-parsing test cases for -mloadtime-comment-vars
DeltaFile
+33-0clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+33-01 files

LLVM/project 50b049aclang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.cpp CodeGenModule.h

[Clang][AIX] Handle -mloadtime-comment-vars in global var emission
DeltaFile
+65-93clang/lib/CodeGen/CodeGenModule.cpp
+85-0clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+15-2clang/docs/LanguageExtensions.md
+6-9clang/lib/CodeGen/CodeGenModule.h
+5-5clang/test/CodeGen/loadtime-comment-vars.c
+4-0clang/test/Driver/mloadtime-comment-vars.c
+180-1096 files

LLVM/project 19c9b73clang/docs LanguageExtensions.md

Apply suggestions from code review

Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
DeltaFile
+2-8clang/docs/LanguageExtensions.md
+2-81 files

LLVM/project fc7ae21clang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.cpp

[Clang][AIX] Diagnose unsupported -mloadtime-comment-vars variables
DeltaFile
+228-0clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+89-34clang/lib/CodeGen/CodeGenModule.cpp
+0-93clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+33-28clang/docs/LanguageExtensions.md
+0-61clang/test/CodeGen/loadtime-comment-vars.c
+60-0clang/test/CodeGen/PowerPC/loadtime-comment-vars.c
+410-2165 files not shown
+468-22711 files

LLVM/project 96b98f3clang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.cpp CodeGenModule.h

[Clang][AIX] Add -mloadtime-comment-vars support to preserve variables in the final object file.
DeltaFile
+119-0clang/lib/CodeGen/CodeGenModule.cpp
+65-0clang/docs/LanguageExtensions.md
+61-0clang/test/CodeGen/loadtime-comment-vars.c
+13-8llvm/test/Transforms/LowerCommentString/lower-comment-string.ll
+18-0clang/lib/CodeGen/CodeGenModule.h
+12-0clang/test/CodeGen/PowerPC/loadtime-comment-mixed.c
+288-84 files not shown
+318-810 files

LLVM/project a7b974bllvm/test/CodeGen/AMDGPU v_swap_b16.mir schedule-regpressure-ilp-metric-spills.mir

Revert "[AMDGPU] Refactor some existing test files with true16/fake16 split, …"

This reverts commit bbbc24bc594959c4b268165c6d1a11d21cb02f52.
DeltaFile
+0-409llvm/test/CodeGen/AMDGPU/v_swap_b16.mir
+192-192llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
+0-227llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
+52-51llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
+0-102llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma-fake16.mir
+18-42llvm/test/CodeGen/AMDGPU/shrink-true16.mir
+262-1,0233 files not shown
+272-1,1469 files

LLVM/project bbbc24bllvm/test/CodeGen/AMDGPU v_swap_b16.mir schedule-regpressure-ilp-metric-spills.mir

[AMDGPU] Refactor some existing test files with true16/fake16 split, add some new test cases (#209890)
DeltaFile
+409-0llvm/test/CodeGen/AMDGPU/v_swap_b16.mir
+192-192llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
+227-0llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
+51-52llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
+102-0llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma-fake16.mir
+42-18llvm/test/CodeGen/AMDGPU/shrink-true16.mir
+1,023-2623 files not shown
+1,146-2729 files

LLVM/project 140b650llvm/test/CodeGen/AMDGPU load-constant-i1.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.image.atomic.dim.a16.ll llvm.amdgcn.image.gather4.a16.dim.ll

[AMDGPU] Upstream True16 runlines for various tests
DeltaFile
+2,559-652llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
+1,270-764llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+1,253-322llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
+430-320llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
+402-298llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
+377-208llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
+6,291-2,56415 files not shown
+7,899-3,24421 files

LLVM/project 27ede4bllvm/test/CodeGen/AMDGPU vector-reduce-mul.ll llvm.floor.f16.ll

[AMDGPU] Clean up check prefixes and regenerate checklines for some tests that were out of date (#209889)
DeltaFile
+536-264llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
+38-38llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
+25-25llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
+40-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
+37-2llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
+676-3315 files

LLVM/project 270842bllvm/include/llvm/ProfileData SampleProfReader.h, llvm/lib/ProfileData SampleProfReader.cpp

[ProfileData] Refactor SampleProfileNameTable into a polymorphic class hierarchy (NFC) (#210252)

This patch refactors SampleProfileNameTable into an abstract base
class with concrete derived classes like LazySampleProfileNameTable
and EagerSampleProfileNameTable.

The motivation is twofold:

- I want each derived class to focus on one data representation
  instead of using complex if-then-else.  Plus, I'm planning to
  introduce one more data representation [1].

- I want each class to be populated and ready for use as soon as it is
  constructed.  That is, there is no intermediate state like
  "constructed but waiting to be populated".

Now, you might notice that the iterator uses virtual operator[].  I
would argue that this is acceptable.  We have three places where we
iterate over the entire range of the name table entries.  Two of

    [8 lines not shown]
DeltaFile
+58-71llvm/include/llvm/ProfileData/SampleProfReader.h
+14-6llvm/lib/ProfileData/SampleProfReader.cpp
+72-772 files

LLVM/project 1c97f0cllvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll rvp-simd-32.ll

[RISCV][P-ext] Custom legalize v4i16->v4i8 and v2i32->v2i16 truncate. (#210670)

Convert to a bitcast and a shufflevector.

Assisted-by: Claude
DeltaFile
+12-66llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+31-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+3-13llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+3-10llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
+49-894 files

LLVM/project e8510cfllvm/test/TableGen subreg-index-overflow-allowed.td

[TableGen] Add sub-register overflow tests for exact-fit and non-covered registers (#210529)

Follow-up to #206346. Adds two cases the overflow check's companion test
missed: an exact-fit tiling that must be accepted, and a register
without `CoveredBySubRegs` that must be left alone. Test only.
DeltaFile
+29-2llvm/test/TableGen/subreg-index-overflow-allowed.td
+29-21 files

LLVM/project b74f72cllvm/test/Transforms/SLPVectorizer/AMDGPU ordered-reduction-fma-fusion.ll, llvm/test/Transforms/SLPVectorizer/NVPTX ordered-reduction-fma-fusion.ll

[NFC][SLP] Precommit tests for ordered fadd-reduction FMA-fusion cost (#210835)

Baseline coverage for an ordered fadd-of-fmul reduction that is
currently vectorized even on FMA-capable targets, breaking the scalar
fmul + fadd -> fma fusion. A follow-up teaches the reduction cost model
to account for the lost fusion and keep these reductions scalar, at
which point these CHECK lines update. Covers X86 avx2, AMDGPU gfx90a and
NVPTX sm_80.

It is a pre-requisite for
https://github.com/llvm/llvm-project/pull/210399

Assisted-By: Claude Opus 4.8
DeltaFile
+516-0llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-fma-fusion.ll
+123-0llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss-ordered.ll
+46-0llvm/test/Transforms/SLPVectorizer/NVPTX/ordered-reduction-fma-fusion.ll
+685-03 files

LLVM/project 24c4abdclang/docs InternalsManual.md

[docs] Clean up migrated Clang InternalsManual markup

Replace migrated blockquote markup in InternalsManual.md with MyST definition lists where the surrounding text is semantically a term-and-definition list.
DeltaFile
+108-108clang/docs/InternalsManual.md
+108-1081 files

LLVM/project 37ad4f4clang/docs InternalsManual.md LibASTImporter.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+1,992-2,032clang/docs/InternalsManual.md
+436-446clang/docs/LibASTImporter.md
+321-329clang/docs/LibASTMatchersTutorial.md
+290-293clang/docs/ClangOffloadBundler.md
+260-301clang/docs/ClangRepl.md
+188-208clang/docs/ClangTransformerTutorial.md
+3,487-3,60912 files not shown
+4,555-4,80418 files

LLVM/project a95de00clang/docs ClangOffloadBundler.md ClangRepl.md

[docs] Finish MyST migration for selected docs
DeltaFile
+88-137clang/docs/ClangOffloadBundler.md
+15-18clang/docs/ClangRepl.md
+14-14clang/docs/LibASTImporter.md
+11-11clang/docs/RAVFrontendAction.md
+4-4clang/docs/InternalsManual.md
+3-3clang/docs/ClangTransformerTutorial.md
+135-1877 files not shown
+145-20413 files

LLVM/project 6cc0fd9clang/docs InternalsManual.rst InternalsManual.md

[docs] Rename selected Clang docs to Markdown

Rename 18 Clang documentation files from .rst to .md. The clang-format generated docs are split into users/rnk/clang-format-md-rename and users/rnk/clang-format-md-write for separate review.
DeltaFile
+0-3,941clang/docs/InternalsManual.rst
+3,941-0clang/docs/InternalsManual.md
+658-0clang/docs/ClangRepl.md
+0-658clang/docs/ClangRepl.rst
+0-613clang/docs/LibASTImporter.rst
+613-0clang/docs/LibASTImporter.md
+5,212-5,21230 files not shown
+9,110-9,11036 files

LLVM/project b915f34clang/docs InternalsManual.md LibASTImporter.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+1,992-2,032clang/docs/InternalsManual.md
+436-446clang/docs/LibASTImporter.md
+321-329clang/docs/LibASTMatchersTutorial.md
+290-293clang/docs/ClangOffloadBundler.md
+260-301clang/docs/ClangRepl.md
+188-208clang/docs/ClangTransformerTutorial.md
+3,487-3,60912 files not shown
+4,555-4,80418 files

LLVM/project f9ad322clang/docs ClangOffloadBundler.md ClangRepl.md

[docs] Finish MyST migration for selected docs
DeltaFile
+88-137clang/docs/ClangOffloadBundler.md
+15-18clang/docs/ClangRepl.md
+14-14clang/docs/LibASTImporter.md
+11-11clang/docs/RAVFrontendAction.md
+4-4clang/docs/InternalsManual.md
+3-3clang/docs/LibASTMatchersTutorial.md
+135-1877 files not shown
+145-20413 files

LLVM/project 4372295clang/docs InternalsManual.md

[docs] Clean up migrated Clang InternalsManual markup

Replace migrated blockquote markup in InternalsManual.md with MyST definition lists where the surrounding text is semantically a term-and-definition list.
DeltaFile
+108-108clang/docs/InternalsManual.md
+108-1081 files

LLVM/project 7e13da9clang/docs InternalsManual.md InternalsManual.rst

[docs] Rename selected Clang docs to Markdown

Rename 18 Clang documentation files from .rst to .md. The clang-format generated docs are split into users/rnk/clang-format-md-rename and users/rnk/clang-format-md-write for separate review.
DeltaFile
+3,941-0clang/docs/InternalsManual.md
+0-3,941clang/docs/InternalsManual.rst
+0-658clang/docs/ClangRepl.rst
+658-0clang/docs/ClangRepl.md
+613-0clang/docs/LibASTImporter.md
+0-613clang/docs/LibASTImporter.rst
+5,212-5,21230 files not shown
+9,110-9,11036 files

LLVM/project c2adde4llvm/include/llvm/Analysis LoopInfo.h, llvm/lib/Analysis LoopInfo.cpp

[LoopInfo][LCSSA] Handle token-like values (#210816)

Token-like values have many (but not all) of the same restrictions as
regular token values.
They do however inherit the restriction on being placed in PHI and thus
they need to be
treated like regular tokens in LCSSA.

AI Disclosure: Written by GPT 5.6 - flagged during GPT 5.6 review of
#151062 rebase.
DeltaFile
+24-0llvm/test/Transforms/LCSSA/token-like-live-out.ll
+7-7llvm/lib/Analysis/LoopInfo.cpp
+4-3llvm/include/llvm/Analysis/LoopInfo.h
+4-3llvm/lib/Transforms/Utils/LCSSA.cpp
+39-134 files