LLVM/project 999c87fllvm/include/llvm/IR InstrTypes.h, llvm/lib/Transforms/InstCombine InstCombineCalls.cpp InstructionCombining.cpp

Revert "Reapply "[InstCombine] Merge consecutive assumes" (#205177) (#205324)"

This reverts commit e9aec194f1e034f7b548240bd76b623d80bac034.
DeltaFile
+14-22llvm/test/Transforms/InstCombine/assume.ll
+3-19llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+0-6llvm/include/llvm/IR/InstrTypes.h
+2-1llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
+2-1llvm/test/Transforms/InstCombine/assume-loop-align.ll
+1-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+22-506 files

LLVM/project 9928eabclang/lib/CIR/CodeGen CIRGenAtomic.cpp CIRGenCall.cpp, clang/test/CIR/CodeGen atomic-libcall.c

[CIR] Atomic load and store via library call (#202671)

This patch adds support for atomic load/store operations that go through
calls to the `__atomic_load` and `__atomic_store` library functions.
This could happen when the size of the atomic type is too large or is
not a power of 2.

Assisted-by: Codex / gpt-5.5 xhigh
DeltaFile
+220-5clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
+139-0clang/test/CIR/CodeGen/atomic-libcall.c
+12-0clang/lib/CIR/CodeGen/CIRGenCall.cpp
+5-0clang/lib/CIR/CodeGen/CIRGenTypes.h
+376-54 files

LLVM/project 0914d20libc/include CMakeLists.txt, libc/include/llvm-libc-types loff_t.h CMakeLists.txt

[libc] Add loff_t type (#204641)

Added loff_t type definition. This is a Linux extension required for
large file offsets.

* llvm-libc-types/loff_t.h: Include linux/loff_t.h on Linux.
* llvm-libc-types/linux/loff_t.h: Added Linux definition using
__kernel_loff_t.
* llvm-libc-types/CMakeLists.txt: Include linux subdirectory and add
dependency for loff_t.
* llvm-libc-types/linux/CMakeLists.txt: Registered loff_t.
* sys/types.yaml: Added loff_t to sys/types.
* libc/include/CMakeLists.txt: Added dependency to sys_types target.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+21-0libc/include/llvm-libc-types/linux/loff_t.h
+21-0libc/include/llvm-libc-types/loff_t.h
+8-0libc/include/llvm-libc-types/CMakeLists.txt
+5-0libc/include/llvm-libc-types/linux/CMakeLists.txt
+1-0libc/include/CMakeLists.txt
+1-0libc/include/sys/types.yaml
+57-06 files

LLVM/project 5274b7fclang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety safety.cpp

[LifetimeSafety] Model pointer-to-data-member access in the fact generator (#204612)

VisitBinaryOperator had no case for `obj.*pm` (BO_PtrMemD) /
`objptr->*pm` (BO_PtrMemI), so a borrow of the accessed member
(`&(obj.*pm)`) dropped the object's loan to an empty origin and a
use-after-scope was missed. Flow the object operand's origin into the
result, mirroring a member access: for `.*` the object is the LHS, for
`->*` it is the LHS pointer's pointee.

Assisted-by: Claude Opus 4.8

Co-authored-by: Gabor Horvath <gaborh at apple.com>
DeltaFile
+60-0clang/test/Sema/LifetimeSafety/safety.cpp
+21-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+81-02 files

LLVM/project 08097dbclang/test/CIR/CodeGenCUDA rdc-linkage.cu

fix tests: (undef -> poison)
DeltaFile
+2-2clang/test/CIR/CodeGenCUDA/rdc-linkage.cu
+2-21 files

LLVM/project 46411a4clang/lib/Analysis/LifetimeSafety LiveOrigins.cpp FactsGenerator.cpp, clang/test/Sema/LifetimeSafety invalidations.cpp

make liveness more precise
DeltaFile
+23-6clang/test/Sema/LifetimeSafety/invalidations.cpp
+14-3clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
+6-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+43-93 files

LLVM/project 7591910libc/src/__support/OSUtil/linux/syscall_wrappers ioctl.h CMakeLists.txt, libc/src/sys/ioctl/linux ioctl.cpp

Recommit "[libc] Introduce the ioctl syscall wrapper and port all callers (#204640)" (#205317)

This patch reapplies #204640 (reverted in #205277), due to (-Werror)
build failure with gcc. Gcc warned about passing an uninitialized
structure through a `const void *` argument. This isn't a problem
because the ioctls in question write to that argument. The
fix/workaround is to provide a `void *` overload.

The original commit message was:

This patch adds an ioctl syscall wrapper in linux_syscalls namespace and
migrates all direct SYS_ioctl calls to use it.

To handle the polymorphic nature of ioctl arguments (where some commands
expect pointers, some expect scalar integers like queue_selector, and
some expect no argument at all), I use a helper struct IoctlArg with
implicit constructors. This avoids template bloat and overload
ambiguities (particularly around literal 0) while keeping call sites
clean.

Assisted by Gemini.
DeltaFile
+52-0libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
+7-14libc/src/termios/linux/CMakeLists.txt
+6-9libc/src/sys/ioctl/linux/ioctl.cpp
+5-8libc/src/unistd/linux/isatty.cpp
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-7libc/src/termios/linux/tcsetattr.cpp
+88-388 files not shown
+117-7614 files

LLVM/project a053571llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 copyable-phi-scheduled-non-copyable.ll

[SLP]Fix dominance crash for scheduled copyable PHI-operand bundles

Extend the copyable/non-copyable PHI conflict bail-out in
tryScheduleBundle to the scheduled path, not just the non-schedulable
one.

Fixes #205327

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/205372
DeltaFile
+47-0llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-scheduled-non-copyable.ll
+21-12llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+68-122 files

LLVM/project 650a059clang/test/CIR/CodeGenOpenACC private-clause-pointer-array-recipes-CtorDtor.cpp combined.cpp

[CIR] Add cir.builtin_int_cast operation to replace uses of builtin.unrealized_conversion_cast (#201592)

This patch adds a new operation builtin_int_cast to handle casting
between CIR integer types and builtin integer types. This will replace
the current use of the builtin.unrealized_conversion_cast since this
operation is only intended to be used temporarily when doing
transformations.

Assisted-by: Cursor/Claude Opus 4.8 High
DeltaFile
+108-108clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
+91-91clang/test/CIR/CodeGenOpenACC/combined.cpp
+79-79clang/test/CIR/CodeGenOpenACC/combined-copy.c
+79-79clang/test/CIR/CodeGenOpenACC/compute-copy.c
+69-69clang/test/CIR/CodeGenOpenACC/parallel.c
+66-66clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
+492-49268 files not shown
+2,430-2,13974 files

LLVM/project 7054171clang/test/C/C23 n3037.c

Additional test coverage for WG14 N3037 (#202674)

There was a request for additional test coverage in:
https://github.com/llvm/llvm-project/pull/201650#discussion_r3376475306
DeltaFile
+18-0clang/test/C/C23/n3037.c
+18-01 files

LLVM/project 5c44d70llvm/docs/CommandGuide index.md, llvm/docs/GlobalISel index.rst Pipeline.rst

[docs] Enforce unambiguous toctree in llvm/docs

It seems like using a non-`hidden` `toctree` for page navigation is a
bit of a trap, in that every doc must have a single unique path through
the global toctree to the root doc, and it is very easy to end up with
multiple.

This patch tries to address the warnings (actually infos, hence why it
does not fail the build) in llvm/docs/, namely:

  $ sphinx-build -b html -jauto llvm/docs/ /tmp/sphinx-out
  checking consistency...
  llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md: document is referenced in multiple toctrees: ['UserGuides', 'AMDGPUUsage'], selecting: UserGuides <- AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack
  llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst: document is referenced in multiple toctrees: ['UserGuides', 'AMDGPUUsage'], selecting: UserGuides <- AMDGPUDwarfExtensionsForHeterogeneousDebugging
  llvm/docs/CommandGuide/llvm-reduce.rst: document is referenced in multiple toctrees: ['CommandGuide/index', 'CommandGuide/index', 'Reference'], selecting: Reference <- CommandGuide/llvm-reduce
  llvm/docs/GitHub.rst: document is referenced in multiple toctrees: ['GettingInvolved', 'UserGuides'], selecting: UserGuides <- GitHub
  llvm/docs/GlobalISel/IRTranslator.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/IRTranslator
  llvm/docs/GlobalISel/InstructionSelect.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/InstructionSelect
  llvm/docs/GlobalISel/Legalizer.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/Legalizer

    [35 lines not shown]
DeltaFile
+126-81llvm/docs/CommandGuide/index.md
+30-21llvm/docs/GlobalISel/index.rst
+50-0utils/docs/llvm_sphinx/ext/checks.py
+21-21llvm/tools/llvm-debuginfo-analyzer/README.md
+0-14llvm/docs/tutorial/MyFirstLanguageFrontend/index.rst
+0-8llvm/docs/GlobalISel/Pipeline.rst
+227-1455 files not shown
+229-15411 files

LLVM/project c527446clang/docs ghlinks.py conf.py, lldb/docs conf.py

[docs] Create utils/docs

llvm-project is home to many sphinx documentation sites, each with
configuration quirks and bespoke extensions.

The sphinx config model makes sharing code somewhat difficult. There
are options like sphinx-multiproject, but some of our docs builds are
out of the source tree while some are done out of the binary tree, so
the multiproject configuration itself would need to be generated. It
also would impose more uniformity around extensions than required.

This change instead creates a python package at utils/docs/llvm_sphinx
and makes it available to all sphinx-build processes via PYTHONPATH.
Each conf.py does not modify its own sys.path because not all builds are
out of the source tree, so there isn't a stable relative path to use to
refer to the utils/docs/ directory.

Type checking via pyright in new package is pinned to being python 3.8
compatible.

    [29 lines not shown]
DeltaFile
+0-273clang/docs/ghlinks.py
+151-0utils/docs/llvm_sphinx/ext/ghlinks/__init__.py
+71-0utils/docs/llvm_sphinx/__init__.py
+12-44llvm/docs/conf.py
+6-39lldb/docs/conf.py
+9-30clang/docs/conf.py
+249-38623 files not shown
+413-64929 files

LLVM/project a614add

[docs] Add BOLTAArch64OptimizationStatus to toctree

Building docs-bolt-html fails with:

  Warning, treated as error:
  /home/slinder1/llvm-project/scratch/bolt/docs/BOLTAArch64OptimizationStatus.rst:document isn't included in any toctree

Just add the orphan document to the toctree in the index to silence
this. If there is a better parent it can be moved somewhere else in the
tree.

Change-Id: I1d26d96d5485d97d29231da89f8c8408b375c41f
DeltaFile
+0-00 files

LLVM/project 31afdfe

Bump minimum required sphinx Python to 3.8

There seems to be de-facto use of at least 3.6 in docs, namely:

* Use of pathlib (3.4) in various places
* Format f-strings (3.6) and used in clang/docs/ghlinks.py

I don't see a strong reason to maintain the divide in minimum version
between test/docs, especially considering the "FIXME" indicating
the 3.0 lower bound was just a guess to begin with.

Change-Id: I11e00295ae0a13ec0f1c5cefbb2fdd2db272b152
DeltaFile
+0-00 files

LLVM/project 5d02d98clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/Sema builtins-amdgcn-d16-image-16bit-error.c

clang/AMDGPU: Require 16-bit-insts for half typed image builtins

Typed image load/store operations with 16-bit elements require d16
support which was introduced in gfx8. They were previously gated only
on image-insts, so they were wrongly accepted on targets that have
images but lack 16-bit support (e.g. gfx700), where the backend then
fails to select.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+59-0clang/test/Sema/builtins-amdgcn-d16-image-16bit-error.c
+24-24clang/include/clang/Basic/BuiltinsAMDGPU.td
+83-242 files

LLVM/project 60848f4clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

clang/AMDGPU: Require 16-bit-insts for half typed buffer format builtins

Typed buffer format load/store operations with 16-bit elements require
d16 support which was introduced in gfx8. These builtins previously had
no required features at all, so they were accepted (and then crashed the
backend) on targets without 16-bit support.

Diagnose these in Sema, parallel to the image builtins. The manual
verification here suprised me. The automatic builtin feature verification
is enforced in codegen, which seems like a layering violation which
should be fixed.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+19-0clang/test/Sema/builtins-amdgcn-d16-buffer-format-16bit-error.c
+14-0clang/lib/Sema/SemaAMDGPU.cpp
+4-4clang/include/clang/Basic/BuiltinsAMDGPU.td
+1-1clang/test/SemaHIP/builtins-amdgcn-buffer-format.hip
+1-1clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store-format.cl
+1-1clang/test/CodeGenHIP/builtins-amdgcn-buffer-format.hip
+40-73 files not shown
+43-109 files

LLVM/project 9acc93fclang/lib/CIR/CodeGen CIRGenBuiltin.cpp, clang/test/CIR/CodeGenBuiltins builtins-elementwise.c builtins-elementwise-bool-nyi.c

[CIR] Lower elementwise saturating add/sub builtins (#203112)

`__builtin_elementwise_add_sat` and `__builtin_elementwise_sub_sat` were
still in the `errorBuiltinNYI` batch in `emitBuiltinExpr`, so any use
hit "unimplemented builtin call". That blocks C++26
`std::add_sat`/`std::sub_sat` (libc++
`<__numeric/saturation_arithmetic.h>`), which lower directly onto these
builtins.

This lowers them the way classic CodeGen does in `CGBuiltin.cpp`: select
the signed or unsigned saturating intrinsic from the operand's element
type (`sadd.sat`/`uadd.sat` for add, `ssub.sat`/`usub.sat` for sub).

Test coverage in `builtins-elementwise.c` exercises signed and unsigned,
scalar and vector, at i32 and i16 widths, checking the CIR
`cir.call_llvm_intrinsic` and the lowered `@llvm.{s,u}{add,sub}.sat`
calls on both the CIR and classic `-emit-llvm` paths.
DeltaFile
+65-0clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
+24-1clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+14-0clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
+103-13 files

LLVM/project 958be84llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/RISCV clmul.ll

Merge branch 'main' into fix-blockfreq-unroll-unconditional-latches--uniform
DeltaFile
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+12,991-3,310llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s
+11,856-3,719llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
+4,004-11,142llvm/test/CodeGen/RISCV/clmul.ll
+6,940-6,782llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+73,802-84,5094,298 files not shown
+285,261-228,7944,304 files

LLVM/project a91e271llvm/test/CodeGen/X86 madd.ll

[X86] madd.ll - add additional tests for matchPMADDWD folds that fail with larger source types (#205362)

matchPMADDWD handles sext/shl cases as well which don't fold either on SSE/AVX512 targets
DeltaFile
+130-26llvm/test/CodeGen/X86/madd.ll
+130-261 files

LLVM/project b31886alibcxx/test/std/ranges/range.adaptors/range.drop ctor.view.pass.cpp, libcxx/test/std/ranges/range.adaptors/range.drop.while ctor.view.pass.cpp

[libc++][ranges] Backport P2711R1: Making multi-param constructors of views explicit (#190513)

As discussed in https://gcc.gnu.org/PR114298 - GCC and MSVC STL
implemented P2711R1 as a DR. This PR does the same for libc++.

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+1-23libcxx/test/std/ranges/range.factories/range.iota.view/ctor.first.last.pass.cpp
+1-22libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp
+1-11libcxx/test/std/ranges/range.adaptors/range.split/ctor.range.pass.cpp
+1-11libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp
+1-10libcxx/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp
+1-10libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
+6-8717 files not shown
+28-17223 files

LLVM/project db31a66llvm/docs Docker.rst

[docs] Fix typo in Docker.rst (#205346)

Small typo fix in the Docker documentation: Debian8 -> Debian12.

Signed-off-by: Felipe Novais <contact at felipenovais.com>
DeltaFile
+1-1llvm/docs/Docker.rst
+1-11 files

LLVM/project 83528baclang-tools-extra/clangd/unittests CodeCompleteTests.cpp, clang/docs ReleaseNotes.rst

[clangd] fix preprocessor caching-lexer state tracking (#203716)

Fix `recomputeCurLexerKind` to avoid default fallback to
`CurLexerCallback = CLK_CachingLexer;`.

This prevents code-completion EOF handling from accidentally restoring
CLK_CachingLexer while a tentative parse is still active, which could
trigger a caching lexer re-entry assertion in clangd signature help.

Fixes https://github.com/llvm/llvm-project/issues/200677

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+17-0clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+4-2clang/lib/Lex/Preprocessor.cpp
+1-5clang/include/clang/Lex/Preprocessor.h
+2-4clang/lib/Lex/PPCaching.cpp
+3-0clang/docs/ReleaseNotes.rst
+1-1clang/lib/Lex/PPLexerChange.cpp
+28-126 files

LLVM/project 62c9839llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp, llvm/test/CodeGen/RISCV/rvv vp-splice-mask-vectors.ll vp-splice.ll

[LegalizeTypes] Fix incorrect EVL1 clip in SplitVecRes_VP_SPLICE. (#205021)

We were incorrectly clipping EVL1 to be a valid index for the VT, in the
range [0, VT.getNumVectorElements() - 1]. It is legal for EVL1 to be
equal to VT.getNumVectorElements() here so that was incorrect.

In case it isn't clear, the clip is necessary to prevent turning poison
into UB by accessing outside the temporary stack object.
DeltaFile
+176-188llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
+73-77llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
+8-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+257-2663 files

LLVM/project fdb70dfllvm/lib/Target/RISCV RISCVMoveMerger.cpp RISCVInstrInfo.cpp, llvm/test/CodeGen/RISCV rv32p.ll rv32-merge-non-arg-reg.mir

[RISCV][P-ext] Add mvd alias for padd.dw rd, zero, rs. Use for copy idiom. (#205223)

See https://github.com/riscv/riscv-p-spec/pull/304

I've refactored the MoveMerge code to use copyPhysReg to avoid duplication.
DeltaFile
+6-22llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
+7-7llvm/test/CodeGen/RISCV/rv32p.ll
+2-2llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
+2-2llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+4-0llvm/test/MC/RISCV/rv32p-aliases-valid.s
+1-1llvm/test/CodeGen/RISCV/rv32-move-merge.ll
+22-345 files not shown
+28-3811 files

LLVM/project 0ce76c7clang/lib/Format CMakeLists.txt

[clang-format] Don't check the format if diff is unavailable (#205036)
DeltaFile
+21-15clang/lib/Format/CMakeLists.txt
+21-151 files

LLVM/project 820314fclang/lib/Tooling DependencyScanningTool.cpp, clang/test/ClangScanDeps modules-full-by-mult-mod-names-diagnostics.c

[clang][Dependency Scanning] Fix the Input File for By-Name Lookup's Input CC1 Command Line (#205214)

When the command line is a CC1 command, the scanner does not append the
fake input file to the command line when initializing the compiler
instance. This PR fixes that by passing the compiler instance
initialization the correct modified command line. Without specifying the
fake input file, clang picks up `-` as its input.

An observable behavior is that the diagnostics are pointing to incorrect
files for cc1 commands, hence a test is added to check the diagnostics
messages contain the correct file name.
DeltaFile
+14-0clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
+3-2clang/lib/Tooling/DependencyScanningTool.cpp
+17-22 files

LLVM/project 7befba8llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

Silence conversion warning; NFC (#205357)

This was triggering a conversion warning in MSVC.
DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+1-11 files

LLVM/project dc658f1libc/src/libgen dirname.cpp basename.cpp, libc/test/src/libgen dirname_test.cpp basename_test.cpp

Reland "[libc] Implement basename and dirname in libgen.h #204554" (#205352)

Added the POSIX standard functions basename and dirname under a new libgen.h header. The implementations modify the input path in-place using cpp::string_view to determine boundaries safely.

Added find_last_not_of to cpp::string_view to support trailing slash removal.

Implemented:

libc/include/libgen.yaml, libgen.h.def: Public API definitions.
libc/src/libgen/basename.cpp, dirname.cpp: Generic implementations.
libc/test/src/libgen/: Unit and hermetic tests.
Registered the new entrypoints for all active Linux targets (x86_64, aarch64, arm, riscv) and added docgen configuration.

The tests are skipped when using ASan because death tests do not currently work with them.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+74-0libc/test/src/libgen/dirname_test.cpp
+62-0libc/test/src/libgen/basename_test.cpp
+48-0libc/src/libgen/dirname.cpp
+45-0libc/test/src/libgen/CMakeLists.txt
+42-0libc/src/libgen/basename.cpp
+30-0libc/src/libgen/dirname.h
+301-016 files not shown
+460-022 files

LLVM/project 34b6e1cmlir/include/mlir/Dialect/Arith/IR ArithOps.td, mlir/lib/Dialect/Arith/IR ArithOps.cpp

[mlir][arith] Reject signful integer element types in `arith.constant` (#204937)

Update arith.constant verification to reject integer constants with
signed and unsigned element types including shaped constants like
tensors and vectors, as the arith dialect does not support
signed/unsigned types.

This incidentally address cases where further lowering would crash (e.g.
SPIR-V constant lowering used IntegerAttr::getInt() on an unsigned
integer attribute from tensor<2xui8>)

Fixes #204911
DeltaFile
+16-0mlir/test/Dialect/Arith/invalid.mlir
+6-6mlir/test/Dialect/common_folders.mlir
+2-6mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
+0-8mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
+2-2mlir/test/lib/Dialect/Test/TestOps.td
+2-2mlir/lib/Dialect/Arith/IR/ArithOps.cpp
+28-246 files

LLVM/project f8aa5f6llvm/lib/Target/Hexagon HexagonAsmPrinter.cpp HexagonISelLowering.cpp, llvm/test/CodeGen/Hexagon kcfi.ll

[Hexagon] Add KCFI support for forward-edge control flow integrity (#191746)

Add KCFI support for Hexagon. KCFI provides lightweight forward-edge CFI
for indirect calls by embedding a type hash before each function and
checking it before indirect calls, without requiring LTO.
DeltaFile
+191-0llvm/test/CodeGen/Hexagon/kcfi.ll
+109-0llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
+27-0llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
+10-0llvm/lib/Target/Hexagon/HexagonPseudo.td
+6-0llvm/lib/Target/Hexagon/HexagonISelLowering.h
+4-0llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
+347-02 files not shown
+354-08 files