LLVM/project 31d295e — llvm/test/TableGen BitsInitListErrors.td

[TableGen] Add tests for bit list parsing errors (#235736)
DeltaFile
+28-0llvm/test/TableGen/BitsInitListErrors.td
+28-01 files

LLVM/project fddb499 — clang/include/clang/AST Expr.h, clang/lib/CodeGen CGStmt.cpp

[clang][AST] Stop creating `ConstantExpr` nodes without a result (#229761)

They don't add anything if we don't have a result.
DeltaFile
+10-120clang/test/AST/ast-dump-stmt-json.c
+10-16clang/test/AST/ast-dump-stmt.c
+8-12clang/lib/CodeGen/CGStmt.cpp
+9-7clang/lib/Sema/SemaExpr.cpp
+1-4clang/lib/Sema/SemaStmtAsm.cpp
+2-2clang/include/clang/AST/Expr.h
+40-1611 files not shown
+41-1627 files

LLVM/project 46ec0a5 — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV/rvv vwadd-sdnode.ll fixed-vectors-vwaddu.ll

[RISCV] Reassociate exts in ext/add reduction tree (#230928)

With an ext-add-ext-add pattern, the second ext can be pushed to after
the final add if the first ext adds enough bits to guarantee that the
second add won't overflow even without the second ext.

Further optimize ext-add reduction in x264 sad_NxN, building on #230657.

AI Usage: Assisted by Codex
DeltaFile
+125-56llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
+49-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+22-4llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
+2-3llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
+198-634 files

LLVM/project 9b6867f — llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV] Remove unused parameters of preparePlanForEpilogueVectorLoop (NFC). (#235991)

L and LVP are no longer used.
DeltaFile
+6-7llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+6-71 files

LLVM/project 4e53a16 — llvm/test/Transforms/LoopVectorize optimal-epilog-vectorization.ll

[LV] Add epilogue test with FP IV with same start and step (NFC) (#235987)

Add a test with an fadd and an fsub induction that share start and step
values, to make sure each resumes from its own value in the epilogue
vector loop.
DeltaFile
+136-0llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
+136-01 files

LLVM/project 21d0029 — llvm/include/llvm/Analysis ValueTracking.h, llvm/include/llvm/IR ConstantFPRange.h

Revert "[KnownFPClass] Refactor NaN sign encoding for KnownFPClass" (#235992)

Reverts llvm/llvm-project#220606

Breaks the build with GCC, since
`KnownFPClass::toFPClassMask(FPClassTest, bool)` is not a constant
expression, because the compound assignment operators (`|=`, `&=`, `^=`)
in `llvm/ADT/BitmaskEnum.h` are not `constexpr`.
DeltaFile
+78-256llvm/include/llvm/Support/KnownFPClass.h
+19-5llvm/lib/Support/KnownFPClass.cpp
+1-1llvm/include/llvm/IR/ConstantFPRange.h
+1-1llvm/include/llvm/Analysis/ValueTracking.h
+99-2634 files

LLVM/project 2f2c570 — llvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir

[AMDGPU] Decrease sensitivity of rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir

Change-Id: I794fe17c417aaad2b15d1e12309e1c3507fe9990
DeltaFile
+1-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir
+1-01 files

LLVM/project 9d5b2a8 — llvm/test/tools/llubi intr_masked_store.ll intr_masked_store_ub.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for llvm.masked.store. (#235876)

Re-use the logic for llvm.masked.load to also support llvm.masked.store.

The mask/pointer arithmetic logic is the same for both intrinsic.

PR: https://github.com/llvm/llvm-project/pull/235876
DeltaFile
+85-0llvm/test/tools/llubi/intr_masked_store_ub.ll
+67-0llvm/test/tools/llubi/intr_masked_store.ll
+19-10llvm/tools/llubi/lib/Interpreter.cpp
+171-103 files

LLVM/project 8212441 — llvm/include/llvm/Analysis ValueTracking.h, llvm/lib/Analysis ValueTracking.cpp

[InstCombine] Share common binop folds between icmp and [su]cmp (#222978)

This PR extends #216157, which adds a missed `[su]cmp` fold for matching
operands in order-preserving/reversing binops (covers `add`, `sub`,
`mul`)

- Extracted common-operand logic from `foldICmpBinOp()` into a
`matchCommonBinOpOperands()` helper function for `icmp`, `scmp`, and
`ucmp`. However, existing specialized `icmp` equality and signed
multiplication folds remain separate - see current state of
`foldICmpBinOp()`.
- The helper accepts the comparison predicate by reference so `icmp` can
canonically keep operand order (predicate flips with an order-reversing
operation), while `[su]cmp` can use the predicate to swap operand order
afterward.
- `m_AddLike` is explicitly used in the helper to support `or disjoint`
for `[su]cmp`, equivalent to non-wrapping addition.
- Moved `hasNoWrapProblem()` outside into a file-level function for both
the new helper and existing passes that rely on it.

    [14 lines not shown]
DeltaFile
+173-77llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+177-0llvm/test/Transforms/InstCombine/scmp.ll
+175-0llvm/test/Transforms/InstCombine/ucmp.ll
+11-8llvm/lib/Analysis/ValueTracking.cpp
+8-3llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+4-4llvm/include/llvm/Analysis/ValueTracking.h
+548-922 files not shown
+554-948 files

LLVM/project d45bcbb — llvm/test/Analysis/CostModel/RISCV rvv-insertelement.ll rvv-vectorinsert.ll, llvm/test/Transforms/SLPVectorizer/RISCV strided-load-in-tree-stride.ll

[RISCV] Double the cost of slides (#232827)

From what I've measured and from what I can read on
https://camel-cdr.github.io/rvv-bench-results, vslideup and vslidedown
generally aren't pipelined to the same degree as arithmetic ops. This,
combined with the fact that they require a vsetvli toggle which we don't
currently cost for, makes shufflevector sequences emitted by SLP
expensive on hardware.

Doubling the costs of the slides prevents unprofitable SLP vectorization
in 525.x264_r, and improves performance by 3.91% on the SpacemiT-K3,
-march=rva23u64 -O3 -flto. There were no other noticeable changes on
SPEC CPU 2017.
DeltaFile
+303-303llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
+168-168llvm/test/Analysis/CostModel/RISCV/splice.ll
+111-111llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
+82-49llvm/test/Transforms/SLPVectorizer/RISCV/strided-load-in-tree-stride.ll
+54-54llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll
+45-45llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
+763-73028 files not shown
+1,125-1,06434 files

LLVM/project 7b9c6d7 — llvm/lib/Target/X86 X86InstrAVX512.td, llvm/test/MC/Disassembler/X86/apx evex-format.txt

[X86][AsmParser] Fix Intel mask position for AVX512PF prefetch instructions (#233869)

AVX512PF gather/scatter prefetch instructions reject a memory operand
followed by a mask decorator in Intel syntax. LLVM also prints the mask
as a leading operand, producing Intel disassembly that cannot be
reassembled.

Move the mask after the memory operand in the Intel assembly variant of
`avx512_gather_scatter_prefetch`. Preserve the AT&T variant and the
outer dialect selection so the literal mask braces survive TableGen
processing.

Add Intel MC tests for all 16 mnemonics, using the 32 existing AT&T
encoding expectations. Cover sized/unsized memory, high VSIB registers,
YMM/ZMM indices, k1-k7, scaled addressing, compressed displacement, and
assembly output round trips. Add diagnostics for missing/zero masks,
zeroing, incorrect VSIB widths, and incorrect memory size.

Update the existing APX disassembler expectation to the corrected mask

    [13 lines not shown]
DeltaFile
+135-0llvm/test/MC/X86/avx512pf-64-intel.s
+28-0llvm/test/MC/X86/avx512pf-intel-errors.s
+3-4llvm/test/MC/X86/apx/evex-format-intel.s
+1-1llvm/test/MC/Disassembler/X86/apx/evex-format.txt
+1-1llvm/lib/Target/X86/X86InstrAVX512.td
+168-65 files

LLVM/project 97374d7 — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize predicated-load-access-safety.ll

[VPlan] CSE replicated loads (#234525)

This improves a pattern found in 736.ocio_r, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-6196462669

In the following loop `s` isn't noalias, so a runtime alias check needs
to be added:

```c
void f(const float *s, const unsigned short *in, float *out, long n) {
  for (long i = 0; i < n; i++) {
    out[4 * i + 0] = in[4 * i + 0] * *s;
    out[4 * i + 1] = in[4 * i + 1] * *s;
    out[4 * i + 2] = in[4 * i + 2] * *s;
    out[4 * i + 3] = in[4 * i + 3] * *s;
  }
}
```


    [65 lines not shown]
DeltaFile
+98-196llvm/test/Transforms/LoopVectorize/WebAssembly/CostModel/variance-8x16.ll
+6-78llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs-max-bandwidth.ll
+26-42llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
+23-21llvm/test/Transforms/LoopVectorize/predicated-load-access-safety.ll
+16-13llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-8llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+171-3585 files not shown
+187-37411 files

LLVM/project 583fc69 — llvm/lib/Transforms/Scalar ConstantHoisting.cpp

[ConstantHoisting] Use getLazyBFIAnalysisUsage

Follow up from https://github.com/llvm/llvm-project/pull/235482#discussion_r4379834843, switch it to a transitive dependency.
DeltaFile
+1-1llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
+1-11 files

LLVM/project 497fe31 — llvm/test/Transforms/SLPVectorizer/RISCV strided-loads-based-reduction.ll

Update SLP test
DeltaFile
+72-200llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-based-reduction.ll
+72-2001 files

LLVM/project 8a3aafa — llvm/test/Transforms/LoopVectorize/WebAssembly/CostModel variance-8x16.ll

Update tests
DeltaFile
+98-196llvm/test/Transforms/LoopVectorize/WebAssembly/CostModel/variance-8x16.ll
+98-1961 files

LLVM/project 81793ac — llvm/include/llvm/Analysis ValueTracking.h, llvm/include/llvm/IR ConstantFPRange.h

[KnownFPClass] Refactor NaN sign encoding for KnownFPClass (#220606)

Part of https://github.com/llvm/llvm-project/issues/217072

Replaces the `struct` layout for `KnownFPClass`
```c++
struct KnownFPClass {
  FPClassTest KnownFPClasses;
  std::optional<bool> SignBit;
};
struct KnownFPClass {
  FPClassMask KnownFPMask;
};
```
I also added conversion functions between `FPClassTest` and
`FPClassMask`.
DeltaFile
+256-78llvm/include/llvm/Support/KnownFPClass.h
+5-19llvm/lib/Support/KnownFPClass.cpp
+1-1llvm/include/llvm/IR/ConstantFPRange.h
+1-1llvm/include/llvm/Analysis/ValueTracking.h
+263-994 files

LLVM/project 0ac8e13 — llvm/lib/Target/AMDGPU SIPreEmitPeephole.cpp, llvm/test/CodeGen/AMDGPU si-pre-emit-peephole-unpack-invalidates.mir

[AMDGPU] Report packed F32 unpacking as a change (#234859)

SIPreEmitPeephole::run did not set Changed after unpacking, so when
unpacking was the only change the new pass manager kept every cached
analysis and the legacy one saw an unchanged function.

Assisted-by: Claude Opus 5.5
DeltaFile
+15-0llvm/test/CodeGen/AMDGPU/si-pre-emit-peephole-unpack-invalidates.mir
+2-0llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
+17-02 files

LLVM/project f383f08 — .ci all_requirements.txt, .ci/metrics requirements.lock.txt

Merge branch 'main' of github.com:llvm/llvm-project into users/lukel97/loop-vectorize/cse-replicate-loads
DeltaFile
+1,665-0llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
+1,452-0llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
+1,190-0llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
+433-408.ci/all_requirements.txt
+489-311.ci/metrics/requirements.lock.txt
+199-459llvm/test/CodeGen/AArch64/dup.ll
+5,428-1,178730 files not shown
+24,133-6,443736 files

LLVM/project 0cbb583 — lldb/source/Core PluginManager.cpp, lldb/source/Plugins/ScriptInterpreter/Lua ScriptInterpreterLua.cpp

[lldb] Report why a script interpreter is unavailable (#235947)

When Python can't be loaded, no plugin registers for it and LLDB falls
back to ScriptInterpreterNone, which claims LLDB was built without
scripting support. The real error was dropped during initialization.

Record the error per language in the PluginManager where the failure
happens, and pass the requested language to the create callback so
ScriptInterpreterNone can report it from the relevant commands.

For a language LLDB was built with but has no recorded error, report
that its plugin wasn't loaded.

rdar://190746062

Assisted-by: Claude
DeltaFile
+126-0lldb/unittests/ScriptInterpreter/None/ScriptInterpreterNoneTest.cpp
+108-11lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
+47-3lldb/source/Core/PluginManager.cpp
+40-3lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h
+21-14lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+13-8lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
+355-3913 files not shown
+439-8019 files

LLVM/project 40ce46b — llvm/lib/Transforms/Scalar CorrelatedValuePropagation.cpp, llvm/test/Transforms/CorrelatedValuePropagation sdiv_missing_debugloc.ll keep_dbg_value_on_rewrite.ll

[DebugInfo] Preserve original value when replacing instructions (#234978)

There are several places in `correlated-propagation` where an
instruction is replaced without salvaging the debug info. The value
computed by the new instruction may be different to the original that
was replaced. This leads to debuggers like lldb reporting incorrect
values for variables (reporting the value of the new instruction).

This PR makes sure the compiler salvages the debug information of the
replaced instructions before replacing them.

(See issues #218621, #218622, #218623 and #218366)
(Pinging @MrEven132, since I can't add as a reviewer)
DeltaFile
+99-0llvm/test/Transforms/CorrelatedValuePropagation/keep_dbg_value_on_rewrite.ll
+3-2llvm/test/Transforms/CorrelatedValuePropagation/sdiv_missing_debugloc.ll
+5-0llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
+107-23 files

LLVM/project ebe1441 — llvm/lib/Transforms/Scalar CorrelatedValuePropagation.cpp, llvm/test/Transforms/CorrelatedValuePropagation eliminated-and-wrong-dbgval.ll

[DebugInfo] Salvage replaced and instructions (#234693)

When `correlated-propagation` removes and instructions, it doesn't
correctly salvage the debug info. This leads to variables having
incorrect debug info. This patch makes sure we salvage the debug info
before removing the instructions

(See https://github.com/llvm/llvm-project/issues/219940)

Pinging @MrEven132 since I can't seem to add as a reviewer
DeltaFile
+35-0llvm/test/Transforms/CorrelatedValuePropagation/eliminated-and-wrong-dbgval.ll
+1-0llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
+36-02 files

LLVM/project 4098467 — compiler-rt/lib/scudo/standalone tsd.h combined.h, compiler-rt/lib/scudo/standalone/tests combined_test.cpp

[scudo] Omit quarantine state when QuarantineDisabled (#235117)

When QuarantineDisabled is true, GlobalQuarantine still occupies 192
bytes (three cache lines) in Allocator and QuarantineCache occupies 32
bytes (plus 32 bytes of cache-line tail padding) in each TSD.

Allows the now empty classes to be empty by using [[no_unique_address]].
DeltaFile
+38-4compiler-rt/lib/scudo/standalone/quarantine.h
+4-2compiler-rt/lib/scudo/standalone/combined.h
+4-0compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
+1-0compiler-rt/lib/scudo/standalone/tsd.h
+47-64 files

LLVM/project 349acff — compiler-rt/test/sanitizer_common/android_commands android_run.py

[compiler-rt][Android] Filter out linker warnings from stderr in android_run.py (#235973)

Older Android dynamic linkers (e.g. API 24) print `WARNING: linker: ...`
lines to stderr for newer ELF flags/tags such as `DT_FLAGS_1=0x8000001`
(`DF_1_PIE`) and `DT_AARCH64_BTI_PLT` (`0x70000001`). When these lines
are emitted at startup or when spawning `llvm-symbolizer`, they break
tests using `count 0`, `CHECK-NEXT`, or `CHECK-NOT` on
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android.

Strip `^WARNING: linker: .*` lines from stderr in `android_run.py`,
matching `libcxx/utils/adb_run.py`.

Assisted-by: Gemini
DeltaFile
+12-2compiler-rt/test/sanitizer_common/android_commands/android_run.py
+12-21 files

LLVM/project 1da436a — lldb/source/API SBBreakpointName.cpp SBBreakpointLocation.cpp, lldb/source/Commands CommandObjectBreakpointCommand.cpp

[lldb] Return llvm::Error from breakpoint callback setters (#235964)

Have ScriptInterpreter::SetBreakpointCommandCallback and
SetBreakpointCommandCallbackFunction return llvm::Error instead of
Status, converting back to SBError at the API boundary.

Requiring the error to be handled surfaces two dropped errors:

- The Python SetBreakpointCommandCallbackFunction ignored the result of
generating the callback.
- Deserializing a breakpoint reported the outer, still-empty Status
instead of the script error.

Assisted-by: Claude
DeltaFile
+29-40lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+11-17lldb/source/Interpreter/ScriptInterpreter.cpp
+13-15lldb/source/API/SBBreakpointLocation.cpp
+14-13lldb/source/API/SBBreakpointName.cpp
+11-12lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
+9-11lldb/source/Commands/CommandObjectBreakpointCommand.cpp
+87-1085 files not shown
+130-15111 files

LLVM/project ae6955f — lldb/cmake/modules AddLLDB.cmake, lldb/source/Plugins/ScriptInterpreter/Python CMakeLists.txt

[lldb][CMake] Link static libraries before liblldb (#235949)

The static linker resolves each undefined symbol from the first library
on the command line that defines it. When liblldb re-exports private
symbols, for example with LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS, tools
that list liblldb before lldbHost and lldbUtility bind part of those
libraries to liblldb and the rest to their own static copies.

List liblldb last so the static libraries take precedence. On Linux,
`lldb_prevent_liblldb_symbol_interposition` already covers this with
--exclude-libs.
DeltaFile
+16-0lldb/cmake/modules/AddLLDB.cmake
+2-1lldb/unittests/SBTestingSupport/CMakeLists.txt
+1-1lldb/tools/lldb-mcp/CMakeLists.txt
+1-1lldb/tools/lldb-dap/tool/CMakeLists.txt
+1-1lldb/tools/driver/CMakeLists.txt
+1-1lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
+22-53 files not shown
+24-79 files

LLVM/project 7f80ef0 — .github/workflows libcxx-lnt-submit.yml lnt-submit.yml, libcxx/utils/ci run-buildbot

[ci] Create a monorepo-wide workflow to submit to LNT (#235863)

Lift the libc++ specific workflow into one that is clearly decoupled
from libc++ and can be reused by other projects in the monorepo. This is
intended to support other projects submitting data into LNT.

One interesting question is whether we want all jobs to use the same
token. In LNT v5, a token can be scoped to specific test suites (e.g. a
token can be limited to submitting only to the libcxx test suite). Right
now, this workflow assumes that the token in use can submit to the
provided suite, and all submissions would use the same token, which
would be unscoped.

I think this is fine, at least for now, but we could potentially revisit
this decision in the future.
DeltaFile
+537-0.github/workflows/lnt-submit.requirements.lock.txt
+0-94libcxx/utils/ci/lnt/submit-benchmarks
+79-0.github/workflows/lnt-submit.yml
+0-75.github/workflows/libcxx-lnt-submit.yml
+1-9libcxx/utils/ci/run-buildbot
+7-2libcxx/utils/ci/lnt/README.md
+624-1806 files not shown
+633-18512 files

LLVM/project a060b7a — utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes 77cb171 (#235969)

This fixes 77cb1713c233b90d322c37b808c023fcdb9008ff (#235950).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=77cb1713c233b90d322c37b808c023fcdb9008ff

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project 9720726 — mlir/include/mlir/Conversion Passes.td, mlir/lib/Conversion/MathToFuncs MathToFuncs.cpp

[mlir][math] Add a set-llvm-linkage option to convert-math-to-funcs (#235961)

`--convert-math-to-funcs` adds a `llvm.linkage` attribute to each
generated function (which is consumed by FuncToLLVM), but this breaks
other pipelines, such as FuncToEmitC, since `mlir-translate
--mlir-to-cpp` registers only the cf, emitc and func dialects (but not
llvm) so

```
  mlir-opt --convert-math-to-funcs --convert-arith-to-emitc  --convert-func-to-emitc in.mlir \
    | mlir-translate --mlir-to-cpp --declare-variables-at-top
```

fails on, e.g., `math.ipowi` with "#llvm.linkage<...> attribute created
with unregistered dialect".

This adds a `set-llvm-linkage` option to `--convert-math-to-funcs`
(default on) and leaves the attribute off when the flag is set to off.
DeltaFile
+29-18mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
+13-0mlir/test/Conversion/MathToFuncs/no-llvm-linkage.mlir
+5-1mlir/include/mlir/Conversion/Passes.td
+47-193 files

LLVM/project 3c3e1ee — llvm/lib/Target/WebAssembly/GISel WebAssemblyPreLegalizerCombiner.cpp WebAssemblyPostLegalizerCombiner.cpp

[WebAssembly] Fix Analysis Preservation for GISel Passes (#235960)

These are preserved by the LegacyPM so also mark them as preserved by
the NewPM versions.
DeltaFile
+2-0llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
+2-0llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
+4-02 files

LLVM/project 6b01e97 — llvm/lib/Target/RISCV RISCV.h RISCVCodeGenPassBuilder.cpp, llvm/lib/Target/RISCV/GISel RISCVO0PreLegalizerCombiner.cpp RISCVPostLegalizerCombiner.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+102-27llvm/lib/Target/RISCV/RISCVCodeGenPassBuilder.cpp
+67-26llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
+35-35llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
+43-19llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
+24-1llvm/test/CodeGen/RISCV/O3-newpm-pipeline.ll
+18-4llvm/lib/Target/RISCV/RISCV.h
+289-1123 files not shown
+306-1169 files