LLVM/project 983fd89llvm/lib/ProfileData/Coverage CoverageMapping.cpp

[CoverageMapping] Fix LineCoverageStats incorrectly using gap region count

When a line's wrapping segment is a gap region with count=0, but the
line has non-gap segments with count > 0 (not region entries),
LineCoverageStats incorrectly reports the line as uncovered.

This happens when a zero-count region (e.g., from a never-taken
if-branch) extends past subsequent covered lines via a gap segment.
The fix:
1. Skip initializing ExecutionCount from gap wrapping segments
2. When MinRegionCount is 0, check non-gap HasCount segments on the
   line and use their max count

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+10-2llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+10-21 files

LLVM/project 0085eabllvm/test/tools/llvm-cov gap-region-line-coverage.test, llvm/test/tools/llvm-cov/Inputs/gap-region-quirk gap-quirk.cpp gap-quirk.covmapping

[llvm-cov] Add failing test for gap region line coverage bug

LineCoverageStats incorrectly reports a line as uncovered when the
wrapping segment has count=0 and the line has no region entries, even
if it has non-entry segments with count > 0.

This test uses coverage data from Apple clang which produces the
specific segment pattern that triggers this: a closing brace "}" after
a never-taken if-block, where the non-gap segment returning to the
parent function's count is ignored.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+32-0llvm/test/tools/llvm-cov/gap-region-line-coverage.test
+13-0llvm/test/tools/llvm-cov/Inputs/gap-region-quirk/gap-quirk.cpp
+0-0llvm/test/tools/llvm-cov/Inputs/gap-region-quirk/gap-quirk.covmapping
+0-0llvm/test/tools/llvm-cov/Inputs/gap-region-quirk/gap-quirk.profdata
+45-04 files

LLVM/project cb9f268clang/include/clang/Analysis/Analyses/LifetimeSafety Origins.h FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Origins.cpp

[LifetimeSafety] Track per-field origins for record types
DeltaFile
+348-5clang/test/Sema/warn-lifetime-safety.cpp
+69-37clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+82-5clang/lib/Analysis/LifetimeSafety/Origins.cpp
+30-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
+4-6clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
+0-2clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+533-556 files

LLVM/project 5e7f581clang/test/CodeGen ubsan-aggregate-null-align-bounds.c

[NFC] Rename test functions for internal convention consistency

Consistently use "deref" and "subscript" to refer to `*p` and `arr[idx]`
expression forms.
DeltaFile
+4-4clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c
+4-41 files

LLVM/project 5f8c9aeclang/test/CodeGen ubsan-aggregate-null-align.c ubsan-aggregate-null-align-bounds.c

[NFC] Rename test to reflect scope (array bounds checking)
DeltaFile
+0-170clang/test/CodeGen/ubsan-aggregate-null-align.c
+170-0clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c
+170-1702 files

LLVM/project cbdb857llvm/lib/ProfileData/Coverage CoverageMapping.cpp, llvm/test/tools/llvm-cov exclude-markers.test

[CoverageMapping] Fix LineCoverageStats incorrectly using gap region count

When a line's wrapping segment is a gap region with count=0, but the
line has non-gap segments with count > 0 (not region entries),
LineCoverageStats incorrectly reports the line as uncovered.

This happens when a zero-count gap region (e.g., from a never-taken
if-branch closing brace) extends past subsequent covered lines. The
fix checks non-gap HasCount segments on the line when MinRegionCount
is 0, using their max count instead of the gap's count.

Also skip initializing ExecutionCount from a gap wrapping segment,
since gap regions should not contribute to the line's execution count.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+23-23llvm/test/tools/llvm-cov/exclude-markers.test
+10-2llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+33-252 files

LLVM/project baff7e5llvm/test/tools/llvm-cov exclude-markers.test, llvm/tools/llvm-cov CodeCoverage.cpp CoverageViewOptions.h

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov's exclusion markers and
kcov's --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and consistently applies
exclusions across all output formats:
- Line coverage totals (subtracted in prepareFileReports)
- Region coverage totals (regions starting on excluded lines)
- Function coverage totals (functions starting on excluded lines)
- "show" text output (no count column, no red highlighting)
- "show" HTML output (skipped-line class instead of uncovered-line)
- JSON export segments (filtered out)

    [6 lines not shown]
DeltaFile
+290-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+36-15llvm/tools/llvm-cov/CoverageExporterLcov.cpp
+32-0llvm/tools/llvm-cov/CoverageReport.cpp
+27-0llvm/tools/llvm-cov/CoverageSummaryInfo.h
+505-1619 files not shown
+618-3525 files

LLVM/project efc03bdllvm/test/tools/llvm-cov exclude-markers.test, llvm/tools/llvm-cov CodeCoverage.cpp CoverageViewOptions.h

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov's exclusion markers and
kcov's --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and consistently applies
exclusions across all output formats:
- Line coverage totals (subtracted in prepareFileReports)
- Region coverage totals (regions starting on excluded lines)
- Function coverage totals (functions starting on excluded lines)
- "show" text output (no count column, no red highlighting)
- "show" HTML output (skipped-line class instead of uncovered-line)
- JSON export segments (filtered out)

    [6 lines not shown]
DeltaFile
+290-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+36-15llvm/tools/llvm-cov/CoverageExporterLcov.cpp
+32-0llvm/tools/llvm-cov/CoverageReport.cpp
+27-0llvm/tools/llvm-cov/CoverageSummaryInfo.h
+505-1619 files not shown
+618-3525 files

LLVM/project 6e609f4llvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom report-custom.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov's exclusion markers and
kcov's --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports(). Excluded lines are also hidden
from the "show" output (no count column, no red highlighting).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+258-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom/report-custom.cpp
+430-117 files not shown
+513-1923 files

LLVM/project a722324clang/test/Driver hip-include-path.hip hexagon-toolchain-picolibc.c, clang/test/Preprocessor iwithprefix.c

Update remaining tests for usage of CLANG_RESOURCE_DIR (#202475)

We would like to enable the clang CMake option CLANG_RESOURCE_DIR on our
build bots, but found that a few tests that need updating since they
make assumptions about compiler paths that are modified when using
CLANG_RESOURCE_DIR. This is the final change to update the remaining 3
test failures we found.

In the previous change (#197154), I added a definition for
`%clang-resource-dir` which contains the path printed by the compiler
when run with `-print-resource-dir`. We pass that value to the remaining
tests where needed through the RUN lines and use that to verify the
correct path rather than just trying to guess at it using a complex
regex.

One exception was a test which uses `-###` which escapes the backslashes
on Windows. For that test I just used tr+sed to escape the backslashes so
that the matching would work in that particular test only.
DeltaFile
+16-16clang/test/Driver/hip-include-path.hip
+12-8clang/test/Driver/hexagon-toolchain-picolibc.c
+2-2clang/test/Preprocessor/iwithprefix.c
+30-263 files

LLVM/project ae1c507mlir/lib/Dialect/SparseTensor/Transforms SparseTensorCodegen.cpp, mlir/test/Dialect/SparseTensor sparse_pack.mlir

[mlir][sparse_tensor] Fix out-of-bounds read in SparseAssembleOpConverter (#203289)

The assemble codegen loop iterates over the level rank but asserted on
`getDimShape()[lvl]`, which is sized by the dimension rank. Index the
level shape instead, matching the loop bound and the next line.

Fixes #203225.
DeltaFile
+18-0mlir/test/Dialect/SparseTensor/sparse_pack.mlir
+1-1mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
+19-12 files

LLVM/project 8796d37mlir/include/mlir/Dialect/SparseTensor/Transforms Passes.td Passes.h, mlir/lib/Dialect/SparseTensor/Transforms/Utils IterationGraphSorter.cpp

[MLIR][SparseTensor] Added Sparse Outer Loop Ordering Strategy (#172198)

This PR builds upon the infrastructure set up for Sparse Tensor Loop
Ordering Heuristics (#154656) and the already existing Dense Outer loop
ordering strategy (#160168).
DeltaFile
+165-0mlir/test/Dialect/SparseTensor/sparse_loop_ordering.mlir
+43-11mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
+3-1mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
+1-0mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
+212-124 files

LLVM/project 7e41e3aclang/lib/CodeGen CGHLSLRuntime.cpp, llvm/test/Analysis/CostModel/AMDGPU minimumnum.ll maximumnum.ll

Rebase, fix reported crash

Created using spr 1.3.7
DeltaFile
+736-0llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
+407-35llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
+364-56llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
+210-180llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
+362-0llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+174-171clang/lib/CodeGen/CGHLSLRuntime.cpp
+2,253-442285 files not shown
+8,805-1,854291 files

LLVM/project 8e3c10fllvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers report.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+222-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+16-0llvm/test/tools/llvm-cov/Inputs/exclude-markers/report.cpp
+394-111 files not shown
+435-117 files

LLVM/project c601294llvm/test/Transforms/SLPVectorizer/X86 runtime-alias-checks.ll

[SLP][NFC]Add a test with the unsupported runtime checks



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/203728
DeltaFile
+100-0llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll
+100-01 files

LLVM/project 038c432llvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region report-custom-region.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+210-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/tools/llvm-cov/CoverageReport.cpp
+382-111 files not shown
+423-117 files

LLVM/project ebb5610llvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region report-custom-region.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+210-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/tools/llvm-cov/CoverageReport.cpp
+382-111 files not shown
+423-117 files

LLVM/project 563af41llvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region report-custom-region.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+181-0llvm/test/tools/llvm-cov/exclude-markers.test
+62-1llvm/tools/llvm-cov/CodeCoverage.cpp
+58-0llvm/tools/llvm-cov/CoverageViewOptions.h
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/tools/llvm-cov/CoverageReport.cpp
+353-111 files not shown
+394-117 files

LLVM/project f7b6749llvm/lib/Transforms/Vectorize VPlan.h, llvm/test/Transforms/LoopVectorize reduction-inloop.ll

[LV] Allow AddChainWithSubs in ExtNegatedMulAccReduction. (#203720)

For chained reductions identified as RecurKind::AddChainWithSubs, VPlan
construction rewrites each sub link as 0 - X so that the in-loop
reduction can treat the chain uniformly as a sum. The
ExtNegatedMulAccReduction VPExpressionRecipe matches that 0 - mul form,
but its constructor only allowed RecurKind::Add and asserted otherwise,
crashing with -prefer-inloop-reductions on the added tests.

AddChainWithSubs maps to Instruction::Add via
RecurrenceDescriptor::getOpcode, so the rest of the recipe (cost
computation, codegen) already handles it. Relax the constructor assert
to also accept AddChainWithSubs.
DeltaFile
+253-0llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
+6-4llvm/lib/Transforms/Vectorize/VPlan.h
+259-42 files

LLVM/project 2f72a7cllvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region report-custom-region.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+181-0llvm/test/tools/llvm-cov/exclude-markers.test
+60-1llvm/tools/llvm-cov/CoverageViewOptions.h
+43-1llvm/tools/llvm-cov/CodeCoverage.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/tools/llvm-cov/CoverageReport.cpp
+336-211 files not shown
+377-217 files

LLVM/project 18d574dllvm/test/tools/llvm-cov exclude-markers.test, llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom report-custom.cpp

[llvm-cov] Add inline exclusion marker support for coverage reporting

Add --exclude-line-regex, --exclude-region-start-regex, and
--exclude-region-stop-regex options to llvm-cov. These allow excluding
lines from coverage totals based on inline source comments.

Defaults: LCOV_EXCL_LINE (single line), LCOV_EXCL_START/LCOV_EXCL_STOP
(region). This brings parity with lcov/gcov exclusion markers and
kcov --exclude-line regex support.

The implementation scans source files for markers when loaded, builds a
per-file set of excluded line numbers, and subtracts them from the line
coverage totals in prepareFileReports().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+181-0llvm/test/tools/llvm-cov/exclude-markers.test
+60-1llvm/tools/llvm-cov/CoverageViewOptions.h
+43-1llvm/tools/llvm-cov/CodeCoverage.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom-region/report-custom-region.cpp
+18-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-region/report-region.cpp
+16-0llvm/test/tools/llvm-cov/Inputs/exclude-markers-custom/report-custom.cpp
+336-211 files not shown
+377-217 files

LLVM/project 8ba6fb1clang/test/AST/HLSL StructPassing-AST.hlsl, clang/test/CodeGenHLSL this-assignment-overload.hlsl this-assignment.hlsl

[HLSL] Disable implicit constructors for user-defined structs/classes (#194989)

Disables implicit constructors and assignment operators on user-defined
structs/classes in HLSL.

When a struct is copied or passed as an argument to a function, instead
of using copy constructor the compiler inserts an implicit
_lvalue_-to-_rvalue_ cast where necessary to copy the value. In C++
these implicit casts are not allowed. Sema initialization and
overloading code has been adjusted to enable this code path for HLSL.

For struct in a constant buffer, the implicit cast changes the constant
address space to the default one. Codegen recognized this pattern and
instead of translating the copy as `memcpy`, it copies the struct
element-by-element (because the constant address space struct can have a
different layout).

To efficiently recognize whether a `CXXRecordDecl` is a user-defined
struct/class or if it is an HLSL built-in struct/class, a new bit

    [5 lines not shown]
DeltaFile
+227-26clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
+120-38clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
+122-0clang/test/AST/HLSL/StructPassing-AST.hlsl
+119-0clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
+28-28clang/test/CodeGenHLSL/this-assignment-overload.hlsl
+31-20clang/test/CodeGenHLSL/this-assignment.hlsl
+647-11242 files not shown
+888-19848 files

LLVM/project e61071dllvm/test/Transforms/LoopVectorize/AArch64 sve-interleaved-accesses.ll partial-reduce-dot-product.ll, llvm/test/Transforms/LoopVectorize/RISCV fminimumnum.ll

[VPlan] Run final removeBranchOnConst after late simplifyRecipes. (#193069)

simplifyRecipes may expose additional known branches. Move final
removeBranchOnConst after the late simplifyRecipes run.

Removing branches like the vector loop backedge leads to additional
simplifications, like removing trivial phis etc. Return true if any phis
have incoming values have been removed by removeBranchOnConst. If so, we
need another simplifyRecipes run.

Depends on https://github.com/llvm/llvm-project/pull/193067 for
functional changes.

PR: https://github.com/llvm/llvm-project/pull/193069
DeltaFile
+51-40llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
+30-18llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
+27-21llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
+16-16llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
+1-23llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
+3-17llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
+128-13513 files not shown
+172-19919 files

LLVM/project d0e87f9llvm/lib/Target/X86 X86SchedSandyBridge.td, llvm/test/tools/llvm-mca/X86/Barcelona resources-sse1.s

[X86] Fix Sandy Bridge's WriteLDMXCSR (#203585)

Using information from uops.info, I corrected some numbers.
DeltaFile
+3-3llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
+3-3llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
+3-3llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
+3-3llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
+3-3llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
+1-2llvm/lib/Target/X86/X86SchedSandyBridge.td
+16-176 files

LLVM/project 81435fcmlir/test/mlir-tblgen gen-dialect-doc.td

add another test
DeltaFile
+27-0mlir/test/mlir-tblgen/gen-dialect-doc.td
+27-01 files

LLVM/project a815e6fllvm/test/Transforms/LoopStrengthReduce funclet.ll, llvm/test/Transforms/LoopStrengthReduce/X86 reuse-existing-phi.ll

[Test] Fix LSR tests to prevent trivial simplification of icmp (#203705)

Replace undef operands in funclet.ll with function parameters and adjust
the loop bound in reuse-existing-phi.ll so the new simplification pass
does not fold away the comparisons these tests are meant to exercise.
DeltaFile
+24-24llvm/test/Transforms/LoopStrengthReduce/funclet.ll
+3-3llvm/test/Transforms/LoopStrengthReduce/X86/reuse-existing-phi.ll
+27-272 files

LLVM/project cf68760mlir/test/mlir-tblgen gen-dialect-doc.td

add another test
DeltaFile
+27-0mlir/test/mlir-tblgen/gen-dialect-doc.td
+27-01 files

LLVM/project 65bab0amlir/include/mlir/IR EnumAttr.td

remove unncessary comment
DeltaFile
+0-2mlir/include/mlir/IR/EnumAttr.td
+0-21 files

LLVM/project 47001d7mlir/tools/mlir-tblgen OpDocGen.cpp

address comment
DeltaFile
+3-5mlir/tools/mlir-tblgen/OpDocGen.cpp
+3-51 files

LLVM/project 7f6577cllvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir

Revert "[AMDGPU] Widen MUBUF/MTBUF source-vgpr WAR hazard on gfx940-family to…"

This reverts commit 62b7cf9623fc310525f39ed69aaecc318a909731.
DeltaFile
+0-122llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
+21-58llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+21-1802 files