LLVM/project cd3b318 — lldb/include/lldb/Core Mangled.h, lldb/source/Core Mangled.cpp

[lldb] Stop recognizing Swift mangled names in Mangled (#232930)

Currently Mangled recognizes Swift mangled names, even though LLDB on
llvm.org has no Swift support and can't demangle them.

This patch removes them, so that the Swift plugin can register a
proper Swift mangling scheme. On main, this means that Swift names are
now stored as plain names, which is how LLDB already displayed
them.

Assisted-by: Claude

Depends on: https://github.com/llvm/llvm-project/pull/232929
DeltaFile
+6-37lldb/source/Core/Mangled.cpp
+0-18lldb/unittests/Core/MangledTest.cpp
+2-3lldb/include/lldb/Core/Mangled.h
+8-583 files

LLVM/project ece2ac2 — utils/bazel/llvm-project-overlay/lldb/source/Plugins plugin_config.bzl BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/unittests BUILD.bazel

[Bazel] Fixes f7d1119 (#238993)

This fixes f7d11195ab8bed23fec04b7ef638ddde84630179 (#232927).

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

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+18-0utils/bazel/llvm-project-overlay/lldb/unittests/BUILD.bazel
+15-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
+34-03 files

LLVM/project e6af56a — clang/test/OpenMP metadirective_runtime_implicit_map.cpp

[OpenMP][NFC] Add a host triple to metadirective_runtime_implicit_map.cpp (#238893)

`metadirective_runtime_implicit_map.cpp` (added in #236432) uses
`-fopenmp-targets=x86_64-pc-linux-gnu` without a host `-triple`, so the
host defaults to the machine running the test. On 32-bit hosts this
fails with:
OpenMP target architecture 'x86_64-pc-linux-gnu' pointer size is
incompatible with host 'armv8l-unknown-linux-gnueabihf' CI failure:
https://lab.llvm.org/buildbot/#/builders/135/builds/5051
(clang-armv7-vfpv3-2stage).

This PR adds a triple.
DeltaFile
+2-1clang/test/OpenMP/metadirective_runtime_implicit_map.cpp
+2-11 files

LLVM/project 56264ba — llvm/test/CodeGen/X86 x86_64-mul-by-const.ll

[X86] x86_64-mul-by-const.ll - regenerate test checks (#238981)
DeltaFile
+10-4llvm/test/CodeGen/X86/x86_64-mul-by-const.ll
+10-41 files

LLVM/project f8897bb — flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-loop-real-bounds.f90

[flang][OpenACC] Convert real DO controls for implicit acc.loop (#238833)

A DO loop inside an OpenACC compute construct with no !$acc loop
directive is lowered to an implicit acc.loop. When a DO control
expression is REAL, the lowering passed the REAL value straight to
acc.loop, which requires integer operands. A REAL upper bound with no
step also built the default step from that REAL type, so flang aborts in
IntegerAttr creation:

```
  error: expected integer or index type
  Assertion `succeeded(ConcreteT::verifyInvariants(...))' failed.
  ```

A REAL lower bound instead fails acc.loop verification with "operand #0 must be variadic of integer or index, but got 'f32'".

For implicit loops, convert a non-integer control (lower, upper, or step) to the induction variable's integer type, matching non-OpenACC DO lowering. Integer controls of any kind are used unchanged. Explicit !$acc loop directives keep their existing lowering, since OpenACC requires their bounds to be integer.

Add a test for REAL bounds and a REAL step on implicit loops.
DeltaFile
+55-24flang/lib/Lower/OpenACC.cpp
+42-0flang/test/Lower/OpenACC/acc-loop-real-bounds.f90
+97-242 files

LLVM/project 6507457 — lldb/source/Core Mangled.cpp, lldb/source/Plugins/Language/D CMakeLists.txt DLanguage.h

[lldb] Move demangling into a minimal D language plugin (#232929)

Currently Mangled demangles D names itself, since there is no D
language plugin to hand them to.

This patch adds a minimal one, like the Rust plugin, that recognizes D
source files, registers the D mangling scheme, and demangles its names
with the code that moves out of Mangled, which leaves Mangled without
a demangler of its own.

Assisted-by: Claude

Depends on https://github.com/llvm/llvm-project/pull/232927
DeltaFile
+85-0lldb/source/Plugins/Language/D/DLanguage.cpp
+47-0lldb/source/Plugins/Language/D/DLanguage.h
+45-0lldb/unittests/Language/D/DLanguageTest.cpp
+0-41lldb/source/Core/Mangled.cpp
+11-0lldb/source/Plugins/Language/D/CMakeLists.txt
+6-0lldb/unittests/Language/D/CMakeLists.txt
+194-416 files not shown
+200-4312 files

LLVM/project f7d1119 — lldb/source/Core Mangled.cpp, lldb/source/Plugins/Language/Rust CMakeLists.txt RustLanguage.h

[lldb] Move demangling into a minimal Rust language plugin (#232927)

Currently Mangled demangles Rust v0 names itself, since there is no
Rust language plugin to hand them to.

This patch adds a minimal one, like the Fortran plugin, that
recognizes Rust source files, registers the Rust v0 mangling scheme,
and demangles its names with the code that moves out of Mangled.

Assisted-by: Claude

Depends on: https://github.com/llvm/llvm-project/pull/232926
DeltaFile
+74-0lldb/source/Plugins/Language/Rust/RustLanguage.cpp
+47-0lldb/source/Plugins/Language/Rust/RustLanguage.h
+37-0lldb/unittests/Language/Rust/RustLanguageTest.cpp
+0-20lldb/source/Core/Mangled.cpp
+11-0lldb/source/Plugins/Language/Rust/CMakeLists.txt
+6-0lldb/unittests/Language/Rust/CMakeLists.txt
+175-206 files not shown
+182-2212 files

LLVM/project a657cb2 — llvm/lib/Target/RISCV/MCTargetDesc RISCVBaseInfo.h

fixup! pure cap -> purecap
DeltaFile
+1-1llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+1-11 files

LLVM/project 676f34e — llvm/lib/Target/RISCV/MCTargetDesc RISCVBaseInfo.h

fixup! remove comma
DeltaFile
+1-1llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+1-11 files

LLVM/project bfc00cf — llvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVCallingConv.cpp, llvm/lib/Target/RISCV/MCTargetDesc RISCVELFStreamer.cpp RISCVBaseInfo.h

fixup! Address review comments
DeltaFile
+8-6llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+2-2llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-1llvm/lib/Target/RISCV/RISCVCallingConv.cpp
+2-0llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
+14-105 files

LLVM/project a48ee44 — lldb/test/API/types TestLongTypes.py TestLongTypesExpr.py

[lldb][test] Delete 'types' test (#208402)

This removes the various `types/` tests in LLDB. These tests suffer from
various problems:

* They are slow. Their current runtime is nearly 90s on my new machine,
which is a lot for tests that only print a few integers/float vars.

* Their scope is very vague. E.g., `TestCharType` doesn't just test char
types, but also tests capturing them in block functions. Also while most
tests are related to basic types, some also test edge cases of struct
types and other things that belong into their own test folder.

* They are very overengineered. Tests should be stupid and not have
whole dedicated output-capturing-and-parsing system.

* They don't really test anything. There are no edge cases or
problematic values tested.


    [7 lines not shown]
DeltaFile
+0-303lldb/test/API/types/AbstractBase.py
+0-225lldb/test/API/types/basic_type.cpp
+0-78lldb/test/API/types/HideTestFailures.py
+0-49lldb/test/API/types/TestRecursiveTypes.py
+0-47lldb/test/API/types/TestLongTypesExpr.py
+0-45lldb/test/API/types/TestLongTypes.py
+0-74726 files not shown
+0-1,19132 files

LLVM/project 6d4fe79 — clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaDeclCXX.cpp

Allow constexpr defaulted postfix operators that call non-constexpr functions

Before C++23, an explicitly-defaulted function could only be declared
constexpr if it was constexpr-compatible. Defaulted postfix operators are
a C++2d feature, available in earlier modes only as an extension, so
don't apply that restriction to them; this follows the P3668R4 wording.
Whether such an operator is implicitly constexpr still depends on the
functions it invokes before C++23.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+24-58clang/test/SemaCXX/cxx2d-defaulted-postfix-operators.cpp
+12-42clang/lib/Sema/SemaDeclCXX.cpp
+3-12clang/include/clang/Basic/DiagnosticSemaKinds.td
+39-1123 files

LLVM/project 33a8da6 — clang/lib/Sema SemaDeclCXX.cpp, clang/test/SemaCXX cxx2d-defaulted-postfix-operators-definition.cpp

Assert on unreachable failures in the defaulted postfix operator body

Building 'c', the declaration statement for 'tmp', and the prefix
operator call on an operand of class or enumeration type cannot fail,
so assert instead of checking. The remaining failure paths are covered
by tests; add one for an abstract class type C, the only way to make
'tmp' invalid.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-26clang/lib/Sema/SemaDeclCXX.cpp
+10-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-definition.cpp
+28-262 files

LLVM/project 4ef14dc — clang/test/CXX/over/over.oper/over.inc/over.inc.default p1.cpp p2.cpp, clang/test/SemaCXX cxx2d-defaulted-postfix-operators-declaration.cpp cxx2d-defaulted-postfix-operators-deleted.cpp

Move defaulted postfix operator tests to SemaCXX

clang/test/CXX is not where edge cases are tested.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-643clang/test/CXX/over/over.oper/over.inc/over.inc.default/p3.cpp
+643-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-definition.cpp
+0-452clang/test/CXX/over/over.oper/over.inc/over.inc.default/p2.cpp
+452-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-deleted.cpp
+0-413clang/test/CXX/over/over.oper/over.inc/over.inc.default/p1.cpp
+413-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-declaration.cpp
+1,508-1,5086 files

LLVM/project 07cc2f7 — llvm/include/llvm/Object OffloadBinary.h, llvm/lib/Object OffloadBinary.cpp

[Object] Add an 'isCompressed' helper for offload binaries (#238931)

Summary:
Previous changes supports the version three with compressed binaries.
This adds a publically exposed helper so people can determine if it's
compressed without digging into the binary format themselves, if that
decision is important for something.
DeltaFile
+12-6llvm/lib/Object/OffloadBinary.cpp
+8-2llvm/unittests/Object/OffloadingTest.cpp
+3-0llvm/include/llvm/Object/OffloadBinary.h
+23-83 files

LLVM/project 25b461f — clang/test/CodeGenCXX init-priority-attr.cpp

Revert init-prority-attr clangir run line (#238987)

This one has an ordering difference on the aarch64 server for some
reason, so revert it, since the goal of #238886 was to just do 'passing'
tests for now.

Removes the new 'run' line.
DeltaFile
+0-1clang/test/CodeGenCXX/init-priority-attr.cpp
+0-11 files

LLVM/project 19801af — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

feedback

Created using spr 1.3.7
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,3765,235 files not shown
+131,612-50,4065,241 files

LLVM/project a53b910 — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,3765,235 files not shown
+131,608-50,4025,241 files

LLVM/project 66254dd — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 csel-of-csel-same-flags.ll

[AArch64] Fold CSEL of a CSEL with the same flags (#224992)

When an inner CSEL shares the same flag as the outer CSEL, substituting
the argument of the selected value can either 1) remove the select, or
2) break the dependency on the inner CSEL.

```
(CSEL (CSEL a b  cc F) d cc F) => (CSEL a d cc F)
(CSEL (CSEL a b !cc F) d cc F) => (CSEL b d cc F)
(CSEL d (CSEL a b  cc F) cc F) => (CSEL d b cc F)
(CSEL d (CSEL a b !cc F) cc F) => (CSEL d a cc F)
// (CSEL (OP x.. (CSEL a b  cc F) y..) d cc F) => (CSEL (OP x.. a y..) d cc F)
// (CSEL (OP x.. (CSEL a b !cc F) y..) d cc F) => (CSEL (OP x.. b y..) d cc F)
// (CSEL d (OP x.. (CSEL a b  cc F) y..) cc F) => (CSEL d (OP x.. b y..) cc F)
// (CSEL d (OP x.. (CSEL a b !cc F) y..) cc F) => (CSEL d (OP x.. a y..) cc F)
```
Where single use OP is folded, but multi-use OP is only folded if it can
be absorbed into a CSINC/CSINV/CSNEG.


    [2 lines not shown]
DeltaFile
+260-0llvm/test/CodeGen/AArch64/csel-of-csel-same-flags.ll
+93-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+353-02 files

LLVM/project c389e88 — mlir/include/mlir/Dialect/Bufferization/Transforms Passes.td, mlir/lib/Dialect/Bufferization/Transforms StaticMemoryPlannerAnalysis.cpp

[mlir][bufferization] Skip non-identity layouts in static memory planning (#237125)

Skip allocations with non-identity layouts to avoid invalid
`memref.view` operations, preserving affected alloc/dealloc groups.

reproducer: https://godbolt.org/z/cs5MEG18W

Assisted-by: Codex
DeltaFile
+52-0mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-analysis.mlir
+7-0mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
+1-0mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
+60-03 files

LLVM/project b60022b — llvm/lib/IR ModuleSummaryIndex.cpp

[ThinLTO][NFC] Use a switch for ImportKind in exportToDot (#233610)

`ModuleSummaryIndex::exportToDot` used an if/else-if chain to choose the
"definition" or "declaration" comment for each summary. `ImportKind` has
only these two enumerators, so the else-if condition is always true when
it is reached.

Switch on the enum-typed `importType()` instead, without a `default`
label, so that `-Wswitch` flags this code if a new `ImportKind` is
added. With the previous code a new kind would silently get no comment.

No new test, since this is NFC. The dot-dumper tests in
llvm/test/ThinLTO/X86 exercise this function, and `dot-dumper.ll` is the
only test that checks these comments. They pass, as does `check-llvm`.

Assisted-by: Claude Code
DeltaFile
+6-2llvm/lib/IR/ModuleSummaryIndex.cpp
+6-21 files

LLVM/project 6848f99 — clang/lib/Sema SemaDeclCXX.cpp

Use BuildDeclRefExpr for the defaulted postfix operator parameter

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-2clang/lib/Sema/SemaDeclCXX.cpp
+4-21 files

LLVM/project b6fafe5 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/CodeGen/RISCV atomic-cmpxchg.ll atomic-signext.ll

AtomicExpand: Use RuntimeLibcallsInfo signatures for atomic libcalls

Take the function type and attributes of the emitted __atomic_* calls
from RuntimeLibcallsInfo instead of building them by hand.

This fixes missing extension attributes on the value operand and
result of the sized variants, which are unsigned integers of the
access size. On targets whose C ABI extends narrow integer arguments,
such as RISC-V and ARM, the callee could see unextended high bits. i8
and i16 values now get zeroext, and i32 values get signext on
RV64. Callers can also rely on the extended return value, which
removes redundant extensions after some calls.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+705-360llvm/test/CodeGen/RISCV/atomic-rmw.ll
+460-360llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+166-104llvm/test/CodeGen/RISCV/atomic-signext.ll
+105-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-and-or-xor.ll
+19-56llvm/lib/CodeGen/AtomicExpandPass.cpp
+70-0llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
+1,525-88014 files not shown
+1,777-96120 files

LLVM/project 265042f — mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM control-flow-ops-to-llvm.mlir

[mlir][SPIR-V] Convert spirv.mlir.selection header ops in SPIRVToLLVM (#238896)

Ops before the first branch in a selection were lost or caused a crash
DeltaFile
+15-34mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+24-2mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
+39-362 files

LLVM/project 87a8d27 — llvm/lib/CodeGen InlineSpiller.cpp

Update llvm/lib/CodeGen/InlineSpiller.cpp

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/lib/CodeGen/InlineSpiller.cpp
+1-11 files

LLVM/project d5da222 — .github/workflows lnt-submit.yml, libcxx/utils/ci/lnt README.md

[ci] Adapt the LNT tooling to LNT projects (#238898)

We just added a new way to group test suites into projects in LNT. This
allows giving more flexibility to different projects / teams sharing one
instance (e.g. keys can be scoped to a project, and the UI groups things
by project).

However, this means that submissions also have to specify a project, not
just a test suite, which is a breaking change (fine since this is still
early).

This patch mechanically updates the test suites to the following
projects and suites:

  libcxx          -> libcxx/microbenchmarks
  libstdcxx       -> libcxx/libstdcxx_microbenchmarks
  llvm_test_suite -> llvm/test_suite
DeltaFile
+0-109libcxx/utils/ci/lnt/schemas/libcxx.json
+109-0libcxx/utils/ci/lnt/schemas/microbenchmarks.json
+0-70libcxx/utils/ci/lnt/schemas/libstdcxx.json
+70-0libcxx/utils/ci/lnt/schemas/libstdcxx_microbenchmarks.json
+13-11libcxx/utils/ci/lnt/README.md
+12-5.github/workflows/lnt-submit.yml
+204-19511 files not shown
+246-22117 files

LLVM/project 191ca4e — clang/lib/CIR/CodeGen CIRGenExprConstant.cpp CIRGenModule.h, clang/test/CIR/CodeGen attr-weakref-type-mismatch.c attr-weakref.c

[CIR] Implement 'weak-ref' lowering (#238538)

This patch implements the weakref attribute, replacing 2 missing
features and quite a few 'NYI' diagnostics.

This is handled for both functions and variables, so it needs to be
threaded in a few places. For the most part, this is a copy of the
classic-codegen changes, though a few places cause us to have to do
things in slightly different orders, such as the CIRGenExprConstant
changes, where the CIR differentiation between a global view to variable
and function are different.

AI disclosure: Claude wrote up the test and got more cases than I came
up with in my attempt.
DeltaFile
+111-4clang/test/CIR/CodeGen/attr-weakref.c
+79-17clang/lib/CIR/CodeGen/CIRGenModule.cpp
+28-8clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+30-0clang/test/CIR/CodeGen/attr-weakref-type-mismatch.c
+22-1clang/lib/CIR/CodeGen/CIRGenModule.h
+11-7clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+281-373 files not shown
+291-399 files

LLVM/project 5844f74 — llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Only apply vector math attributes to floating point vectors

i128 is now <2 x i64> on Win64, which made the vector type checks treat
integer helpers like __atomic_load_16 as vector math functions and mark
them nosync and nofree. Check for a floating point vector argument.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+6-2llvm/lib/IR/RuntimeLibcalls.cpp
+6-21 files

LLVM/project ddcc9ec — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use <2 x i64> for i128 libcall types on Win64

Win64 passes __int128 by reference and returns it in XMM0. i128 uses
GPR pairs, and <2 x i64> uses the correct vector register. This
matches the type AtomicExpand and clang uses for these functions.

Also fix AtomicExpand to use the correct type for UEFI (which should
eventually use the type information in RuntimeLibcallsInfo).

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+593-156llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+84-0llvm/test/Transforms/AtomicExpand/X86/expand-atomic-libcall-i128-win64.ll
+8-2llvm/lib/IR/RuntimeLibcalls.cpp
+2-2llvm/lib/CodeGen/AtomicExpandPass.cpp
+1-0llvm/test/CodeGen/X86/atomic-nocx16-win.ll
+688-1605 files

LLVM/project e67fbe5 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPCompatibilityAnalysis.h SLPCompatibilityAnalysis.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+47-29llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+19-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
+7-7llvm/test/Transforms/SLPVectorizer/X86/interchangeable-cmp-predicates.ll
+11-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
+2-2llvm/test/Transforms/SLPVectorizer/X86/bit-test-narrowed-samesign.ll
+86-385 files