Commit 343fed5
authored
Add test runner option --log-test-environment (#25843)
Add test runner option --log-test-environment, which will introspect and
print detailed information about Emscripten tool setup: Emcc, Clang,
Binaryen, Node, Python and LLVM. This helps CI maintainers emit info to
test run logs of the active setup for reference.
`test/runner --log-test-environment <tests_to_run>` will then print a
following log info dump before starting the tests:
```
C:\emsdk\emscripten\main>test\runner --log-test-environment
======================== Test Setup ========================
Test time: Thursday, November 20, 2025 22:28:18 UTC
Python: "C:\emsdk\python\3.13.3_64bit\python.exe". Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
Emscripten test runner path: "C:\emsdk\emscripten\main\test\runner.py"
Emscripten repository: "C:\emsdk\emscripten\main"
emscripten-version.txt: 4.0.21-git
Emscripten commit cce3a70
Author: Jukka Jylänki <[email protected]>
Date: Fri Nov 21 00:26:51 2025 +0200
Add test runner option --log-test-environment, which will introspect and print detailed information about Emscripten tool setup: Emcc, Clang, Binaryen, Node, Python and LLVM. This helps CI maintainers emit info to test run logs of the active setup for reference.
EM_CONFIG: "C:\emsdk\.emscripten"
import os
emsdk_path = os.path.dirname(os.getenv('EM_CONFIG')).replace('\\', '/')
LLVM_ROOT = emsdk_path + '/llvm/git/build_main_vs2022_64/Release/bin'
NODE_JS = emsdk_path + '/node/22.16.0_64bit/bin/node.exe'
EMSDK_CMAKE = emsdk_path + '/cmake/4.2.0-rc3_64bit/bin/cmake.exe'
PYTHON = emsdk_path + '/python/3.13.3_64bit/python.exe'
EMSCRIPTEN_ROOT = emsdk_path + '/emscripten/main'
BINARYEN_ROOT = emsdk_path + '/binaryen/main_vs2022_64bit_binaryen'
MINGW_ROOT = emsdk_path + '/mingw/7.1.0_64bit'
NINJA = emsdk_path + '/ninja/git-release_64bit/bin'
EMSDK_ACTIVATED_TEST_BROWSER = emsdk_path + '/firefox/78.15.0esr_64bit/firefox.exe'
NODE_JS: ['C:/emsdk/node/22.16.0_64bit/bin/node.exe']. Version: v22.16.0
BINARYEN_ROOT: C:/emsdk/binaryen/main_vs2022_64bit_binaryen
wasm-opt version: wasm-opt version 124 (version_124-122-g8a66d2a7d)
Binaryen git directory: "C:\emsdk\binaryen\main"
Binaryen commit 8a66d2a7d48a0014dce5e22a2fa8eee12eb09b7c
Author: Alon Zakai <[email protected]>
Date: Thu Nov 6 11:53:49 2025 -0800
GUFA: Represent imported functions as globals (#8025)
The meaning of Global in PossibleContents changes from "an actual wasm
Global" to "an immutable global wasm thing, either a Global or a Function."
Imported wasm Functions are effectively immutable values in the global
scope - not concrete, specifically-known functions - so this is more correct.
In particular, two imported Globals (of compatible types) might or might not
be the same, and likewise with imported Functions. And that is not the case
for defined Functions - they are definitely different.
This does not fix the issues related to imported function type handling -
#7993 does that - but this refactoring makes it possible to properly
optimize imported functions afterward.
This does make the PossibleContents object grow from 32 to 40 bytes,
which might be why this adds 3-4% overhead to GUFA, but I don't see a
good way to avoid that, unfortunately. Keeping our ability to optimize
imported functions might be worth that 3-4% (we recently saw a few digits
improvement due to properly optimizing imported externs, for example,
from #8005).
LLVM_ROOT: C:/emsdk/llvm/git/build_main_vs2022_64/Release/bin
LLVM git directory: "C:/emsdk/llvm/git\src"
LLVM commit d65be16ab6adf00af21e75d29049ae5de0f3a38a
Author: Ryan Cowan <[email protected]>
Date: Mon Nov 17 15:55:40 2025 +0000
[AArch64][GlobalISel] Add combine for build_vector(unmerge, unmerge, undef, undef) (#165539)
This PR adds a new combine to the `post-legalizer-combiner` pass. The
new combine checks for vectors being unmerged and subsequently padded
with `G_IMPLICIT_DEF` values by building a new vector. If such a case is
found, the vector being unmerged is instead just concatenated with a
`G_IMPLICIT_DEF` that is as wide as the vector being unmerged.
This removes unnecessary `mov` instructions in a few places.
Clang: "C:/emsdk/llvm/git/build_main_vs2022_64/Release/bin\clang.exe"
clang version 22.0.0git (https://github.com/llvm/llvm-project.git d65be16ab6adf00af21e75d29049ae5de0f3a38a)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\emsdk\llvm\git\build_main_vs2022_64\Release\bin
EMTEST_BROWSER: "C:\\emsdk\\firefox\\78.15.0esr_64bit\\firefox.exe" -new-instance -wait-for-browser
Firefox version: 78
Not detected as a Safari browser
EMSDK: "C:/emsdk"
Emsdk commit fe91d96cfd53f505a2ce561b01320124bff438a1
Author: Jukka Jylänki <[email protected]>
Date: Mon Nov 17 18:41:28 2025 +0200
Use exit_with_error
==================== End of Test Setup =====================
```1 parent a58305a commit 343fed5
2 files changed
+104
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| 30 | + | |
| 31 | + | |
29 | 32 | | |
30 | 33 | | |
31 | 34 | | |
| |||
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
47 | | - | |
| 50 | + | |
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
| |||
506 | 509 | | |
507 | 510 | | |
508 | 511 | | |
| 512 | + | |
509 | 513 | | |
510 | 514 | | |
511 | 515 | | |
| |||
563 | 567 | | |
564 | 568 | | |
565 | 569 | | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
566 | 659 | | |
567 | 660 | | |
568 | 661 | | |
| |||
606 | 699 | | |
607 | 700 | | |
608 | 701 | | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
609 | 705 | | |
610 | 706 | | |
611 | 707 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1189 | 1189 | | |
1190 | 1190 | | |
1191 | 1191 | | |
1192 | | - | |
| 1192 | + | |
1193 | 1193 | | |
1194 | 1194 | | |
1195 | 1195 | | |
1196 | 1196 | | |
1197 | | - | |
| 1197 | + | |
1198 | 1198 | | |
1199 | 1199 | | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
1200 | 1204 | | |
1201 | 1205 | | |
1202 | 1206 | | |
1203 | 1207 | | |
1204 | 1208 | | |
1205 | 1209 | | |
1206 | | - | |
| 1210 | + | |
1207 | 1211 | | |
1208 | 1212 | | |
1209 | 1213 | | |
| |||
0 commit comments