Commit 4b2a397c516 for php

commit 4b2a397c516917d09d9c47428a02ed4f1029d65a
Author: Michael Voříšek <mvorisek@mvorisek.cz>
Date:   Tue Sep 29 15:49:33 2026 +0200

    Verify bundled sources using CI - Opcache JIT IR (#20179)

diff --git a/.github/scripts/download-bundled/jit-ir.sh b/.github/scripts/download-bundled/jit-ir.sh
new file mode 100755
index 00000000000..fed7a9938d2
--- /dev/null
+++ b/.github/scripts/download-bundled/jit-ir.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+set -ex
+cd "$(dirname "$0")/../../.."
+
+tmp_dir=/tmp/php-src-download-bundled/jit-ir
+rm -rf "$tmp_dir"
+
+revision=00bec1ca490b8bc51f636a42040c5e9f64c1a91b
+
+git clone --depth 1 --revision="$revision" https://github.com/dstogov/ir.git "$tmp_dir"
+
+rm -rf ext/opcache/jit/ir
+cp -R "$tmp_dir" ext/opcache/jit/ir
+
+cd ext/opcache/jit/ir
+
+# remove unneeded files
+rm -rf .git
+rm -r .github
+rm -r bench
+rm -r examples
+rm -r tests
+rm -r tools
+rm -r fuzz
+rm README.md
+rm TODO
+rm ir.g
+rm ir_cpuinfo.c
+rm ir_emit_c.c
+rm ir_emit_llvm.c
+rm ir_load.c
+rm ir_load_llvm.c
+rm ir_main.c
+rm ir_mem2ssa.c
+
+# add extra files
+git restore README
diff --git a/.github/workflows/verify-bundled-files.yml b/.github/workflows/verify-bundled-files.yml
index 473d6e2d8f4..f3631747311 100644
--- a/.github/workflows/verify-bundled-files.yml
+++ b/.github/workflows/verify-bundled-files.yml
@@ -5,6 +5,7 @@ on:
     paths: &paths
       - '.github/scripts/download-bundled/**'
       - 'Zend/asm/**'
+      - 'ext/opcache/jit/ir/**'
       - 'ext/pcre/pcre2lib/**'
       - 'ext/uri/uriparser/**'
   pull_request:
@@ -34,6 +35,9 @@ jobs:
             'boost-context':
               - '.github/scripts/download-bundled/boost-context.*'
               - 'Zend/asm/**'
+            'jit-ir':
+              - '.github/scripts/download-bundled/jit-ir.*'
+              - 'ext/opcache/jit/ir/**'
             pcre2:
               - '.github/scripts/download-bundled/pcre2.*'
               - 'ext/pcre/pcre2lib/**'
@@ -50,6 +54,15 @@ jobs:
           echo "::group::Verify files"
           .github/scripts/test-directory-unchanged.sh Zend/asm
           echo "::endgroup::"
+      - name: 'JIT IR'
+        if: ${{ !cancelled() && (steps.changes.outputs.jit-ir == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
+        run: |
+          echo "::group::Download"
+          .github/scripts/download-bundled/jit-ir.sh
+          echo "::endgroup::"
+          echo "::group::Verify files"
+          .github/scripts/test-directory-unchanged.sh 'ext/opcache/jit/ir'
+          echo "::endgroup::"
       - name: PCRE2
         if: ${{ !cancelled() && (steps.changes.outputs.pcre2 == 'true' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }}
         run: |