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

LLVM/project ede6a16llvm/lib/Target/PowerPC PPCTargetTransformInfo.cpp

[PowerPC] Use constant 64-bit indices for Extract/InsertElement (#209015)

The canonical form preferred by instCombine is to use 64-bit values for
constant index in ExtractElement and InsertElement.
DeltaFile
+3-3llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
+3-31 files

LLVM/project 5790cc0llvm/docs LangRef.md, llvm/lib/IR Instructions.cpp

[IR] Use constant 64-bit indices for Extract/InsertElement (#208996)

The canonical form preferred by instCombine is to use 64-bit values for
constant index in ExtractElement and InsertElement
DeltaFile
+20-20llvm/docs/LangRef.md
+1-1llvm/lib/IR/Instructions.cpp
+21-212 files

LLVM/project 4e15b55lld/include/lld/Common BPSectionOrdererBase.inc, lld/test/ELF bp-section-orderer.s

[lld] Report missing --irpgo-profile file instead of asserting (#209028)

When --irpgo-profile names a missing file, takeError() asserts

```
ld.lld: error: No such file or directory
ld.lld: Error.h:686: ... Assertion `!HasError && "Cannot get value when an error exists!"' failed.
```

Check the Expected before use. Fixes #203761

Co-authored-by: Peter Chen J. <peter941221 at gmail.com>

Co-authored-by: Peter Chen J. <peter941221 at gmail.com>
DeltaFile
+9-0lld/test/MachO/bp-section-orderer-errs.s
+4-1lld/include/lld/Common/BPSectionOrdererBase.inc
+4-0lld/test/ELF/bp-section-orderer.s
+17-13 files

LLVM/project 03af1bfllvm/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 715cf35clang-tools-extra/clang-tidy/readability IdentifierNamingCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix identifier-naming style lookup in macro arguments (#206809)

Problem statement: the var lambda parameter was written inside a macro
argument. The declaration location was treated as a macro location, and
the filename lookup returned an empty filename for that location.

Fix: use a file location for the style lookup. Alternative options
considered were spelling location and expansion location.

Fixes #154957

Assisted-by: GPT

---------

Co-authored-by: Zeyi Xu <mitchell.xu2 at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
DeltaFile
+30-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
+10-0clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming-macro-argument/subdir/.clang-tidy
+10-0clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming-macro-argument/.clang-tidy
+2-1clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+3-0clang-tools-extra/docs/ReleaseNotes.rst
+1-0clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming-macro-argument/include/macro.h
+56-16 files

LLVM/project 97e24c8clang/test/CIR/CodeGenBuiltins builtin-isfpclass.c builtin-fpclassify.c

[CIR] Fix lit tests after is.fpclass pretty printing. NFC (#209026)
DeltaFile
+36-36clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
+20-20clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
+1-1clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
+57-573 files

LLVM/project 7206149clang/unittests/Lex PPMemoryAllocationsTest.cpp

[NFC][clang] Adjust PPMemoryAllocationsTest threshold for ASan (#209024)

PPMemoryAllocationsTest.PPMacroDefinesAllocations measures the memory
footprint of the preprocessor allocator and asserts a strict threshold
of 130.0 bytes per define.

When built with ASan, the allocator adds redzones to allocations,
which increases the total memory reported by `getTotalMemory()` and
causes the test to fail (reporting ~136.8 bytes per define).

Adjust the threshold to 145.0 bytes per define when built with ASan
(detected via `LLVM_ADDRESS_SANITIZER_BUILD`) to account for this
overhead while maintaining the strict limit for standard builds.

Assisted-by: Gemini
DeltaFile
+5-0clang/unittests/Lex/PPMemoryAllocationsTest.cpp
+5-01 files

LLVM/project 21bc0e9offload/test/offloading xteam_reduction_default_grid.c

add test
DeltaFile
+61-0offload/test/offloading/xteam_reduction_default_grid.c
+61-01 files

LLVM/project 722c78aclang/unittests/Lex PPMemoryAllocationsTest.cpp

format

Created using spr 1.3.7
DeltaFile
+1-1clang/unittests/Lex/PPMemoryAllocationsTest.cpp
+1-11 files

LLVM/project d377eafclang/unittests/Lex PPMemoryAllocationsTest.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+5-0clang/unittests/Lex/PPMemoryAllocationsTest.cpp
+5-01 files

LLVM/project a259ffbllvm/test/Transforms/SLPVectorizer/X86 minmax-main-opcode-copyables.ll minmax-main-opcode-copyables-cost.ll

[SLP][NFC]Add tests for copyables in minmax int intrinsics, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/209021
DeltaFile
+158-0llvm/test/Transforms/SLPVectorizer/X86/minmax-main-opcode-copyables.ll
+32-0llvm/test/Transforms/SLPVectorizer/X86/minmax-main-opcode-copyables-cost.ll
+190-02 files