LLVM/project 552f6c9llvm/test/CodeGen/X86 vector-interleaved-store-i8-stride-7.ll vector-interleaved-store-i16-stride-6.ll, llvm/test/Instrumentation/MemorySanitizer/AArch64 arm64-ld1.ll

rebase

Created using spr 1.3.4
DeltaFile
+3,128-3,170llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
+2,487-2,510llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,716-1,780llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
+15,343-11,6084,566 files not shown
+159,258-104,3134,572 files

LLVM/project dff5d31llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Move DebugInfoFinder decl closer to its place of usage

Summary:
This makes it clear that DIFinder is only really necessary for llvm.dbg.cu update.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129154, branch: users/artempyanykh/fast-coro-upstream-part2-take2/12
DeltaFile
+2-3llvm/lib/Transforms/Utils/CloneFunction.cpp
+2-31 files

LLVM/project e2aef42llvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Remove now unused CollectDebugInfoForCloning

Summary:
This function is no longer used, let's remove it from the header and
impl.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129152, branch: users/artempyanykh/fast-coro-upstream-part2-take2/10
DeltaFile
+0-21llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-14llvm/include/llvm/Transforms/Utils/Cloning.h
+0-352 files

LLVM/project 18be509llvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Remove now unused FindDebugInfoToIdentityMap

Summary:
This function is no longer needed.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129151, branch: users/artempyanykh/fast-coro-upstream-part2-take2/9
DeltaFile
+0-34llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-19llvm/include/llvm/Transforms/Utils/Cloning.h
+0-532 files

LLVM/project 4e49c7fllvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Clean up comments in CloneFunctionInto

Summary:
Some comments no longer make sense nor refer to an existing code path.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129153, branch: users/artempyanykh/fast-coro-upstream-part2-take2/11
DeltaFile
+0-11llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-111 files

LLVM/project aa612f3llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Replace DIFinder usage in CloneFunctionInto with a MetadataPredicate (#129148)


Summary:
The new code should be functionally identical to the old one (but
faster). The reasoning is as follows.

In the old code when cloning within the module:
1. DIFinder traverses and collects *all* debug info reachable from a
   function, its instructions, and its owning compile unit.
2. Then "compile units, types, other subprograms, and lexical blocks of
   other subprograms" are saved in a set.
3. Then when we MapMetadata, we traverse the function's debug info
   _again_ and those nodes that are in the set from p.2 are identity
   mapped.

This looks equivalent to just doing step 3 with identity mapping based
on a predicate that says to identity map "compile units, types, other
subprograms, and lexical blocks of other subprograms" (same as in step

    [4 lines not shown]
DeltaFile
+25-7llvm/lib/Transforms/Utils/CloneFunction.cpp
+25-71 files

LLVM/project 85e290bllvm/test/CodeGen/AMDGPU bf16.ll, llvm/test/CodeGen/NVPTX cmpxchg-sm90.ll cmpxchg-sm70.ll

Merge branch 'main' into users/meinersbur/flang_runtime_remove-FLANG_INCLUDE_RUNTIME
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+7,350-4,196llvm/test/CodeGen/AMDGPU/bf16.ll
+6,173-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmul.ll
+0-6,173llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
+5,680-0llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
+90,478-10,3696,999 files not shown
+425,286-177,3787,005 files

LLVM/project 95de6d8llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Clean up comments in CloneFunctionInto

Summary:
Some comments no longer make sense nor refer to an existing code path.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129153, branch: users/artempyanykh/fast-coro-upstream-part2-take2/11
DeltaFile
+0-11llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-111 files

LLVM/project 4a68cdellvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Remove now unused CollectDebugInfoForCloning

Summary:
This function is no longer used, let's remove it from the header and
impl.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129152, branch: users/artempyanykh/fast-coro-upstream-part2-take2/10
DeltaFile
+0-21llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-14llvm/include/llvm/Transforms/Utils/Cloning.h
+0-352 files

LLVM/project f235ccfllvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Replace DIFinder usage in CloneFunctionInto with a MetadataPredicate

Summary:
The new code should be functionally identical to the old one (but
faster). The reasoning is as follows.

In the old code when cloning within the module:
1. DIFinder traverses and collects *all* debug info reachable from a
   function, its instructions, and its owning compile unit.
2. Then "compile units, types, other subprograms, and lexical blocks of
   other subprograms" are saved in a set.
3. Then when we MapMetadata, we traverse the function's debug info
   _again_ and those nodes that are in the set from p.2 are identity
   mapped.

This looks equivalent to just doing step 3 with identity mapping based
on a predicate that says to identity map "compile units, types, other
subprograms, and lexical blocks of other subprograms" (same as in step
2). This is what the new code does.

    [6 lines not shown]
DeltaFile
+25-7llvm/lib/Transforms/Utils/CloneFunction.cpp
+25-71 files

LLVM/project 0fd78cdllvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Move DebugInfoFinder decl closer to its place of usage

Summary:
This makes it clear that DIFinder is only really necessary for llvm.dbg.cu update.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129154, branch: users/artempyanykh/fast-coro-upstream-part2-take2/12
DeltaFile
+2-3llvm/lib/Transforms/Utils/CloneFunction.cpp
+2-31 files

LLVM/project a415b77llvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Remove now unused FindDebugInfoToIdentityMap

Summary:
This function is no longer needed.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129151, branch: users/artempyanykh/fast-coro-upstream-part2-take2/9
DeltaFile
+0-34llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-19llvm/include/llvm/Transforms/Utils/Cloning.h
+0-532 files

LLVM/project 726ffd3llvm/include/llvm/Transforms/Utils ValueMapper.h Cloning.h, llvm/lib/Transforms/Coroutines CoroSplit.cpp

[NFC][Cloning] Replace IdentityMD set with a predicate in ValueMapper (#129147)


Summary:
We used the set only to check if it contains certain metadata nodes.
Replacing the set with a predicate makes the intention clearer and the
API more general.

Test Plan:
ninja check-all
DeltaFile
+14-13llvm/include/llvm/Transforms/Utils/ValueMapper.h
+7-8llvm/lib/Transforms/Utils/ValueMapper.cpp
+6-4llvm/lib/Transforms/Utils/CloneFunction.cpp
+5-2llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+2-2llvm/include/llvm/Transforms/Utils/Cloning.h
+34-295 files

LLVM/project 2ece26fllvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

Update OB name from `type` to `callee_type`.

Created using spr 1.3.6-beta.1
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+164,956-024,133 files not shown
+2,356,601-721,36324,139 files

LLVM/project 9c94049llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+164,956-024,129 files not shown
+2,356,435-721,19824,135 files

LLVM/project 05307cfllvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2bf16.v8bf16.ll

Update LTO compilation CodeGen flag for call-graph-section.

Created using spr 1.3.6-beta.1
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+164,956-024,129 files not shown
+2,356,435-721,19824,135 files

LLVM/project de23806llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2f16.v8f16.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+30,641-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+164,956-024,128 files not shown
+2,356,423-721,19324,134 files

LLVM/project 2c57c89llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll

Merge branch 'main' of https://github.com/llvm/llvm-project into remove-old-res-middle
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+2,915-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+10,875-9,2902,274 files not shown
+97,298-62,3572,280 files

LLVM/project 30fa7a2llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Make DifferentModule case more obvious in CollectDebugInfoForCloning (#129146)


Summary:
This should be behaviorally equivalent. DIFinder is only used when
cloning into a DifferentModule as part of llvm.dbg.cu update in
CloneFunctionInto.

Test Plan:
ninja check-llvm-unit check-llvm
DeltaFile
+8-2llvm/lib/Transforms/Utils/CloneFunction.cpp
+8-21 files

LLVM/project ed3f871llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge branch 'main' into users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+1,240-1,230llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
+9,200-10,5201,240 files not shown
+47,494-33,1451,246 files

LLVM/project 397c487llvm/test/CodeGen/AMDGPU global_atomics_scan_fadd.ll global_atomics_scan_fsub.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge remote-tracking branch 'origin/main' into users/ccc03-08-_astmatcher_templateargumentcountis_support_functiondecl_
DeltaFile
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+726-1,509llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
+7,080-8,2571,023 files not shown
+37,140-28,4421,029 files

LLVM/project dc66ca4llvm/test/CodeGen/AMDGPU llvm.amdgcn.smfmac.gfx950.ll, llvm/test/CodeGen/RISCV xqccmp-push-pop-popret.ll

Rebase, address comments

Created using spr 1.3.5
DeltaFile
+6,173-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmul.ll
+0-6,173llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
+3,951-0llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,746-1,734llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+1,348-1,952llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
+17,078-9,8592,714 files not shown
+131,118-67,3922,720 files

LLVM/project d4e79afllvm/test/CodeGen/AMDGPU global_atomics_scan_fsub.ll global_atomics_scan_fadd.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll qci-interrupt-attr-fpr.ll

Merge branch 'main' into users/kparzysz/spr/o03-cancel-directive-name
DeltaFile
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+10,668-4,9201,301 files not shown
+51,893-31,2131,307 files

LLVM/project dcf857eclang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLambdaCapturesChecker.cpp UncountedLambdaCapturesChecker.cpp, clang/test/Analysis/Checkers/WebKit unretained-lambda-captures.mm unretained-lambda-captures-arc.mm

Merge branch 'main' into users/ylzsx/r-tls-noie
DeltaFile
+456-0clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
+0-374clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
+353-0llvm/lib/Target/Xtensa/XtensaDSPInstrInfo.td
+296-0clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
+273-0clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
+233-0llvm/test/MC/Xtensa/xtensa-mac16.s
+1,611-37484 files not shown
+3,359-1,12490 files

LLVM/project 29129bellvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Add a helper to collect debug info from instructions (#129145)


Summary:
Just moving around. This helper will be used for further refactoring.

Test Plan:
ninja check-llvm-unit check-llvm
DeltaFile
+13-6llvm/lib/Transforms/Utils/CloneFunction.cpp
+13-61 files

LLVM/project df570dallvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Simplify the flow in FindDebugInfoToIdentityMap (#129144)


Summary:
The new flow should make it more clear what is happening in cases of
Different of Cloned modules.

Test Plan:
ninja check-llvm-unit check-llvm
DeltaFile
+17-17llvm/lib/Transforms/Utils/CloneFunction.cpp
+17-171 files

LLVM/project 7c4ef49llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Make ClonedModule case more obvious in CollectDebugInfoForCloning (#129143)


Summary:
The code's behavior is unchanged, but it's more obvious right now.

Test Plan:
ninja check-llvm-unit check-llvm
DeltaFile
+5-1llvm/lib/Transforms/Utils/CloneFunction.cpp
+5-11 files

LLVM/project 279d028llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Move DebugInfoFinder decl closer to its place of usage

Summary:
This makes it clear that DIFinder is only really necessary for llvm.dbg.cu update.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129154, branch: users/artempyanykh/fast-coro-upstream-part2-take2/12
DeltaFile
+2-3llvm/lib/Transforms/Utils/CloneFunction.cpp
+2-31 files

LLVM/project c670400llvm/include/llvm/Transforms/Utils Cloning.h, llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Remove now unused CollectDebugInfoForCloning

Summary:
This function is no longer used, let's remove it from the header and
impl.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129152, branch: users/artempyanykh/fast-coro-upstream-part2-take2/10
DeltaFile
+0-21llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-14llvm/include/llvm/Transforms/Utils/Cloning.h
+0-352 files

LLVM/project e2e5b39llvm/lib/Transforms/Utils CloneFunction.cpp

[NFC][Cloning] Clean up comments in CloneFunctionInto

Summary:
Some comments no longer make sense nor refer to an existing code path.

Test Plan:
ninja check-llvm-unit

stack-info: PR: https://github.com/llvm/llvm-project/pull/129153, branch: users/artempyanykh/fast-coro-upstream-part2-take2/11
DeltaFile
+0-11llvm/lib/Transforms/Utils/CloneFunction.cpp
+0-111 files