LLVM/project 2edade2libclc/generic/include/clc/shared vstore.h vload.h, libclc/generic/lib/shared vstore.cl vload.cl

[libclc][NFC] Clang-format vload/vstore code
DeltaFile
+191-189libclc/generic/lib/shared/vstore.cl
+91-73libclc/generic/lib/shared/vload.cl
+30-30libclc/generic/include/clc/shared/vstore.h
+17-16libclc/generic/include/clc/shared/vload.h
+10-10libclc/generic/lib/shared/vload_half.inc
+11-8libclc/generic/lib/shared/vstore_half.inc
+350-3266 files

LLVM/project 15321d2clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema Sema.h

[C] Add (new) -Wimplicit-void-ptr-cast to -Wc++-compat (#136855)

This introduces a new diagnostic group (-Wimplicit-void-ptr-cast),
grouped under -Wc++-compat, which diagnoses implicit conversions from
void * to another pointer type in C. It's a common source of
incompatibility with C++ and is something GCC diagnoses (though GCC does
not have a specific warning group for this).

Fixes #17792
DeltaFile
+38-0clang/test/Sema/implicit-void-ptr-cast.c
+17-0clang/include/clang/Sema/Sema.h
+11-3clang/lib/Sema/SemaExpr.cpp
+11-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+6-5clang/lib/Sema/SemaObjCProperty.cpp
+3-4clang/lib/Sema/SemaInit.cpp
+86-135 files not shown
+96-1811 files

LLVM/project 6900e90llvm/lib/TargetParser Triple.cpp, llvm/unittests/TargetParser TripleTest.cpp

[LLVM][TargetParser] Handle -msys targets the same as -cygwin. (#136817)

MSYS2 uses i686-pc-msys and x86_64-pc-msys as target, and is a fork of
Cygwin. There's an effort underway to try to switch as much as possible
to use -pc-cygwin targets, but the -msys target will be hanging around
for the forseeable future.
DeltaFile
+7-0llvm/unittests/TargetParser/TripleTest.cpp
+3-2llvm/lib/TargetParser/Triple.cpp
+10-22 files

LLVM/project d664c42libclc/generic/include/clc clcmacros.h clc.h

[libclc] Remove unnecessary clcmacros.h (#137149)

The macros defined by this file (not to be confused with clcmacro.h)
don't appear necessary for building libclc.

The language version macros should be handled by clang, and there are no
uses of NULL or kernel_exec in the source code.
DeltaFile
+0-31libclc/generic/include/clc/clcmacros.h
+0-3libclc/generic/include/clc/clc.h
+0-342 files

LLVM/project e37c236utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[mlir][bazel] Remove unnecessary dependencies. (#136999)

DeltaFile
+0-91utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+0-911 files

LLVM/project 585448fllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel lshr.ll sext_inreg.ll

AMDGPU/GlobalISel: add RegBankLegalize rules for bit shifts and sext-inreg

Uniform S16 shifts have to be extended to S32 using appropriate Extend
before lowering to S32 instruction.
Uniform packed V2S16 are lowered to SGPR S32 instructions,
other option is to use VALU packed V2S16 and ReadAnyLane.
For uniform S32 and S64 and divergent S16, S32, S64 and V2S16 there are
instructions available.
DeltaFile
+98-89llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
+107-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+42-3llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+17-17llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
+10-14llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext-inreg.mir
+7-10llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-lshr.mir
+281-1337 files not shown
+312-15213 files

LLVM/project ea57c82llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-select.mir

AMDGPU/GlobalISel: add RegBankLegalize rules for select

Uniform condition S1 is AnyExtended to S32 and high bits are
cleaned using AND with 1. Divergent S1 uses VCC.
Using B32/B64 rules to cover scalars vector and pointer types.
Divergent B64 is split to S32.
DeltaFile
+624-1,277llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
+21-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+7-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
+1-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+654-1,2805 files

LLVM/project 5cc4f82llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-or.mir regbankselect-xor.mir

AMDGPU/GlobalISel: add RegBankLegalize rules for AND OR and XOR

Uniform S1 is lowered to S32.
Divergent S1 is selected as VCC(S1) instruction select will select
SALU instruction based on wavesize (S32 or S64).
S16 are selected as is. There are register classes for vgpr S16.
Since some isel patterns check for sgpr S16 we don't lower to S32.
For 32 and 64 bit types we use B32/B64 rules that cover scalar vector
and pointers types.
SALU B32 and B64 and VALU B32 instructions are available.
Divergent B64 is lowered to B32.
DeltaFile
+40-45llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-or.mir
+39-45llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-xor.mir
+21-12llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and.mir
+21-10llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+9-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+132-1131 files not shown
+133-1137 files

LLVM/project 61c28d2llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-and-s1.mir regbankselect-sext.mir

AMDGPU/GlobalISel: add RegBankLegalize rules for extends and trunc

Uniform S1:
Truncs to uniform S1 and AnyExts from S1 are left as is as they are meant
to be combined away. Uniform S1 ZExt and SExt are lowered using select.
Divergent S1:
Trunc of VGPR to VCC is lowered as compare.
Extends of VCC are lowered using select.

For remaining types:
S32 to S64 ZExt and SExt are lowered using merge values, AnyExt and Trunc
are again left as is to be combined away.
Notably uniform S16 for SExt and Zext is not lowered to S32 and left as is
for instruction select to deal with them. This is because there are patterns
that check for S16 type.
DeltaFile
+81-26llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+52-53llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
+66-34llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
+57-32llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
+31-28llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
+43-4llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+330-1774 files not shown
+357-18310 files

LLVM/project eb742ecllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-ubfx.mir regbankselect-sbfx.mir

AMDGPU/GlobalISel: add RegBankLegalize rules for bitfield extract

Divergent S32 instruction is available, for S64 need to lower to S32.
Uniform instructions available for both S32 and S64 but need to pack
bitfield offset and size of bitfield into S32. Uniform instruction is
straight up selected since there is no available isel pattern.
DeltaFile
+115-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+37-31llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ubfx.mir
+36-30llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sbfx.mir
+12-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+3-3llvm/test/CodeGen/AMDGPU/GlobalISel/ubfx.ll
+3-3llvm/test/CodeGen/AMDGPU/GlobalISel/sbfx.ll
+206-692 files not shown
+212-698 files

LLVM/project 427b644llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrGISel.td, llvm/lib/Target/AArch64/GISel AArch64PostLegalizerLowering.cpp

Revert "[LLVM][ISel][AArch64 Remove AArch64ISD::FCM##z nodes. (#135817)"

This reverts commit 15d8b3cae9debc2bd7d27ca92ff599ba9fb30da5.
DeltaFile
+48-22llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
+23-45llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
+36-1llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+36-0llvm/lib/Target/AArch64/AArch64InstrGISel.td
+5-14llvm/lib/Target/AArch64/AArch64InstrInfo.td
+5-5llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-fcmp.mir
+153-875 files not shown
+167-9311 files

LLVM/project ebceb73mlir/lib/Dialect/Vector/IR VectorOps.cpp, mlir/test/Dialect/Vector canonicalize.mlir

[mlir][vector] Update the folder for vector.{insert|extract} (#136579)

This is a minor follow-up to #135498. It ensures that operations like
the following are not treated as out-of-bounds accesses and can be
folded correctly (*):

```mlir
  %c_neg_1 = arith.constant -1 : index
  %0 = vector.insert %value_to_store, %dest[%c_neg_1] : vector<5xf32> into vector<4x5xf32>
  %1 = vector.extract %src[%c_neg_1, 0] : f32 from vector<4x5xf32>
```

In addition to adding tests for the case above, this PR also relocates
the tests from #135498 to be alongside existing tests for the
`vector.{insert|extract}` folder, and reformats them to follow:
  * https://mlir.llvm.org/getting_started/TestingGuide/

For example:
  * The "no_fold" prefix is now used to label negative tests.

    [4 lines not shown]
DeltaFile
+55-38mlir/test/Dialect/Vector/canonicalize.mlir
+3-2mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+58-402 files

LLVM/project 88083a0llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vector-interleaved-load-i64-stride-3.ll

[X86] SimplifyDemandedVectorEltsForTargetNode - handle 512-bit X86ISD::VPERMI with lower half demanded elts (#137139)

512-bit X86ISD::VPERMI nodes handle the lower/upper 256-bits separately - so if we don't demand the upper half elements, we can just use the 256-bit variant.
DeltaFile
+12-16llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
+11-1llvm/lib/Target/X86/X86ISelLowering.cpp
+6-6llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
+29-233 files

LLVM/project 82c25d2clang/test/AST/ByteCode i686.cpp

[clang][bytecode] Disable i686 test

The array is too big and we don't have array fillers yet, see
e.g. https://lab.llvm.org/buildbot/#/builders/154/builds/15255
DeltaFile
+5-2clang/test/AST/ByteCode/i686.cpp
+5-21 files

LLVM/project c6c0846clang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_file.py

[libclang/python] Add equality comparison operators for File (#130383)

This covers the `File` interface changes added by #120590

---------

Co-authored-by: Mathias Stearn <redbeard0531 at gmail.com>
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
DeltaFile
+53-1clang/bindings/python/tests/cindex/test_file.py
+9-0clang/bindings/python/clang/cindex.py
+6-0clang/bindings/python/tests/cindex/INPUTS/testfile.c
+1-0clang/bindings/python/tests/cindex/INPUTS/a.inc
+1-0clang/bindings/python/tests/cindex/INPUTS/b.inc
+1-0clang/docs/ReleaseNotes.rst
+71-16 files

LLVM/project 66461dbllvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp

    SPIRV: Set NoPHIs property after rewriting them (#136327)

There should be no PHIs after selection, as OpPhi is used
 instead. This hopefully avoids errors in #135277.
DeltaFile
+2-0llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+2-01 files

LLVM/project e98a61dmlir/lib/Dialect/Tosa/IR TosaOps.cpp, mlir/test/Dialect/Tosa verifier.mlir invalid.mlir

[mlir][tosa] Add verifier check for Concat Op (#136047)

This adds verifier check for Concat Op
to make sure the sum of concatenated axis dimensions is equal to the
output's axis dimension

add tests in verifier.mlir
also moved existing concat verifier checks to verifier.mlir

Signed-off-by: Tai Ly <tai.ly at arm.com>
DeltaFile
+39-0mlir/test/Dialect/Tosa/verifier.mlir
+0-31mlir/test/Dialect/Tosa/invalid.mlir
+19-0mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
+58-313 files

LLVM/project 94a14f9llvm/lib/Target/SystemZ SystemZISelLowering.cpp SystemZInstrFP.td, llvm/test/CodeGen/SystemZ fp-copysign-03.ll fp-copysign-01.ll

[SystemZ] Add DAGCombine for FCOPYSIGN to remove rounding. (#136131)

Add a DAGCombine for FCOPYSIGN that removes the rounding which is never
needed as the sign bit is already in the correct place. This helps in particular the
rounding to f16 case which needs a libcall.

Also remove the roundings for other FP VTs and simplify the CPSDR
patterns correspondingly.

fp-copysign-03.ll test updated, now also covering the other FP VT
combinations.
DeltaFile
+190-45llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
+18-0llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+4-4llvm/lib/Target/SystemZ/SystemZInstrFP.td
+1-1llvm/test/CodeGen/SystemZ/fp-copysign-01.ll
+1-1llvm/test/CodeGen/SystemZ/fp-copysign-02.ll
+1-0llvm/lib/Target/SystemZ/SystemZISelLowering.h
+215-516 files

LLVM/project 55066b8clang/lib/AST/ByteCode Interp.h, clang/test/AST/ByteCode i686.cpp

[clang][bytecode] Compute pointer differences as 64bit integers (#137128)

And only convert to the target type after that.
DeltaFile
+15-9clang/lib/AST/ByteCode/Interp.h
+14-0clang/test/AST/ByteCode/i686.cpp
+29-92 files

LLVM/project 1ec22fallvm/lib/Target/SystemZ SystemZInstrFP.td, llvm/test/CodeGen/SystemZ fp-mul-10.ll fp-abs-02.ll

[SystemZ] Handle f16 load positive/negative/complement without libcalls. (#136286)

This can be done directly with the (64-bit) target instruction as only the sign bit
is changed.
DeltaFile
+10-11llvm/test/CodeGen/SystemZ/fp-mul-10.ll
+12-0llvm/test/CodeGen/SystemZ/fp-abs-02.ll
+3-7llvm/test/CodeGen/SystemZ/fp-abs-04.ll
+6-2llvm/lib/Target/SystemZ/SystemZInstrFP.td
+3-4llvm/test/CodeGen/SystemZ/fp-neg-02.ll
+3-4llvm/test/CodeGen/SystemZ/fp-mul-08.ll
+37-284 files not shown
+46-3910 files

LLVM/project 59b26abcompiler-rt/test/tsan stack_race3.cpp, llvm/lib/Transforms/Instrumentation ThreadSanitizer.cpp SanitizerBinaryMetadata.cpp

[TSan, SanitizerBinaryMetadata] Analyze the capture status for `alloca` rather than arbitrary `Addr` (#132756)

This PR is based on my last PR #132752 (the first commit of this PR),
but addressing a different issue.

This commit addresses the limitation in `PointerMayBeCaptured` analysis
when dealing with derived pointers (e.g. arr+1) as described in issue
#132739.

The current implementation of `PointerMayBeCaptured` may miss captures
of the underlying `alloca` when analyzing derived pointers, leading to
some FNs in TSan, as follows:
```cpp
void *Thread(void *a) {
  ((int*)a)[1] = 43;
  return 0;
}

int main() {

    [28 lines not shown]
DeltaFile
+21-0compiler-rt/test/tsan/stack_race3.cpp
+15-0llvm/test/Instrumentation/ThreadSanitizer/capture.ll
+2-1llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
+1-1llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
+39-24 files

LLVM/project be04497clang/include/clang/Basic BuiltinsAArch64.def, clang/lib/Headers arm_acle.h

[AArch64] Update __gcsss intrinsic to match revised ACLE specification (#136850)

The original __gcsss intrinsic was implemented based on:
https://github.com/ARM-software/acle/pull/260
with the signature: const void *__gcsss(const void *)

Per the updated specification in:
https://github.com/ARM-software/acle/pull/364
both const qualifiers have been removed. This commit updates the
signature accordingly to: void *__gcsss(void *)

This aligns the implementation with the latest ACLE definition.
DeltaFile
+3-2clang/lib/Headers/arm_acle.h
+2-2clang/test/CodeGen/AArch64/gcs.c
+1-1clang/include/clang/Basic/BuiltinsAArch64.def
+6-53 files

LLVM/project 3883b27llvm/lib/Transforms/Vectorize VPlanPatternMatch.h

[VPlan] Fix typo in assertion. NFC (#137009)

DeltaFile
+2-1llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+2-11 files

LLVM/project a2f00e1llvm/lib/Target/RISCV RISCVInstrInfoVVLPatterns.td, llvm/test/CodeGen/RISCV/rvv fixed-vectors-vwadd.ll

[RISCV] Add fixed-length patterns for disjoint or patterns for vwadd[u].v{v,x} (#136824)

This is the fixed-length equivalent of #136716.

The pattern we need to match is ({s,z}ext_vl (or_vl disjoint a, b)).
This only allows or_vls with an undef passthru, which allows us to
ignore its mask and vl and just take it from the {s,z}ext_vl.

A riscv_or_vl_is_add_oneuse PatFrag is added to mirror or_is_add in
RISCVInstrInfo.td.
DeltaFile
+45-0llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+8-12llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
+53-122 files

LLVM/project 03c2862libcxx/include/__ranges to.h, libcxx/test/libcxx/ranges/range.utility/range.utility.conv to.static_assert.verify.cpp

[libc++][ranges] Reject non-class types in ranges::to  (#135802)

This patch adds `static_assert` using `is_class_v` and `is_union_v` to
reject no-class type template parameters.

Fixes #132133

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+73-6libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.static_assert.verify.cpp
+4-2libcxx/include/__ranges/to.h
+77-82 files

LLVM/project a3d05e8llvm/lib/Target/AMDGPU AMDGPUIGroupLP.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll

Remove an incorrect assert in MFMASmallGemmSingleWaveOpt. (#130131)

This assert was failing in a fuzzing test. I consulted with @jrbyrnes
who said:

The MFMASmallGemmSingleWaveOpt::apply() method is invoked if and only if
the user has inserted an intrinsic llvm.amdgcn.iglp.opt(i32 1) into
their source code. This intrinsic applies a highly specialized DAG
mutation to result in specific scheduling for a specific set of kernels.
These assertions are really just confirming that the characteristics of
the kernel match what is expected (i.e. The kernels are similar to the
ones this DAG mutation strategy were designed against).

However, if we apply this DAG mutation to kernels for which is was not
designed, then we may not find the types of instructions we are looking
for, and may end up with empty caches.

I think it should be fine to just return false if the cache is empty
instead of the assert.
DeltaFile
+43-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
+0-3llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
+43-32 files

LLVM/project e268f71llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[VPlan] Remove unneeded early continue. (NFC)

As suggested in
https://github.com/llvm/llvm-project/pull/136455, now unreachable exit
blocks won't have any phi nodes.
DeltaFile
+0-4llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+0-41 files

LLVM/project 0c61b24mlir/include/mlir/Transforms GreedyPatternRewriteDriver.h, mlir/lib/Dialect/Arith/Transforms IntRangeOptimizations.cpp

[mlir] add a fluent API to GreedyRewriterConfig (#137122)

This is similar to other configuration objects used across MLIR.

Rename some fields to better reflect that they are no longer booleans.

Reland 04d261101b4f229189463136a794e3e362a793af / #132253.
DeltaFile
+51-50mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
+63-13mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
+14-14mlir/test/lib/Dialect/Test/TestPatterns.cpp
+8-8mlir/lib/Transforms/Canonicalizer.cpp
+8-8mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
+7-9mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
+151-10224 files not shown
+225-16930 files

LLVM/project 15bb1dbllvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize tail-folding-vectorization-factor-1.ll pointer-induction.ll

[VPlan] Remove ILV::sinkScalarOperands. (#136023)

Remove legacy ILV sinkScalarOperands, which is superseded by the
sinkScalarOperands VPlan transforms.

There are a few cases that aren't handled by VPlan's sinkScalarOperands,
because the recipes doesn't support replicating. Those are pointer
inductions and blends.

We could probably improve this further, by allowing replication for more
recipes, but I don't think the extra complexity is warranted.

Depends on https://github.com/llvm/llvm-project/pull/136021.

PR: https://github.com/llvm/llvm-project/pull/136023
DeltaFile
+2-92llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+32-28llvm/test/Transforms/LoopVectorize/X86/small-size.ll
+15-12llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
+9-7llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
+8-7llvm/test/Transforms/LoopVectorize/pointer-induction.ll
+2-2llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
+68-1486 files

LLVM/project bea110dclang-tools-extra/clangd XRefs.cpp, clang-tools-extra/clangd/unittests CallHierarchyTests.cpp

[clangd] Strip invalid fromRanges for outgoing calls (#134657)

`CallHierarchyOutgoingCall::fromRanges` are interpreted as ranges in the
same file as the item for which 'outgoingCalls' was called.

It's possible for outgoing calls to be in a different file than that
item if the item is just a declaration (e.g. in a header file). Now,
such calls are dropped instead of being returned to the client.

This is the same as the change made in #111616, but now for outgoing
calls.

Fixes clangd/clangd#2350

---------

Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
DeltaFile
+18-5clang-tools-extra/clangd/XRefs.cpp
+17-6clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
+35-112 files