LLVM/project efdc495 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 mask-beforefirst.ll

[X86] Combine mask_beforefirst to (x - 1) & ~x in GPR

EVEX and libc use this pattern in strcpy etc. to set the bits before the lowest set bit. It works correctly for x=0 too, returning an all ones mask.

Because SSE/AVX/AVX2 promote vNi1 types, do this as a DAG combine before type legalization.

We need to restrict it to power of 2 types otherwise we hit a latent crash in combineToExtendBoolVectorInReg.
DeltaFile
+126-212llvm/test/CodeGen/X86/mask-beforefirst.ll
+23-0llvm/lib/Target/X86/X86ISelLowering.cpp
+149-2122 files

LLVM/project 5c664ba — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize early_exit_combined_exits.ll early_exit_with_stores.ll

[VPlan] Use llvm.mask.beforefirst for computing early exit mask

This makes the cost more accurate and improves codegen for RISC-V. The codegen for an early exit loop with side effects then goes from:

    .LBB0_3:                                # %vector.body
                                            # =>This Inner Loop Header: Depth=1
        vl1r.v  v16, (a3)
        vsetvli zero, zero, e8, m1, ta, ma
        vmseq.vi        v16, v16, 0
        vfirst.m        a7, v16
        srli    t0, a7, 63
        czero.nez       a7, a7, t0
        czero.eqz       t0, a1, t0
        or      a7, t0, a7
        vsetvli zero, zero, e64, m8, ta, ma
        vmsltu.vx       v0, v8, a7
        vle8.v  v17, (a5), v0.t
        vcpop.m t1, v16
        vsetvli zero, zero, e8, m1, ta, ma

    [20 lines not shown]
DeltaFile
+55-50llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+36-36llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+24-16llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+15-10llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
+7-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+9-6llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
+146-1265 files not shown
+161-13611 files

LLVM/project dbec34a — llvm/test/Analysis/CostModel/AArch64 mask-beforefirst.ll, llvm/test/Analysis/CostModel/RISCV mask-beforefirst.ll

Precommit tests
DeltaFile
+44-0llvm/test/Analysis/CostModel/AArch64/mask-beforefirst.ll
+42-0llvm/test/Analysis/CostModel/RISCV/mask-beforefirst.ll
+86-02 files

LLVM/project 1fdd888 — llvm/include/llvm/CodeGen BasicTTIImpl.h, llvm/test/Analysis/CostModel/AArch64 mask-beforefirst.ll

[TTI] Add cost for llvm.mask.beforefirst
DeltaFile
+16-16llvm/test/Analysis/CostModel/RISCV/mask-beforefirst.ll
+15-15llvm/test/Analysis/CostModel/AArch64/mask-beforefirst.ll
+23-0llvm/include/llvm/CodeGen/BasicTTIImpl.h
+54-313 files

LLVM/project ea4c43d — clang/lib/Driver ClangCLArgs.cpp, clang/lib/Driver/ToolChains MSVC.cpp

[clang] Normalize clang-cl options for host and device compilation (#228096)

clang-cl options such as `/O1`, `/O2`, and `/Ox` optimized host code in
HIP builds while leaving device code unoptimized. Translation of these
options, macro separators, and `/permissive` also depended on selecting
the MSVC toolchain.

Move this handling into a shared `ClangCLArgs` helper, selected by
`IsCLMode()`. Translate shared options before host/device filtering and
forwarded options afterward. Preserve explicit overrides, existing
GNU-mode MSVC compatibility, and the resolved host architecture for
frame-pointer options.
DeltaFile
+200-0clang/lib/Driver/ClangCLArgs.cpp
+0-181clang/lib/Driver/ToolChains/MSVC.cpp
+159-0clang/test/Driver/openmp-cl-argument-translation.cpp
+119-0clang/test/Driver/hip-cl-optimization.hip
+107-0clang/test/Driver/hip-cl-argument-translation.hip
+76-0clang/test/Driver/cl-argument-translation.c
+661-18111 files not shown
+819-19317 files

LLVM/project 910cdcd — llvm/include/llvm/Passes PassBuilder.h, llvm/lib/Passes PassBuilder.cpp PassBuilderPipelines.cpp

PassBuilder: Take LLVMContext for LibraryOptionsContext (#233150)

PassBuilder uses the PipelineTuningOptions' context, else the
TargetMachine's, else null, for which LibraryOptionsContext::get<T>
returns T::Global. A caller that sets neither, such as llvm-reduce,
silently gets the global values.

Take the LLVMContext whose library options the pipelines read as the
first constructor parameter instead, as StandardInstrumentations does,
and remove PipelineTuningOptions::LibraryOptions.

LLM-aided
DeltaFile
+23-28polly/lib/Support/RegisterPasses.cpp
+9-12llvm/include/llvm/Passes/PassBuilder.h
+10-10llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+8-9llvm/lib/Passes/PassBuilderPipelines.cpp
+6-6llvm/lib/Passes/PassBuilder.cpp
+6-4llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
+62-6947 files not shown
+135-14253 files

LLVM/project 7021e2e — libc/utils/hdrgen README.rst README.md, libc/utils/wctype_utils README.rst README.md

[libc][docs] Rewrite remaining rst docs to md [2/2] (#233848)

Tracking issue:
[#201242](https://github.com/llvm/llvm-project/issues/201242)

See the [migration
guide](https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines)

this is the second part of migrating the remaining libc utility READMEs
from rst to md
the content conversion is provided by this pr, following the rename in
the previous pr

Depends on #233817

the first commit is from the base pr (rename), the second commit
contains the content conversion
DeltaFile
+0-7libc/utils/wctype_utils/README.rst
+7-0libc/utils/wctype_utils/README.md
+0-4libc/utils/hdrgen/README.rst
+4-0libc/utils/hdrgen/README.md
+11-114 files

DragonFlyBSD/src b51aa7c — usr.bin/dsynth pkglist.c

dsynth - Apply the "debug" directive to ports-mgmt/pkg

The debug directive was not being applied to ports-mgmt/pkg,
so we couldn't retain the mounts for debugging purposes when
explicitly building that target.

Adjust the (s4) string to recognize multiple flags, since fixing
this requires two flags to be passed in.

Reported-by: aly
DeltaFile
+6-3usr.bin/dsynth/pkglist.c
+6-31 files

LLVM/project 293d351 — llvm/test/CodeGen/AMDGPU branch-relax-spill.ll long-branch-reserve-register.ll

[AMDGPU] Enable IAS in the AMDGPU backend (#85518)

Object emission already parses inline asm with AMDGPUAsmParser, so the
visible change is in textual output (llc, clang -S), where inline asm
is now parsed and printed in canonical form instead of being copied
through as written.

With the integrated assembler, MCAsmInfoELF's HasPreferredAlignment
makes AsmPrinter emit the preferred function alignment as .prefalign,
which lets small functions be aligned less than the instruction cache
line. Turn it off so that enabling the integrated assembler does not
change code layout. The existing function alignment tests cover this.

Update the tests whose inline asm cannot be written so that it prints
the same either way: v_nop_e64 is printed as v_nop, inline constants
are printed by value (0xbf000000 -> -0.5), constant expressions are
evaluated (0x40fffffff0 >> 32 -> 64) and a zero offset: is omitted.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+164-164llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
+126-126llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
+46-46llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
+23-23llvm/test/CodeGen/AMDGPU/inline-constraints.ll
+22-22llvm/test/CodeGen/AMDGPU/long-branch-reserve-register.ll
+16-16llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
+397-3972 files not shown
+404-3998 files

LLVM/project 36c33fc — libc/src/__support/threads/linux CMakeLists.txt, libc/src/__support/threads/linux/aarch64 CMakeLists.txt

[libc][cmake] Respect the configured optimization level for the Linux thread and TLS objects

The -O3 override on the Linux thread object dates from the old approach of
reading the thread arguments off the new thread's stack, which #225384
removed; the TLS objects copied the same pattern in #225418. Neither needs
it anymore, so drop the overrides and use the optimization level configured
by CMake.

Assisted-by: Claude
DeltaFile
+0-2libc/src/__support/threads/linux/CMakeLists.txt
+0-1libc/src/__support/threads/linux/x86_64/CMakeLists.txt
+0-1libc/src/__support/threads/linux/riscv/CMakeLists.txt
+0-1libc/src/__support/threads/linux/aarch64/CMakeLists.txt
+0-54 files

LLVM/project e21db61 — libc/test/src/math CMakeLists.txt, libc/test/src/math/exhaustive CMakeLists.txt

[libc][cmake] Respect the configured optimization level for tests (#234381)

Follow up to #126322 and #233964 for the test side: the math and stdfix
tests, `hash_test` and the MPFR/MPC wrappers still force `-O3`. Drop the
overrides so they use the optimization level configured by CMake like
the rest of the library.

Assisted-by: Claude
DeltaFile
+0-16libc/test/src/stdfix/CMakeLists.txt
+0-16libc/test/src/math/exhaustive/CMakeLists.txt
+0-8libc/test/src/math/smoke/CMakeLists.txt
+0-6libc/test/src/math/CMakeLists.txt
+2-2libc/utils/MPFRWrapper/CMakeLists.txt
+1-1libc/utils/MPCWrapper/CMakeLists.txt
+3-491 files not shown
+3-517 files

FreeBSD/ports f3611d9 — security/vuxml/vuln 2026.xml

security/vuxml: document brotli vulnerability
DeltaFile
+26-0security/vuxml/vuln/2026.xml
+26-01 files

FreeBSD/ports 0b780ba — editors/emacs Makefile, editors/emacs/files patch-lisp_net_tramp-archive.el patch-lisp_net_tramp.el

editors/emacs: Backport fix for CVE-2026-108976

Security:       CVE-2026-108976
Security:       436ad1a7-ccc8-11f1-af18-c4ff99d93a55
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D60930

(cherry picked from commit 21b135f8e5bc0c525b24467af268c58cb71aa526)
DeltaFile
+62-0editors/emacs/files/patch-lisp_net_tramp.el
+23-0editors/emacs/files/patch-lisp_net_tramp-archive.el
+1-1editors/emacs/Makefile
+86-13 files

LLVM/project 416f328 — llvm/lib/CodeGen XRayInstrumentation.cpp, llvm/test/CodeGen/X86 xray-debug-instruction-threshold.mir

[XRay] Ignore debug instructions in instruction threshold (#219400)

Debug instructions currently contribute to `xray-instruction-threshold`,
so
enabling debug information can change whether a function is
instrumented.

Count raw machine instructions while excluding only debug instructions.
Using
the raw instruction range preserves the existing treatment of bundled
instructions and non-debug meta instructions.

The first commit records the existing behavior. The second applies the
fix and
updates the test expectations.

Fixes #219376

Assisted-by: OpenAI Codex 5.6 Sol, co-reviewed by Claude and Yongqiang
Tian.
DeltaFile
+86-0llvm/test/CodeGen/X86/xray-debug-instruction-threshold.mir
+4-2llvm/lib/CodeGen/XRayInstrumentation.cpp
+90-22 files

OpenBSD/ports axxvyMG — devel/quirks Makefile, devel/quirks/files Quirks.pm

   remove historic setuid-root net/icmpinfo

   a tool from 1995 to look at "weird" packets, what could go wrong...
   just use ping(8) or tcpdump(8).

   OK ian
VersionDeltaFile
1.1850+3-2devel/quirks/files/Quirks.pm
1.1836+1-1devel/quirks/Makefile
1.1483+0-1net/Makefile
1.6+0-0net/icmpinfo/pkg/PLIST
1.4+0-0net/icmpinfo/pkg/DESCR
1.5+0-0net/icmpinfo/distinfo
+4-41 files not shown
+4-47 files

FreeBSD/src 0a9e5c6 — sbin/ping/tests ping_test.sh

tests/ping: Fix date(1) invocations

Fixes:  069681afd58a ("ping: use CLOCK_REALTIME for ICMP Originate Timestamp")
(cherry picked from commit 667dd9eafa4d5352efdfcdc1a9e228c23fbc60f5)
DeltaFile
+2-2sbin/ping/tests/ping_test.sh
+2-21 files

FreeBSD/src 6c604ba — sbin/ping ping.c, sbin/ping/tests ping_test.sh

ping: use CLOCK_REALTIME for ICMP Originate Timestamp

RFC 792 defines the ICMP Originate Timestamp field as milliseconds
since midnight UTC.  However, ping(8) currently derives this value
from CLOCK_MONOTONIC, which represents time since an unspecified
starting point and is not related to UTC.

The issue was introduced by commit 1ad76f1b6047, which replaced
gettimeofday(2) with clock_gettime(CLOCK_MONOTONIC) for timekeeping
in ping(8).

Fix this by using CLOCK_REALTIME when generating the ICMP originate
timestamp.

Before:

$ ping -Mt -c1 127.0.0.1
ICMP_TSTAMP
PING 127.0.0.1 (127.0.0.1): 56 data bytes

    [17 lines not shown]
DeltaFile
+35-0sbin/ping/tests/ping_test.sh
+8-1sbin/ping/ping.c
+43-12 files

FreeBSD/src 49f56f3 — sbin/ping/tests ping_test.sh

ping: fix test timestamp_origin when tstamprepl is disabled

The timestamp_origin test sends an ICMP Timestamp Request (ping -Mt) and parses
the tso/tsr fields out of the reply.
When the sysctl net.inet.icmp.tstamprepl is 0, the kernel silently drops the
request, ping receives no reply, and the sed extraction yields an empty $tso.
The test then fails inside atf_check test -n "$tso" with the unhelpful message

Approved by:    maxim
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D57287

(cherry picked from commit ff873565bc2c3e47fe1d070305aa851189ee8bcf)
DeltaFile
+15-1sbin/ping/tests/ping_test.sh
+15-11 files

LLVM/project 67841e3 — lldb/unittests/SymbolFile/DWARF DWARFASTParserClangTests.cpp

[lldb] Fix SymbolFileDWARFTests link failure on Windows (#234441)

LLDB unit tests don't link clang libraries themselves, use
ObjCInterfaceDecl::getObjCRuntimeNameAsString() instead.

Assisted-by: Claude
DeltaFile
+2-4lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
+2-41 files

Linux/linux 4403278 — Documentation/devicetree/bindings/thermal google,gs101-tmu-top.yaml ti_soc_thermal.txt, drivers/thermal airoha_thermal.c

Merge tag 'thermal-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull thermal control updates from Rafael Wysocki:
 "These are mostly updates of thermal drivers including a new Exynos
  ACPM thermal driver for Google GS101, new Renesas RZ/G3L thermal
  sensor support, new Qualcomm MSM8952 TSENS support, new Qualcomm
  PMAU0102 Master BandGap temperature monitor support in DT bindings,
  and new rugged Panther Lake support in intel_tcc_cooling. Moreover,
  the AN7583 driver is extended to register separate thermal zones for
  bandgap, GbE and CPU (its DT bindings are updated accordingly).

  There are also multiple fixes and assorted cleanups, as usual.

  Specifics:

   - Make the Intel powerclamp thermal driver reject invalid window_size
     values, drop redundant clamp() from duration_set() in it, and
     simplify 4 functions in it (Thorsten Blum)


    [122 lines not shown]
DeltaFile
+651-0drivers/thermal/samsung/acpm-tmu.c
+137-46drivers/thermal/airoha_thermal.c
+177-0Documentation/devicetree/bindings/thermal/ti,omap-bandgap.yaml
+0-88Documentation/devicetree/bindings/thermal/ti_soc_thermal.txt
+69-0Documentation/devicetree/bindings/thermal/google,gs101-tmu-top.yaml
+20-44drivers/thermal/intel/intel_powerclamp.c
+1,054-17836 files not shown
+1,333-28942 files

Linux/linux df37e39 — Documentation/power runtime_pm.rst, arch/x86/kernel/acpi cppc.c

Merge tag 'pm-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management updates from Rafael Wysocki:
 "This time, the most visible part are the ACPI CPPC updates from
  Christian Loehle, including CPPC cpufreq driver changes, even though
  updates of cpufreq drivers proper are still the largest topic group.
  However, the updates of cpufreq drivers depend on the ACPI CPPC
  updates, so they should really be counted together and that is well
  over 1/2 of the total commit count.

  Interestingly enough, almost all of the updates included here are
  fixes or cleanups, with some new feature support in the amd-pstate
  cpufreq driver and IPQ9650 support in the qcom-nvmem cpufreq driver.
  The runtime PM documentation improvements from Brian Norris can also
  be mostly regarded as fixes, but a new kunit test goes along with
  them.

  Specifics:


    [116 lines not shown]
DeltaFile
+1,884-339drivers/acpi/cppc_acpi.c
+175-412Documentation/power/runtime_pm.rst
+233-176include/linux/pm_runtime.h
+234-111drivers/cpufreq/amd-pstate.c
+124-56arch/x86/kernel/acpi/cppc.c
+79-47kernel/power/em_netlink.c
+2,729-1,14151 files not shown
+3,474-1,37657 files

FreeBSD/ports ccd47a9 — www/R-cran-selectr Makefile distinfo

www/R-cran-selectr: Update to 0.8-0

Reported by:    portscout
DeltaFile
+3-3www/R-cran-selectr/distinfo
+1-3www/R-cran-selectr/Makefile
+4-62 files

OpenBSD/ports FETNQWY — math/z3 distinfo Makefile

   math/z3: update to 5.3.1
VersionDeltaFile
1.52+6-2math/z3/Makefile
1.29+2-2math/z3/distinfo
+8-42 files

LLVM/project e01f8e1 — llvm/lib/CodeGen MachineScheduler.cpp, llvm/test/CodeGen/AMDGPU shufflevector-physreg-copy.ll reschedule-physreg-copy-stale-undef.ll

[MachineScheduler] Fix stale read-undef flags when rescheduling physreg copies (#227897)

`GenericScheduler::reschedulePhysReg` can leave stale `read-undef` flags
when moving an already-scheduled COPY. This can be exposed most commonly
if a user introduces a large inline assembly section that can otherwise
limit the registers that are available to the compiler.

This addresses this bug in 2 steps:

1) Check for backends that can produce `read-undef` on subregisters in a
way that can meaningful move (e.g. has lane mask).
2) After a move regenerate the `read-undef` flags for just the region of
"movement" between the old/new location in the code.

You can find the motivating example here:
https://gist.github.com/njriasan/73a4b080e98cdb54bd0b59138bc5ad9c
DeltaFile
+41-0llvm/lib/CodeGen/MachineScheduler.cpp
+22-0llvm/test/CodeGen/AMDGPU/reschedule-physreg-copy-stale-undef.ll
+4-4llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
+67-43 files

FreeBSD/src 4292233 — sbin/ping ping.c, sbin/ping/tests test_ping.py

ping: do a better job with what we received from the net, part 2

When we see a difference between the payload we sent and what we
received, we dump both but we were not prepared for the case when
the received payload is less than we sent.  In this case we were trying
to dump more than needed.

Funny enough, 23 years ago I already fixed a similar issue here but
didn't pay attention to this small dumping loop.

Test written by jlduran.

Reviewed by:    jlduran
MFC after:      1 month
Found with:     Claude Code Sonnet 5

Differential Revision: https://reviews.freebsd.org/D59556
Differential Revision: https://reviews.freebsd.org/D59582

(cherry picked from commit 0b9434d707c71de7b1b62e400e6e780224f0384d)
DeltaFile
+39-1sbin/ping/tests/test_ping.py
+4-2sbin/ping/ping.c
+43-32 files

FreeBSD/src 43e0c9c — sbin/ping ping.c

ping: do a better job checking what we receive from the net

- zero out a buffer for the incoming icmp message that
  we are about to parse
- for ICMP_MASKREPLY and ICMP_TSTAMPREPLY responses check their length
  and warn and reject them if they are truncated

Without these checks a part of stack allocated struct icmp icp could
be printed out which seems low severity since we already dropped root
privileges by the time icp is allocated.

Reviewed by:    glebius
MFC after:      1 month
Found with:     Claude Code Sonnet 5

Differential Revision: https://reviews.freebsd.org/D59555

(cherry picked from commit aa6683207d189a0b58ccf8806bd9f8793914bc45)
DeltaFile
+15-0sbin/ping/ping.c
+15-01 files

LLVM/project 784eb2c — llvm/lib/Target/PowerPC PPCMIPeephole.cpp, llvm/test/CodeGen/PowerPC peephole-elim-extsw-subreg-input.mir

PPC: Fold 64-bit zero-extending word load feeding extsw subregister (#211107)

A gprc LWZ/LWZX feeding EXTSW_32_64 is rewritten into a sign-extending
LWA/LWAX load. Extend the same fold to the 64-bit zero-extending word
loads LWZ8/LWZX8 when the EXTSW_32_64 reads their sub_32 subregister,
producing a single LWA/LWAX instead of a redundant lwz+extsw pair.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+12-12llvm/test/CodeGen/PowerPC/peephole-elim-extsw-subreg-input.mir
+13-3llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
+25-152 files

LLVM/project c8d2ad5 — llvm/lib/Transforms/IPO FunctionImport.cpp, llvm/test/ThinLTO/X86 local_name_conflict_var.ll

[ThinLTO] Import locals with colliding GUIDs (#234247)

The ThinLTO importer treated a local already defined in the destination
as satisfying any reference with the same GUID. Distinct locals in
different modules can share a GUID when their source filenames and names
match. A needed definition was then skipped, tripping the export/import
consistency assertion for read-only variables.

Check the referencing module before skipping the import.

Assisted-by: OpenAI Codex
DeltaFile
+8-4llvm/test/ThinLTO/X86/local_name_conflict_var.ll
+7-2llvm/lib/Transforms/IPO/FunctionImport.cpp
+15-62 files

HardenedBSD/ports 720940b — devel/cargo-readme Makefile.crates distinfo, security/pass-cli Makefile.crates distinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+245-243www/xh/distinfo
+185-187security/pass-cli/distinfo
+121-120www/xh/Makefile.crates
+83-84security/pass-cli/Makefile.crates
+43-41devel/cargo-readme/distinfo
+20-19devel/cargo-readme/Makefile.crates
+697-69492 files not shown
+1,376-91998 files

LLVM/project 06fb4eb — libcxx/docs/ReleaseNotes 22.rst 21.rst, llvm/test/CodeGen/PowerPC peephole-elim-extsw-subreg-input.mir

rebase

Created using spr 2.0.0-beta.1
DeltaFile
+0-217libcxx/docs/ReleaseNotes/20.rst
+0-169libcxx/docs/ReleaseNotes/21.rst
+0-158libcxx/docs/ReleaseNotes/22.rst
+152-6llvm/test/CodeGen/PowerPC/peephole-elim-extsw-subreg-input.mir
+122-0mlir/test/Dialect/ControlFlow/canonicalize.mlir
+81-14llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
+355-56457 files not shown
+820-80263 files