LLVM/project 552f196llvm/lib/Target/WebAssembly WebAssemblyCoalesceFeaturesAndStripAtomics.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+1-01 files

LLVM/project b8d37cbllvm/lib/Target/AArch64 AArch64InstrFormats.td AArch64InstrInfo.cpp, llvm/lib/Target/AArch64/MCTargetDesc AArch64MCTargetDesc.h

[AArch64] Add an OPERAND_IMM_UINT8 operand type. (#209050)

This helps verify that certain operands are in the correct range, in
this case
0-255.
DeltaFile
+12-0llvm/test/CodeGen/AArch64/verify-imm.mir
+8-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+6-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+3-0llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
+1-0llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
+30-15 files

LLVM/project 30c81e2llvm/lib/Target/WebAssembly WebAssemblyCoalesceFeaturesAndStripAtomics.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+1-01 files

LLVM/project 927878dllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 add-sub-nuw.ll

[SLP] Drop nuw when add/sub interchange negates a nonzero constant

sub nuw X, C requires X u>= C, but add nuw X, -C requires X u< C, so
nuw must always be dropped on interchange.

Fixes #209023

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209047
DeltaFile
+21-17llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-2llvm/test/Transforms/SLPVectorizer/X86/add-sub-nuw.ll
+23-192 files

LLVM/project 80fca3bllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+70-13llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+34-13llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
+567-1809 files not shown
+681-21015 files

LLVM/project d2adc5ellvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+18-183llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+195-0llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+73-13llvm/lib/Target/WebAssembly/WebAssembly.h
+713-33810 files not shown
+882-37916 files

LLVM/project 65735abllvm/test/Transforms/SLPVectorizer/X86 add-sub-nuw.ll

[SLP][NFC]Add a test with incorrect nuw propagation in add/sub vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209045
DeltaFile
+77-0llvm/test/Transforms/SLPVectorizer/X86/add-sub-nuw.ll
+77-01 files

LLVM/project 654eea8llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+70-13llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+34-13llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
+567-1809 files not shown
+681-21015 files

LLVM/project bd49406llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+61-11llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+33-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+557-1658 files not shown
+635-19314 files

LLVM/project 19dc25fllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp

fix

Created using spr 1.3.7
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+0-11 files

LLVM/project 3687639llvm/test/tools/llvm-debuginfod-find/Inputs delay_req.py

[llvm][HTTP] Increase request handler sleep (#209038)

Fixup for
https://github.com/llvm/llvm-project/pull/188969#issuecomment-4952185708.
The issue is likely the same as I described in
https://github.com/llvm/llvm-project/pull/192061#issuecomment-4926882131
where WinHTTP doesn't time out immediately but adds some delay. The fix
here is to increase the sleep in the mock server.
DeltaFile
+1-1llvm/test/tools/llvm-debuginfod-find/Inputs/delay_req.py
+1-11 files

LLVM/project 5fb5a35llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyReduceToAnyAllTrue.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+125-104llvm/lib/Target/WebAssembly/WebAssemblyReduceToAnyAllTrue.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+61-11llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+33-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+558-1658 files not shown
+636-19314 files

LLVM/project b6ea502llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyLowerEmscriptenEHSjLj.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+46-10llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+32-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+21-7llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
+437-677 files not shown
+492-8713 files

LLVM/project 5485d62lld/ELF MarkLive.cpp, lld/test/ELF emit-relocs-discard-locals.s

[ELF] --discard-{locals,all}: mark local symbols referenced by retained non-SHF_ALLOC sections (#209042)

With --gc-sections, mark() does not scan relocations of retained
non-SHF_ALLOC sections, so local symbols referenced only by such
sections (e.g. .L symbols in .debug_str_offsets referenced by
.debug_info) do not get the USED flag.

-r/--emit-relocs with --discard-{locals,all} would discard the symbols
and rewrite relocations to reference the null symbol, corrupting DWARF
in the output. This is common on RISC-V, where
RISCVELFObjectWriter::needsRelocateWithSymbol returns true, but is also
possible on other targets with --reloc-section-sym=none.

Call markUsedLocalSymbols from the retention loop (introduced by
#209035)
to set the flag.

Fix #160789
DeltaFile
+24-3lld/test/ELF/emit-relocs-discard-locals.s
+5-0lld/ELF/MarkLive.cpp
+29-32 files

LLVM/project 2fdc877llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 copyable-addsub-reorder.ll

[SLP] Fix miscompile from unsafe operand-order normalization

IsCommutative(MainOp) is also true for a Sub/FSub feeding only
fabs/icmp-eq-0, but that doesn't make every lane swappable: a
converted Add/FAdd lane's operand order is fixed to preserve its
value, and swapping it into a native Sub/FSub's layout negates it.
Re-check each lane before swapping instead of trusting MainOp's.

Fixes #208944

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209041
DeltaFile
+19-16llvm/test/Transforms/SLPVectorizer/X86/copyable-addsub-reorder.ll
+9-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+28-182 files

LLVM/project aa72b8dllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyOptimizeReturned.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+233-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+38-8llvm/lib/Target/WebAssembly/WebAssembly.h
+31-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+21-7llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
+20-7llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
+379-345 files not shown
+411-4511 files

LLVM/project 111585bllvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyLowerEmscriptenEHSjLj.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+68-38llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+46-10llvm/lib/Target/WebAssembly/WebAssembly.h
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+32-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+21-7llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
+437-677 files not shown
+492-8713 files

LLVM/project fafd0dellvm/test/Transforms/SLPVectorizer/X86 copyable-addsub-reorder.ll

[SLP][NFC]Add a test with incorrect add/sub operands reorder, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209039
DeltaFile
+199-0llvm/test/Transforms/SLPVectorizer/X86/copyable-addsub-reorder.ll
+199-01 files

LLVM/project 937ac00llvm/lib/Debuginfod BuildIDFetcher.cpp, llvm/lib/HTTP HTTPClient.cpp

[llvm][HTTP] Apply WinHTTP timeout setting after WinHttpOpen (#188969)

`setTimeout()` required the session handle, but it was only created
inside `HTTPClient::perform()`. This patch stores the incoming value and
applies it after the session handle is created with `WinHttpOpen()`.

---------

Co-authored-by: Nerixyz <nerixdev at outlook.de>
DeltaFile
+21-13llvm/lib/HTTP/HTTPClient.cpp
+26-0llvm/test/tools/llvm-debuginfod-find/Inputs/delay_req.py
+12-0llvm/test/tools/llvm-debuginfod-find/timeout.test
+4-5llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
+1-1llvm/lib/Debuginfod/BuildIDFetcher.cpp
+1-1llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
+65-206 files

LLVM/project bcafb50llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp

rebase

Created using spr 1.3.7
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+0-11 files

LLVM/project f988050llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+0-11 files

LLVM/project 2aa6cb1llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp

comment

Created using spr 1.3.7
DeltaFile
+0-1llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+0-11 files

LLVM/project 5f61c01llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssemblyOptimizeReturned.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+234-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+36-12llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
+38-8llvm/lib/Target/WebAssembly/WebAssembly.h
+31-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+21-7llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
+20-7llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
+380-345 files not shown
+412-4511 files

LLVM/project 4662124llvm/lib/Target/WebAssembly WebAssemblyCodeGenPassBuilder.cpp WebAssembly.h

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+235-0llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+29-6llvm/lib/Target/WebAssembly/WebAssembly.h
+21-7llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
+20-7llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
+25-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+8-7llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+338-274 files not shown
+360-2910 files

LLVM/project 28f9853llvm/test/CodeGen/AMDGPU llvm.log10.ll llvm.log.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-llvm.amdgcn.image.sample.a16.ll legalize-store-global.mir

Merge branch 'main' into users/aokblast/clang/slpv/fix_ext
DeltaFile
+6,601-5,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.a16.ll
+4,734-4,734llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
+4,072-4,024llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.dim.a16.ll
+2,521-5,460llvm/test/CodeGen/AMDGPU/llvm.log10.ll
+2,521-5,460llvm/test/CodeGen/AMDGPU/llvm.log.ll
+5,244-2,196llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
+25,693-27,7952,976 files not shown
+204,065-187,5572,982 files

LLVM/project d407259

Merge remote-tracking branch 'refs/remotes/origin/users/aokblast/clang/slpv/fix_ext' into users/aokblast/clang/slpv/fix_ext
DeltaFile
+0-00 files

LLVM/project 3a27d29lld/ELF Writer.cpp MarkLive.cpp

[ELF] Move markUsedLocalSymbols from Writer to markLive. NFC (#209035)

markUsedLocalSymbols (https://reviews.llvm.org/D77807) sets the USED
flag on local symbols referenced by relocations so that -r/--emit-relocs
with --discard-{locals,all} preserves them in the symbol table.

Move the scan into markLive's !gcSections branch to be closer to
MarkLive::resolveReloc. The scan now iterates sections via relsOrRelas,
handling CREL uniformly, and runs in parallel.

This is a step toward fixing #160789
DeltaFile
+0-42lld/ELF/Writer.cpp
+24-0lld/ELF/MarkLive.cpp
+24-422 files

LLVM/project 780ac30llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 minbitwidth-icmp-signed-const-trunc.ll

[SLP] Don't truncate compare constants that change value at the demoted width

SLP preserves the original bit width when narrowing compare operands,
but doesn't always account for the required size convertion in LLVM IR.
This can produce incorrect compare constants after truncation.

Fix this by using getSignificantBits() for sign-extended operands,
forbidding truncation for signed predicates on zero-extended operands,
and checking the correct operand in the LBW > RBW case.
DeltaFile
+72-0llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-signed-const-trunc.ll
+48-13llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+120-132 files

LLVM/project 83d95d8llvm/lib/Transforms/Utils SimplifyLibCalls.cpp

[SimplifyLibCalls] Use constant 64-bit indices for ExtractElement (#209020)

The canonical form preferred by instCombine is to use 64-bit values for
constant index in ExtractElement.
DeltaFile
+2-4llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+2-41 files

LLVM/project 66e9ac6llvm/lib/Transforms/InstCombine InstCombineCasts.cpp

[InstCombine] Use constant 64-bit indices for InsertElement (#209017)

The canonical form preferred by instCombine is to use 64-bit values for
constant index in InsertElement.
DeltaFile
+1-2llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+1-21 files