LLVM/project 6f966fbllvm/lib/Transforms/Vectorize VPlanRecipes.cpp

[LV] Add select instruction to VPReplicateRecipe::computeCost (#186825)

I've added the Instruction::Select opcode to the existing list of
opcodes that call getCostForRecipeWithOpcode. There are currently 5
tests that ask for the cost of the select:

  Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
  Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
  Transforms/LoopVectorize/narrow-to-single-scalar.ll
  Transforms/LoopVectorize/replicate_fneg.ll
  Transforms/LoopVectorize/single-scalar-cast-minbw.ll

The fact they all pass with this change is hopefully proof enough that
the costs are correct.
DeltaFile
+2-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-11 files

LLVM/project 527496blibclc/clc/lib/generic/math clc_sincos_helpers.inc clc_sincos_helpers.cl

libclc: Improve large float trig reduction (#186984)
DeltaFile
+41-28libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+0-9libclc/clc/lib/generic/math/clc_sincos_helpers.cl
+41-372 files

LLVM/project 107b113libclc/clc/lib/generic/math clc_sincos_helpers.inc

libclc: Use small trig reduction for nan (#186983)

Nan should work on either path, but the small reduction
path is smaller. There's also possible codegen benefits to
knowing the large reduction will not need to handle nans.
DeltaFile
+6-7libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+6-71 files

LLVM/project a0d6e97libclc/clc/lib/generic/math clc_sincos_helpers.inc clc_sincos_helpers.cl

libclc: Use frexp and ldexp in trig reduction instead of bit hacking (#186982)
DeltaFile
+5-2libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+2-0libclc/clc/lib/generic/math/clc_sincos_helpers.cl
+7-22 files

LLVM/project 77ba0d9libclc/clc/lib/generic/math clc_pow_base.inc clc_pow.inc

libclc: Update pow functions (#186890)

The 4 flavors of pow were originally ported from rocm
device libs between c45ec604f593fcb03d770f4398142d2446017f68,
cc5c65b2c25e0a82fbad95f0ce3bb5262e29eeee, and
fe8e00bc3c65115b2e3d2a43cf3d0d756a934a52. Update to a newer
version. Additionally expose fast variants for use by the
libcall optimizer (e.g, __pow_fast) for float types.
DeltaFile
+542-0libclc/clc/lib/generic/math/clc_pow_base.inc
+0-438libclc/clc/lib/generic/math/clc_pow.inc
+0-414libclc/clc/lib/generic/math/clc_powr.inc
+0-405libclc/clc/lib/generic/math/clc_rootn.inc
+0-402libclc/clc/lib/generic/math/clc_pown.inc
+81-0libclc/clc/lib/generic/math/clc_ep.inc
+623-1,65923 files not shown
+1,015-1,72629 files

LLVM/project 6dcd70dllvm/lib/Target/AMDGPU SILowerI1Copies.cpp SILowerI1Copies.h

[AMDGPU] Use AMDGPULaneMaskUtils in SILowerI1Copies (#186170)

Use lane mask utils in lower i1 copies
No Functionality Change
DeltaFile
+14-33llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
+3-9llvm/lib/Target/AMDGPU/SILowerI1Copies.h
+4-4llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
+21-463 files

LLVM/project e02c584llvm/test/CodeGen/AMDGPU local-stack-alloc-add-references.gfx8.mir coalesce-copy-to-agpr-to-av-registers.mir, llvm/test/CodeGen/AMDGPU/GlobalISel irtranslator-inline-asm.ll

[AMDGPU][NFC] Update MIR tests to use symbolic INLINEASM operands
DeltaFile
+185-185llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
+121-121llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
+94-94llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
+58-58llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
+34-34llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
+24-24llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
+516-51635 files not shown
+749-74941 files

LLVM/project 286747cllvm/lib/CodeGen MIRPrinter.cpp, llvm/lib/CodeGen/MIRParser MIParser.cpp

[MIR] Support symbolic INLINEASM extra-info flags
DeltaFile
+43-11llvm/lib/CodeGen/MIRParser/MIParser.cpp
+19-19llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+12-12llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
+12-12llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
+11-0llvm/test/CodeGen/MIR/Generic/inline-asm-unknown-kind.mir
+6-0llvm/lib/CodeGen/MIRPrinter.cpp
+103-546 files

LLVM/project 877ac47llvm/include/llvm/IR InlineAsm.h, llvm/lib/CodeGen MachineInstr.cpp

[MIR] Fix printing INLINEASM dialects.
DeltaFile
+5-3llvm/include/llvm/IR/InlineAsm.h
+2-5llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+1-1llvm/lib/CodeGen/MachineInstr.cpp
+8-93 files

LLVM/project d681099libclc/clc/lib/generic/math clc_sincos_helpers.inc clc_sincos_helpers.cl

libclc: Improve large float trig reduction
DeltaFile
+41-28libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+0-9libclc/clc/lib/generic/math/clc_sincos_helpers.cl
+41-372 files

LLVM/project a2bfee8libclc/clc/lib/generic/math clc_sincos_helpers.inc

libclc: Use small trig reduction for nan

Nan should work on either path, but the small reduction
path is smaller. There's also possible codegen benefits to
knowing the large reduction will not need to handle nans.
DeltaFile
+6-7libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+6-71 files

LLVM/project 0292acflibclc/clc/lib/generic/math clc_sincos_helpers.inc clc_sincos_helpers.cl

libclc: Use frexp and ldexp in trig reduction instead of bit hacking
DeltaFile
+5-2libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+2-0libclc/clc/lib/generic/math/clc_sincos_helpers.cl
+7-22 files

LLVM/project fae024alibclc/clc/lib/generic/math clc_cos.inc clc_sin.inc

libclc: Move edge case handling of trig functions (#186429)

The explicit handling of nan is unnecessary. Clamp infinities
to nan at the input. This allows optimizations of the following
implementation code to take advantage of the knowledge that it
does not need to handle infinities.
DeltaFile
+6-7libclc/clc/lib/generic/math/clc_cos.inc
+7-6libclc/clc/lib/generic/math/clc_sin.inc
+6-5libclc/clc/lib/generic/math/clc_tan.inc
+19-183 files

LLVM/project 56d7920llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Factor collectGroupedReplicateMemOps (NFC) (#186820)

Factor out a collectGroupedReplicateMemOps from
collectComplementaryPredicatedMemOps, so it can be re-used in other
places.
DeltaFile
+41-25llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+41-251 files

LLVM/project a5b9aa3libclc/clc/lib/generic/math clc_pow_base.inc clc_pow.inc

libclc: Update pow functions

The 4 flavors of pow were originally ported from rocm
device libs between c45ec604f593fcb03d770f4398142d2446017f68,
cc5c65b2c25e0a82fbad95f0ce3bb5262e29eeee, and
fe8e00bc3c65115b2e3d2a43cf3d0d756a934a52. Update to a newer
version. Additionally expose fast variants for use by the
libcall optimizer (e.g, __pow_fast) for float types.
DeltaFile
+542-0libclc/clc/lib/generic/math/clc_pow_base.inc
+0-438libclc/clc/lib/generic/math/clc_pow.inc
+0-414libclc/clc/lib/generic/math/clc_powr.inc
+0-405libclc/clc/lib/generic/math/clc_rootn.inc
+0-402libclc/clc/lib/generic/math/clc_pown.inc
+78-0libclc/clc/lib/generic/math/clc_ep.inc
+620-1,65923 files not shown
+1,016-1,72629 files

LLVM/project 7887ac6libc/docs contributing.rst, libc/docs/dev clang_tidy_checks.rst code_style.rst

[libc][docs] Update clang-tidy checks page (#185923)

Document layered .clang-tidy config, update llvmlibc-* check names, and
drop stale TODO
DeltaFile
+30-17libc/docs/dev/clang_tidy_checks.rst
+5-4libc/docs/contributing.rst
+0-4libc/docs/dev/code_style.rst
+35-253 files

LLVM/project 1588f08openmp/runtime/src/include omp-tools.h.var

[OpenMP][OMPT] Add missing `error` entry to device tracing record union (#185683)

While `omp-tools.h` already includes the `ompt_record_error_t` struct,
the corresponding union entry was missing from `ompt_record_ompt_t`.
This commit adds the missing entry.

Note that this does not enable any functionality for device tracing
records.
This only aligns the struct with OpenMP v5.1 and newer. OpenMP v5.0 did
not contain the `error` directive.

CC: @jprotze

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
DeltaFile
+1-0openmp/runtime/src/include/omp-tools.h.var
+1-01 files

LLVM/project a1f1092llvm/test/CodeGen/AMDGPU local-stack-alloc-add-references.gfx8.mir coalesce-copy-to-agpr-to-av-registers.mir, llvm/test/CodeGen/AMDGPU/GlobalISel irtranslator-inline-asm.ll

[AMDGPU][NFC] Update MIR tests to use symbolic INLINEASM operands
DeltaFile
+185-185llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
+121-121llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
+94-94llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
+58-58llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
+34-34llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
+24-24llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
+516-51635 files not shown
+749-74941 files

LLVM/project 00f483dllvm/lib/CodeGen MIRPrinter.cpp, llvm/lib/CodeGen/MIRParser MIParser.cpp

[MIR] Support symbolic INLINEASM extra-info flags
DeltaFile
+43-11llvm/lib/CodeGen/MIRParser/MIParser.cpp
+19-21llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+12-12llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
+12-12llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
+11-0llvm/test/CodeGen/MIR/Generic/inline-asm-unknown-kind.mir
+6-0llvm/lib/CodeGen/MIRPrinter.cpp
+103-566 files

LLVM/project 19460fflibclc/clc/lib/generic/math clc_sincos_helpers.inc clc_sincos_helpers.cl

libclc: Use fshr builtin in sincos helpers (#186427)
DeltaFile
+5-5libclc/clc/lib/generic/math/clc_sincos_helpers.inc
+1-1libclc/clc/lib/generic/math/clc_sincos_helpers.cl
+6-62 files

LLVM/project b5e825ellvm/test/Analysis/DependenceAnalysis weak-crossing-siv-delta-signed-min.ll

[DA] Add test for the Weak Crossing SIV test misses dependency (NFC) (#186355)

Add a test case where the value of `Delta` in the Weak Crossing SIV test
becomes the signed minimum, causing the test to miss the dependency.
DeltaFile
+64-0llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-delta-signed-min.ll
+64-01 files

LLVM/project 931e317llvm/include/llvm/IR InlineAsm.h, llvm/lib/CodeGen MachineInstr.cpp

[MIR] Fix printing INLINEASM dialects.
DeltaFile
+5-3llvm/include/llvm/IR/InlineAsm.h
+2-3llvm/test/CodeGen/MIR/Generic/inline-asm-extra-info.mir
+1-1llvm/lib/CodeGen/MachineInstr.cpp
+8-73 files

LLVM/project c183ffdllvm/include/llvm/ADT GenericUniformityImpl.h

review: remove isNeverDivergent check for internal query
DeltaFile
+0-2llvm/include/llvm/ADT/GenericUniformityImpl.h
+0-21 files

LLVM/project 9e43b35clang/include/clang/Frontend FrontendOptions.h, clang/include/clang/Options Options.td

[clang][ssaf] Add --ssaf-list-{extractor,format} flags (#185428)

These flags only work with the `clang` driver.
The `cc1` driver would ignore these flags.
Probably it could be implemented differently, but it's already better
than having nothing.
DeltaFile
+20-6clang/test/Analysis/Scalable/help.cpp
+19-0clang/lib/Driver/Driver.cpp
+12-0clang/include/clang/Options/Options.td
+10-1clang/include/clang/Frontend/FrontendOptions.h
+6-0clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
+6-0clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
+73-75 files not shown
+89-711 files

LLVM/project 913fdaclibclc/clc/lib/generic/math clc_pow_base.inc clc_pow.inc

libclc: Update pow functions

The 4 flavors of pow were originally ported from rocm
device libs between c45ec604f593fcb03d770f4398142d2446017f68,
cc5c65b2c25e0a82fbad95f0ce3bb5262e29eeee, and
fe8e00bc3c65115b2e3d2a43cf3d0d756a934a52. Update to a newer
version. Additionally expose fast variants for use by the
libcall optimizer (e.g, __pow_fast) for float types.
DeltaFile
+542-0libclc/clc/lib/generic/math/clc_pow_base.inc
+0-438libclc/clc/lib/generic/math/clc_pow.inc
+0-414libclc/clc/lib/generic/math/clc_powr.inc
+0-405libclc/clc/lib/generic/math/clc_rootn.inc
+0-402libclc/clc/lib/generic/math/clc_pown.inc
+78-0libclc/clc/lib/generic/math/clc_ep.inc
+620-1,65924 files not shown
+1,060-1,72630 files

LLVM/project c64d9afllvm/docs/CommandGuide llvm-link.rst, llvm/tools/llvm-link llvm-link.cpp

[llvm-link] Add more detail to `--internalize` description (#170397)

While the functionality of this flag is obvious in the implementation,
tool users may not know what it does with the short description
provided. Notably, it is not obvious from the short description that:

* Functions provided will be converted to internal linkage (and thus
discarded if unused) even if unreferenced.
* Functions in the first file will not be internalized, even if
referenced by a later one.

The Rust for Linux project has [found use for this
flag](https://lore.kernel.org/all/20251202-inline-helpers-v1-0-879dae33a66a@google.com/)
to support inlining `static inline` functions in C into code compiled by
Rust when `rustc` and `clang` share a LLVM.
DeltaFile
+6-3llvm/tools/llvm-link/llvm-link.cpp
+4-1llvm/docs/CommandGuide/llvm-link.rst
+10-42 files

LLVM/project bcd6733clang/lib/AST TypePrinter.cpp, clang/lib/Sema SemaType.cpp

[clang][PAC] add support for options parameter to __ptrauth

This PR adds support for an 'options' parameter for the __ptrauth
qualifier.
The initial version only exposes the authehntication modes:
 * "strip"
 * "sign-and-strip"
 * "sign-and-auth"

We also support parsing the options but not yet the implementation
 * "isa-pointer"
 * "authenticates-null-values"

The initial support for authentication mode controls exist to support
ABI changes over time, and as a byproduct support basic initial tests
for option parsing.
DeltaFile
+327-0clang/test/CodeGen/ptrauth-stripping.c
+129-10clang/lib/Sema/SemaType.cpp
+110-0clang/test/Sema/ptrauth-qualifier-options.c
+66-0clang/test/SemaCXX/ptrauth-qualifier-constexpr-options.cpp
+33-6clang/test/Sema/ptrauth-qualifier.c
+33-1clang/lib/AST/TypePrinter.cpp
+698-179 files not shown
+800-3715 files

LLVM/project 096371blibclc/clc/include/clc/math clc_ep_decl.inc, libclc/clc/lib/generic/math clc_ep.inc clc_ep.cl

libclc: Use struct for ep pair (#186973)

This will enable use with vector types
DeltaFile
+49-7libclc/clc/lib/generic/math/clc_ep.inc
+0-17libclc/clc/lib/generic/math/clc_ep.cl
+6-4libclc/clc/include/clc/math/clc_ep_decl.inc
+3-2libclc/clc/lib/generic/math/clc_log_base.h
+58-304 files

LLVM/project 7c2aef4lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp, lldb/source/Plugins/SymbolLocator/SymStore SymbolLocatorSymStore.cpp SymbolLocatorSymStore.h

Reland "[lldb] Initial plugin and test for SymbolLocatorSymStore" (#185658)

Minimal infrastructure for a the SymbolLocator plugin that fetches debug
info from Microsoft SymStore repositories. This can work cross-platform
and for various debug info formats in principle, but the current plan is
focussed on PE/COFF on Windows with debug info in PDB files. Once we
have a stable first version, we'd like to add features like download,
environment variables, caching and progress feedback for users.

SymbolVendorPECOFF was tailored towards DWARF debug info so far. I added
code to load the PDB path from the executable (it only checked
gnu_debuglink so far) and not bail out if DWARF sections are missing, so
that in the PDB case we still call AddSymbolFileRepresentation() in the
very end of CreateInstance().

The API test in this patch mocks the directory layout from SymStore, so
it doesn't depend on SymStore.exe from the Windows SDK. It runs on all
platforms that link debug info in a PDB file, which is still just
Windows, but it could be cross-platform in principle.

    [5 lines not shown]
DeltaFile
+147-0lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
+121-0lldb/test/API/symstore/TestSymStoreLocal.py
+34-24lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
+50-0lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.h
+21-0lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+20-0lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
+393-248 files not shown
+420-2914 files

LLVM/project b091331orc-rt/unittests SimpleNativeMemoryMapTest.cpp

[orc-rt] Fix stale file comment. NFC.
DeltaFile
+2-2orc-rt/unittests/SimpleNativeMemoryMapTest.cpp
+2-21 files