Issue 12783 in v8: Tracking bug: TurboShaft

711 views
Skip to first unread message

te… via monorail

unread,
Apr 7, 2022, 7:46:41 AM4/7/22
to v8-re...@googlegroups.com
Status: Assigned
Owner: te...@chromium.org
Components: Compiler>Turbofan
Type: Task

New issue 12783 by te...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783

TurboShaft is a new CFG-based IR for TurboFan.

--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Git Watcher via monorail

unread,
Apr 25, 2022, 5:13:05 AM4/25/22
to v8-re...@googlegroups.com

Comment #1 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c1

The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/e4cc6ed44b61d4431d3efcda3a1a298c1155719d

commit e4cc6ed44b61d4431d3efcda3a1a298c1155719d
Author: Tobias Tebbi <te...@chromium.org>
Date: Mon Apr 25 08:27:09 2022

[turboshaft] initial commit

TurboShaft is a new, CFG-based IR for TurboFan.
This CL adds the basic IR and bidirectional translation from/to
TurboFan's sea-of-nodes-based IR for some common operators (still
incomplete even for JS).

Bug: v8:12783
Change-Id: I162fdf10d583a9275a9f655f5b44b888faf813f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563562
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80136}

[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/operations.h
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/globals.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/codegen/machine-type.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/backend/instruction-selector.cc
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/zone/zone.h
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/frame-states.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/BUILD.bazel
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/pipeline.cc
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/logging/runtime-call-stats.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/BUILD.gn
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/test/mjsunit/turboshaft/simple.js
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/graph.cc
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/graph-builder.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/test/mjsunit/mjsunit.status
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/base/functional.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/base/small-vector.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/flags/flag-definitions.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/common-operator.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/base/vector.h
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/zone/zone-containers.h
[modify] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/base/iterator.h
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/graph-builder.cc
[add] https://crrev.com/e4cc6ed44b61d4431d3efcda3a1a298c1155719d/src/compiler/turboshaft/graph.h

mic.b… via monorail

unread,
Apr 30, 2022, 11:23:14 AM4/30/22
to v8-re...@googlegroups.com

Comment #2 on issue 12783 by mic.b...@gmail.com: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c2

Hello, it seems that the introduction of TurboShaft has broken debug builds of Node.js on Windows.

See https://github.com/nodejs/node-v8/issues/223#issuecomment-1114005331

Git Watcher via monorail

unread,
May 18, 2022, 1:18:05 PM5/18/22
to v8-re...@googlegroups.com

Comment #3 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c3


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2

commit ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2
Author: Tobias Tebbi <te...@chromium.org>
Date: Wed May 18 16:07:15 2022

[turboshaft] add basic optimization phase: liveness analysis

Bug: v8:12783
Change-Id: I15cf16bd66a97c33170ca4f1f5e3acc6ff9bf956
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576129
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80618}

[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/pipeline.cc
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/flags/flag-definitions.h
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/logging/runtime-call-stats.h
[add] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/optimization-phase.cc
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/BUILD.gn
[add] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/ecc0bc8f3564c3d04d6b84cf5c7f7d53085439d2/BUILD.bazel

Git Watcher via monorail

unread,
Jun 3, 2022, 5:55:06 AM6/3/22
to v8-re...@googlegroups.com

Comment #4 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c4


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/574b56110e6e1e33d9fbf8d07a02fcea7869832b

commit 574b56110e6e1e33d9fbf8d07a02fcea7869832b
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Jun 03 08:54:17 2022

[turboshaft] Blocks store graph generation for debug checks

Bug: v8:12783
Change-Id: Icf9e5b29863a1d4bfc8924ea34476d2a9998c391
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3683322
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80936}

[modify] https://crrev.com/574b56110e6e1e33d9fbf8d07a02fcea7869832b/src/compiler/turboshaft/graph.h

Git Watcher via monorail

unread,
Jun 10, 2022, 11:18:07 AM6/10/22
to v8-re...@googlegroups.com

Comment #5 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c5


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/77ba98ef32d1191bd57df53fb25fffb2b8a49e32

commit 77ba98ef32d1191bd57df53fb25fffb2b8a49e32
Author: Tobias Tebbi <te...@chromium.org>
Date: Fri Jun 10 14:25:33 2022

[turboshaft] add support for all JS machine-level operators

In particular, this CL adds support for:
- exception handling
- source positions
- OSR
- various numeric operations and conversions

Since the test suite now passes with `--turboshaft`, this also adds a
new variant for Turboshaft and enables it on some bots.

Bug: v8:12783
Change-Id: Ia2dd2e16f56fc955d49e51f86d050218e70cb575
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3669251
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81074}

[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/tools/testrunner/standard_runner.py
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/codegen/source-position.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/pipeline.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/BUILD.bazel
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/backend/instruction-selector.h
[add] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/sidetable.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/tools/testrunner/local/variants.py
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/pipeline.cc
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/BUILD.gn
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/codegen/bailout-reason.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/src/compiler/turboshaft/graph-builder.h
[modify] https://crrev.com/77ba98ef32d1191bd57df53fb25fffb2b8a49e32/test/mjsunit/mjsunit.status

Git Watcher via monorail

unread,
Jun 13, 2022, 4:25:15 AM6/13/22
to v8-re...@googlegroups.com

Comment #6 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c6


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/fcca2eaf1fb1508a380580f13defdadc54f0678d

commit fcca2eaf1fb1508a380580f13defdadc54f0678d
Author: Tobias Tebbi <te...@chromium.org>
Date: Mon Jun 13 07:43:02 2022

[turboshaft] workaround for bug in GCC 7 (again)

Bug: v8:12783
Change-Id: I2d02b4466edb1da48512b1f2d2bc14f6d5cb8dc0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3701596
Reviewed-by: Andreas Haas <ah...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81094}

[modify] https://crrev.com/fcca2eaf1fb1508a380580f13defdadc54f0678d/src/compiler/turboshaft/graph-builder.cc

Git Watcher via monorail

unread,
Jun 24, 2022, 8:13:06 AM6/24/22
to v8-re...@googlegroups.com

Comment #7 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c7


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1fed3177512da6ce4e47b91b2b0dbcb7b0521dda

commit 1fed3177512da6ce4e47b91b2b0dbcb7b0521dda
Author: Danylo Boiko <daniel...@gmail.com>
Date: Fri Jun 24 10:29:59 2022

[turboshaft] Print OpProperties type to JSON output

Bug: v8:12783
Change-Id: I33f2809b60c894a82c3f00c59e9b848cc9f5036d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3723501
Commit-Queue: Danylo Boiko <daniel...@gmail.com>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81350}

[modify] https://crrev.com/1fed3177512da6ce4e47b91b2b0dbcb7b0521dda/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/1fed3177512da6ce4e47b91b2b0dbcb7b0521dda/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/1fed3177512da6ce4e47b91b2b0dbcb7b0521dda/src/compiler/turboshaft/graph-visualizer.cc

Git Watcher via monorail

unread,
Jul 7, 2022, 7:45:15 AM7/7/22
to v8-re...@googlegroups.com

Comment #8 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c8


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7b0861c023b38c3b03c349992afb389a9765a8ae

commit 7b0861c023b38c3b03c349992afb389a9765a8ae
Author: Darius M <dmerc...@chromium.org>
Date: Thu Jul 07 10:59:08 2022

[turboshaft] Add Dominator graph

Bug: v8:12783
Change-Id: I5495aac4213b0f9783b5e239b2d90047d25552d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3721497
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81583}

[modify] https://crrev.com/7b0861c023b38c3b03c349992afb389a9765a8ae/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/7b0861c023b38c3b03c349992afb389a9765a8ae/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/7b0861c023b38c3b03c349992afb389a9765a8ae/src/compiler/turboshaft/graph.cc

Git Watcher via monorail

unread,
Jul 8, 2022, 12:35:07 PM7/8/22
to v8-re...@googlegroups.com

Git Watcher via monorail

unread,
Jul 12, 2022, 5:09:18 AM7/12/22
to v8-re...@googlegroups.com

Comment #10 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c10


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/df98f6f4e17e5f0b4501efa92059da1bf80716ed

commit df98f6f4e17e5f0b4501efa92059da1bf80716ed
Author: Danylo Boiko <daniel...@gmail.com>
Date: Mon Jul 11 18:18:59 2022

[turboshaft][turbolizer] Changed type of blocks Ids in JSON output

Bug: v8:12783
Change-Id: I718ba43c63d8010f9a512e6bd47ea58fbb4970ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3756142
Commit-Queue: Danylo Boiko <daniel...@gmail.com>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81661}

[modify] https://crrev.com/df98f6f4e17e5f0b4501efa92059da1bf80716ed/src/compiler/turboshaft/graph-visualizer.cc
[modify] https://crrev.com/df98f6f4e17e5f0b4501efa92059da1bf80716ed/tools/turbolizer/src/phases/turboshaft-graph-phase/turboshaft-graph-phase.ts

Git Watcher via monorail

unread,
Aug 1, 2022, 9:31:16 AM8/1/22
to v8-re...@googlegroups.com

Git Watcher via monorail

unread,
Aug 5, 2022, 10:16:07 AM8/5/22
to v8-re...@googlegroups.com

Comment #13 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c13


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682

commit 5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682
Author: Tobias Tebbi <te...@chromium.org>
Date: Fri Aug 05 12:55:22 2022

[turbofan] preserve node origins and emit them with --trace-turbo

Bug: v8:12783, v8:7327

Change-Id: I7c4280b94abc8103472cbef0cf7bb226b918ae32
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3805886
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82229}

[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/graph-visualizer.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/node-aux-data.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/graph-visualizer.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/pipeline.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/graph-visualizer.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/node-origin-table.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/node-origin-table.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/compiler-source-position-table.h
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/compiler-source-position-table.cc
[modify] https://crrev.com/5f8ce57dc843dc0a9e0d443d4c88ba94f0f07682/src/compiler/turboshaft/graph-builder.h

Git Watcher via monorail

unread,
Aug 11, 2022, 11:08:07 AM8/11/22
to v8-re...@googlegroups.com

Comment #14 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c14


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6e0251f9e24f53e9949b215178362702f72fc7f8

commit 6e0251f9e24f53e9949b215178362702f72fc7f8
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Aug 09 15:41:19 2022

[turboshaft] Print operator properties as custom data for turbolizer

Bug: v8:12783
Change-Id: Ie5812217b3e858d94174087fc492887b00dd2e9a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820581
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82401}

[modify] https://crrev.com/6e0251f9e24f53e9949b215178362702f72fc7f8/src/compiler/pipeline.cc
[modify] https://crrev.com/6e0251f9e24f53e9949b215178362702f72fc7f8/src/compiler/turboshaft/graph-visualizer.h
[modify] https://crrev.com/6e0251f9e24f53e9949b215178362702f72fc7f8/src/compiler/turboshaft/graph-visualizer.cc

Git Watcher via monorail

unread,
Aug 11, 2022, 5:52:08 PM8/11/22
to v8-re...@googlegroups.com

Comment #15 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c15


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/58e8a8d2a23a9d5a31feaa17143de3e38b5923bd

commit 58e8a8d2a23a9d5a31feaa17143de3e38b5923bd
Author: Shu-yu Guo <s...@chromium.org>
Date: Thu Aug 11 21:50:06 2022

Revert "[turboshaft] Print operator properties as custom data for turbolizer"

This reverts commit 6e0251f9e24f53e9949b215178362702f72fc7f8.

Reason for revert: On suspicion of breaking node integration
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20-%20node.js%20integration%20ng/21832/overview

Original change's description:

> [turboshaft] Print operator properties as custom data for turbolizer
>
> Bug: v8:12783
> Change-Id: Ie5812217b3e858d94174087fc492887b00dd2e9a
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820581
> Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Commit-Queue: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#82401}

Bug: v8:12783
Change-Id: I3812a358c45e8e848ec1fb622a19d12f7aa6411b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3827664
Auto-Submit: Shu-yu Guo <s...@chromium.org>
Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Owners-Override: Shu-yu Guo <s...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82407}

[modify] https://crrev.com/58e8a8d2a23a9d5a31feaa17143de3e38b5923bd/src/compiler/pipeline.cc
[modify] https://crrev.com/58e8a8d2a23a9d5a31feaa17143de3e38b5923bd/src/compiler/turboshaft/graph-visualizer.h
[modify] https://crrev.com/58e8a8d2a23a9d5a31feaa17143de3e38b5923bd/src/compiler/turboshaft/graph-visualizer.cc

Git Watcher via monorail

unread,
Aug 11, 2022, 8:10:20 PM8/11/22
to v8-re...@googlegroups.com

Comment #16 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c16


The following revision refers to this bug:

Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Aug 09 15:41:19 2022

Reland "[turboshaft] Print operator properties as custom data for turbolizer"

This is a reland of commit 6e0251f9e24f53e9949b215178362702f72fc7f8

No changes since revert. Was reverted on suspicion of breaking node integration, but was not the culprit.


Original change's description:
> [turboshaft] Print operator properties as custom data for turbolizer
>
> Bug: v8:12783
> Change-Id: Ie5812217b3e858d94174087fc492887b00dd2e9a
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820581
> Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Commit-Queue: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#82401}

Bug: v8:12783

Git Watcher via monorail

unread,
Aug 31, 2022, 6:14:16 AM8/31/22
to v8-re...@googlegroups.com

Comment #17 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c17


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7a61dad0dbf2830d80360428ec523fb642372462

commit 7a61dad0dbf2830d80360428ec523fb642372462
Author: Tobias Tebbi <te...@chromium.org>
Date: Wed Aug 31 09:00:37 2022

[turboshaft] some IR refactorings

- Remove TruncateInt64ToInt32 instead of translating to Turboshaft, since it has no effect. Removing it simplifies pattern-matching in optimizations.
- Change how exception handling is done in Turboshaft: The exception value is obtained as the result of `CatchExceptionOp` instead of a special projection. This simplifies projections.
- Add `TupleOp` as the counterpart to `ProjectionOp`, which is useful
for lowerings of operations that have multiple outputs.

- Split BinopOp into WordBinopOp and FloatBinopOp because they have quite different semantics and many kinds only exist for one of them.
- rename IntegerUnary to WordUnary and other occurences of
Integer/Integral
- rename ChangeOp::Kind::kUnsignedFloatTruncate` to `kJSFloatTruncate`
because it actually has JS wrap-around semantics.
- move/add representation DCHECKs to operation constructors.
- add some convinience helpers to `AssemblerInterface`.

- Add a mechanism to check which operations are supported by the machine.

Drive-by fix: Abort current block in OptimizationPhase::VisitBlock if
we lower to a block-terminator.

Bug: v8:12783
Change-Id: Ib738accccd22fb1606d9dab86f57ac1e739fcec2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3857449
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82857}

[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/decompression-optimization.cc
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/backend/arm64/instruction-selector-arm64.cc
[add] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/utils.h
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/BUILD.bazel
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/js-graph.h
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/BUILD.gn
[modify] https://crrev.com/7a61dad0dbf2830d80360428ec523fb642372462/src/compiler/backend/x64/instruction-selector-x64.cc

Git Watcher via monorail

unread,
Aug 31, 2022, 8:34:06 AM8/31/22
to v8-re...@googlegroups.com

Comment #18 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c18


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/9bbc13bd40bc664bebbf74a6d3b1e1c8e3d8e972

commit 9bbc13bd40bc664bebbf74a6d3b1e1c8e3d8e972
Author: Tobias Tebbi <te...@chromium.org>
Date: Tue Aug 30 15:35:22 2022

[turboshaft] faster hash for GVN

Bug: v8:12783
Change-Id: I97f6a28bfef7c9aed679c84f33d60a71cf467718
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3859327

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>

Git Watcher via monorail

unread,
Aug 31, 2022, 9:40:17 AM8/31/22
to v8-re...@googlegroups.com

Comment #19 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c19


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6e8d4f55edfd01244d7dd0380f56a114234c18ca

commit 6e8d4f55edfd01244d7dd0380f56a114234c18ca
Author: Tobias Tebbi <te...@chromium.org>
Date: Wed Aug 31 12:56:43 2022

[turboshaft] add operation use counts

Some optimizations need to know if an operation has multiple uses,
for example to avoid extending live-ranges.
However, maintaining full use-lists is expensive memory-wise and
not really needed in this case, where we only need to distinguish
between 1 or more uses.
Therefore, we only count the number of uses. To save even more memory,
we use the 1 byte currently left for alignment padding in the
operation header and put the count there.
With a single byte, we cannot count beyond 255, but for the use-case
at hand, this is enough. When reaching 255, we no longer track the
use-count.
Nodes with so many uses should be rare and their use-count will usually not go down to 1 again, so this does not loose much precision.

Another possible future use of these counts is reserving memory for
full use-lists.

This CL also removes mutable access to node inputs, as this would need
to update use-counts and is not actually needed currently.

Bug: v8:12783
Change-Id: Idd2035c6f8ced6317e3aec0c42eecd1383e86248
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3863266
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82867}

[modify] https://crrev.com/6e8d4f55edfd01244d7dd0380f56a114234c18ca/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/6e8d4f55edfd01244d7dd0380f56a114234c18ca/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/6e8d4f55edfd01244d7dd0380f56a114234c18ca/src/compiler/turboshaft/optimization-phase.h

Git Watcher via monorail

unread,
Sep 16, 2022, 8:15:17 AM9/16/22
to v8-re...@googlegroups.com

Comment #20 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c20


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1047e423a27fad4bc751e2c9cf2af60f3850ee1b

commit 1047e423a27fad4bc751e2c9cf2af60f3850ee1b
Author: Tobias Tebbi <te...@chromium.org>
Date: Fri Sep 16 10:18:17 2022

[turboshaft] restructure MachineRepresentation and MachineType

Bug: v8:12783
Change-Id: I5de98493d67c7c797d4a1b2dcd18c0347821f0f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3870471

Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83262}

[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/decompression-optimization.cc
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/codegen/machine-type.h
[add] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/representations.cc
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/utils.h
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/BUILD.bazel
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/BUILD.gn
[add] https://crrev.com/1047e423a27fad4bc751e2c9cf2af60f3850ee1b/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Sep 16, 2022, 8:44:08 AM9/16/22
to v8-re...@googlegroups.com

Comment #21 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c21


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6809ef209b2747bd44bb3e850b5f9ffe2c984d97

commit 6809ef209b2747bd44bb3e850b5f9ffe2c984d97
Author: Tobias Tebbi <te...@chromium.org>
Date: Fri Sep 16 11:29:39 2022

[turboshaft] stage behind --future

Bug: v8:12783
Change-Id: I723438d4843861b5933f1ea1f649ae426a2a1c04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899125
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83266}

[modify] https://crrev.com/6809ef209b2747bd44bb3e850b5f9ffe2c984d97/src/flags/flag-definitions.h

Git Watcher via monorail

unread,
Sep 19, 2022, 7:10:32 AM9/19/22
to v8-re...@googlegroups.com

Comment #22 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c22


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/253f4004f2ed04a306e6295d145cbdbf5d1e8eb5

commit 253f4004f2ed04a306e6295d145cbdbf5d1e8eb5
Author: Tobias Tebbi <te...@chromium.org>
Date: Mon Sep 19 10:20:00 2022

[turboshaft] add support for missing Float64 unary operations

Bug: v8:12783, chromium:1364943
Change-Id: Ia972708e0679cf68e32d8e3c2cf103ab11aac2b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899087

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>

Git Watcher via monorail

unread,
Sep 21, 2022, 9:50:15 AM9/21/22
to v8-re...@googlegroups.com

Comment #23 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c23


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/197471fad0dc15686a1c82154f1307069120f681

commit 197471fad0dc15686a1c82154f1307069120f681
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Sep 21 13:09:22 2022

[turboshaft][wasm] Implement some wasm requirements

- Add Turboshaft to the wasm pipeline (behind a flag).
- Add a few operators.
- Implement SimplifyLoopsPhase, which ensures each loop has at most
two inputs.
- Remove the unneeded effect argument from
{FlagContinuation::FromTrap}.

Bug: v8:12783
Change-Id: I03a3f8cf3af40fc75bf57cfbad973b754b13dd8c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899126
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83365}

[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/flags/flag-definitions.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/recreate-schedule.cc
[add] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/simplify-tf-loops.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/BUILD.bazel
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/backend/instruction-selector.h
[add] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/simplify-tf-loops.cc
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/pipeline.cc
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/logging/runtime-call-stats.h
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/197471fad0dc15686a1c82154f1307069120f681/BUILD.gn

Git Watcher via monorail

unread,
Sep 22, 2022, 5:15:17 AM9/22/22
to v8-re...@googlegroups.com

Git Watcher via monorail

unread,
Sep 26, 2022, 7:32:08 AM9/26/22
to v8-re...@googlegroups.com

Comment #25 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c25


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d792c27353bd2bb6913c5231a4c707264e50904e

commit d792c27353bd2bb6913c5231a4c707264e50904e
Author: Tobias Tebbi <te...@chromium.org>
Date: Thu Sep 22 11:17:37 2022

[turboshaft] fix single-block loop bug

Bug: v8:12783
Change-Id: Ia4aaf245428dd63be09a33bfb684f0573f6b9296
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913084
Reviewed-by: Manos Koukoutos <mano...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83420}

[modify] https://crrev.com/d792c27353bd2bb6913c5231a4c707264e50904e/src/compiler/turboshaft/optimization-phase.h

Git Watcher via monorail

unread,
Sep 26, 2022, 12:19:11 PM9/26/22
to v8-re...@googlegroups.com

Comment #26 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c26


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/798c51cdc7b4ae88d584b25378b3a932286bd05d

commit 798c51cdc7b4ae88d584b25378b3a932286bd05d
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Sep 26 15:24:59 2022

[turboshaft] Split out ProtectedLoad and ProtectedStore

Those operators are not eliminable and need different properties than
the rest of loads/stores.

Bug: v8:12783
Change-Id: I7cd478fa827589612ca5d7628c628c09f3f4a3a8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3909361
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83437}

[modify] https://crrev.com/798c51cdc7b4ae88d584b25378b3a932286bd05d/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/798c51cdc7b4ae88d584b25378b3a932286bd05d/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/798c51cdc7b4ae88d584b25378b3a932286bd05d/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/798c51cdc7b4ae88d584b25378b3a932286bd05d/src/compiler/turboshaft/recreate-schedule.cc

Git Watcher via monorail

unread,
Oct 10, 2022, 9:27:07 AM10/10/22
to v8-re...@googlegroups.com

Comment #27 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c27


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ea67ec63d287ac07f35e9b44d43801fab3a754c8

commit ea67ec63d287ac07f35e9b44d43801fab3a754c8
Author: Tobias Tebbi <te...@chromium.org>
Date: Mon Oct 10 12:42:31 2022

[turboshaft] port MachineOperatorReducer

Bug: v8:12783
Change-Id: I9b3db78d8a70aead38836e6ccd4b2a76d6f1eb94
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3872269
Reviewed-by: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83602}

[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/base/division-by-constant.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/base/division-by-constant.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/base/bits.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/globals.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/type-cache.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/BUILD.bazel
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/numbers/conversions.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/pipeline.cc
[add] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/operation-matching.h
[add] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/machine-optimization-assembler.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/BUILD.gn
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/base/bits.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/flags/flag-definitions.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/numbers/conversions.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/utils.h
[add] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/utils.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/ea67ec63d287ac07f35e9b44d43801fab3a754c8/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Oct 10, 2022, 11:30:07 AM10/10/22
to v8-re...@googlegroups.com

Comment #28 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c28


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/af6840b153b04c597dc3772806961ef63c9683db

commit af6840b153b04c597dc3772806961ef63c9683db
Author: Leszek Swirski <les...@chromium.org>
Date: Mon Oct 10 15:27:50 2022

Revert "[turboshaft] port MachineOperatorReducer"

This reverts commit ea67ec63d287ac07f35e9b44d43801fab3a754c8.

Reason for revert: UBSan failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/23526/overview

Original change's description:

> [turboshaft] port MachineOperatorReducer
>
> Bug: v8:12783
> Change-Id: I9b3db78d8a70aead38836e6ccd4b2a76d6f1eb94
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3872269
> Reviewed-by: Manos Koukoutos <mano...@chromium.org>
> Reviewed-by: Clemens Backes <clem...@chromium.org>
> Commit-Queue: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#83602}

Bug: v8:12783
Change-Id: I3ac6d13feaea72ee47871ee880bc488cc4a36f88

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3942089
Auto-Submit: Leszek Swirski <les...@chromium.org>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Owners-Override: Leszek Swirski <les...@chromium.org>
Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#83607}

[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/base/division-by-constant.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/base/division-by-constant.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/base/bits.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/globals.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/type-cache.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/BUILD.bazel
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/numbers/conversions.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/pipeline.cc
[delete] https://crrev.com/45e237cd802dc06cb1f9a4e615d5a92eb7547181/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/BUILD.gn
[delete] https://crrev.com/45e237cd802dc06cb1f9a4e615d5a92eb7547181/src/compiler/turboshaft/machine-optimization-assembler.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/base/bits.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/flags/flag-definitions.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/numbers/conversions.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/utils.h
[delete] https://crrev.com/45e237cd802dc06cb1f9a4e615d5a92eb7547181/src/compiler/turboshaft/utils.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/af6840b153b04c597dc3772806961ef63c9683db/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Oct 11, 2022, 5:06:06 AM10/11/22
to v8-re...@googlegroups.com

Comment #29 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c29


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/52b85cbfde3387626e6802e1e28a625d2a40a8f8

commit 52b85cbfde3387626e6802e1e28a625d2a40a8f8
Author: Tobias Tebbi <te...@chromium.org>
Date: Mon Oct 10 15:54:40 2022

Reland "[turboshaft] port MachineOperatorReducer"

This is a reland of commit ea67ec63d287ac07f35e9b44d43801fab3a754c8


Original change's description:
> [turboshaft] port MachineOperatorReducer
>
> Bug: v8:12783
> Change-Id: I9b3db78d8a70aead38836e6ccd4b2a76d6f1eb94
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3872269
> Reviewed-by: Manos Koukoutos <mano...@chromium.org>
> Reviewed-by: Clemens Backes <clem...@chromium.org>
> Commit-Queue: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#83602}

Bug: v8:12783
Change-Id: I9d7110dbd26a8f617e191a6d662ea73b322f71bd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3942386
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83624}

[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/base/division-by-constant.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/base/division-by-constant.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/base/bits.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/type-cache.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/globals.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/BUILD.bazel
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/numbers/conversions.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/pipeline.cc
[add] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/operation-matching.h
[add] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/machine-optimization-assembler.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/BUILD.gn
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/base/bits.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/flags/flag-definitions.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/numbers/conversions.cc
[add] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/utils.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/utils.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/52b85cbfde3387626e6802e1e28a625d2a40a8f8/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Oct 11, 2022, 9:01:14 AM10/11/22
to v8-re...@googlegroups.com

Comment #30 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c30


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f45728af065abd556b4c210bdac9d94559f5f927

commit f45728af065abd556b4c210bdac9d94559f5f927
Author: Darius M <dmerc...@chromium.org>
Date: Tue Oct 11 12:11:48 2022

[turboshaft] compute dominators on the fly, fix ValueNumbering

ValueNumberingAssembler is now based on the dominator tree of the
new graph rather than the one of the old graph (since using the old
graph could be invalid, because control flow can change during the
OptimizationPhase).
To do so, the dominator tree of the new graph is now computed on the
fly.

Bug: v8:12783
Change-Id: I2d628b4c0e50931b32e6c0455bf00a119fbf57eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3937978
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83628}

[modify] https://crrev.com/f45728af065abd556b4c210bdac9d94559f5f927/src/compiler/turboshaft/value-numbering-assembler.h
[modify] https://crrev.com/f45728af065abd556b4c210bdac9d94559f5f927/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/f45728af065abd556b4c210bdac9d94559f5f927/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/f45728af065abd556b4c210bdac9d94559f5f927/src/compiler/turboshaft/graph.cc

Git Watcher via monorail

unread,
Oct 13, 2022, 8:50:07 AM10/13/22
to v8-re...@googlegroups.com

Comment #31 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c31


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/73b070b74fc628b2f47426085b9084f04fbbb3c3

commit 73b070b74fc628b2f47426085b9084f04fbbb3c3
Author: Darius M <dmerc...@chromium.org>
Date: Thu Oct 13 10:07:33 2022

[turboshaft] Port SelectLowering to turboshaft

Drive-by fix: reorder members of RandomAccessStackDominatorNode to
save 8 bytes on the total size of Block.

Bug: v8:12783
Change-Id: I4923490b0d2f4de22ea001eeba44c950c6451633
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3893853
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83679}

[add] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/select-lowering-assembler.h
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/pipeline.cc
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/BUILD.gn
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/73b070b74fc628b2f47426085b9084f04fbbb3c3/BUILD.bazel

Git Watcher via monorail

unread,
Oct 13, 2022, 4:30:09 PM10/13/22
to v8-re...@googlegroups.com

Comment #32 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c32


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13

commit dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13
Author: Tobias Tebbi <te...@chromium.org>
Date: Thu Oct 13 19:33:02 2022

[turboshaft] merge load and store operations, refactor assemblers

Bug: v8:12783
Change-Id: I8507b9f53826a63c2f0aed86ff35930f93441327
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3948606
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83699}

[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/decompression-optimization.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/graph-visualizer.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/select-lowering-assembler.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/value-numbering-assembler.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/pipeline.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/machine-optimization-assembler.h
[modify] https://crrev.com/dc6ebcedc15f1c23f47e102b8a4a63e14ab16b13/src/compiler/turboshaft/graph.h

Git Watcher via monorail

unread,
Oct 15, 2022, 4:25:16 AM10/15/22
to v8-re...@googlegroups.com

Comment #33 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c33


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/9e895ed861c2c398912ef942dc8c81a11134af03

commit 9e895ed861c2c398912ef942dc8c81a11134af03
Author: Darius M <dmerc...@chromium.org>
Date: Fri Oct 14 09:43:19 2022

[turboshaft] Fix bug with Bind in SelectLowering and MachineOptimization

Bug: v8:12783
Change-Id: I3a66acf8cf00943b7b5e60dd4173d35b8fcd30a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3952100
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83733}

[modify] https://crrev.com/9e895ed861c2c398912ef942dc8c81a11134af03/src/compiler/turboshaft/select-lowering-assembler.h
[modify] https://crrev.com/9e895ed861c2c398912ef942dc8c81a11134af03/src/compiler/turboshaft/value-numbering-assembler.h
[modify] https://crrev.com/9e895ed861c2c398912ef942dc8c81a11134af03/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/9e895ed861c2c398912ef942dc8c81a11134af03/src/compiler/turboshaft/machine-optimization-assembler.h

Git Watcher via monorail

unread,
Oct 18, 2022, 5:36:16 AM10/18/22
to v8-re...@googlegroups.com

Comment #34 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c34


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/50f7bff422c900093f3e179180d4382ca306ca28

commit 50f7bff422c900093f3e179180d4382ca306ca28
Author: Darius M <dmerc...@chromium.org>
Date: Tue Oct 18 08:34:06 2022

[turboshaft] Fix MachineOptimization bug on 32-bit archs

Bug: v8:12783
Change-Id: Iae206bd2837a37a09fe90abc4d48786db2f8f211
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3959665
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83765}

[modify] https://crrev.com/50f7bff422c900093f3e179180d4382ca306ca28/src/compiler/turboshaft/machine-optimization-assembler.h

Git Watcher via monorail

unread,
Oct 19, 2022, 7:28:09 AM10/19/22
to v8-re...@googlegroups.com

Comment #35 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c35


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/19b9492eb71af603b3db30fd13329169b5b71407

commit 19b9492eb71af603b3db30fd13329169b5b71407
Author: Darius M <dmerc...@chromium.org>
Date: Wed Oct 19 09:57:31 2022

[turboshaft] Fix ValueNumberingAssembler bug

Bug: v8:12783, chromium:1375977
Change-Id: I092ce0698f56683eac892a87094b0de3c514556e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3963081

Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Darius Mercadier <dmerc...@chromium.org>

Git Watcher via monorail

unread,
Oct 20, 2022, 4:30:21 AM10/20/22
to v8-re...@googlegroups.com

Comment #36 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c36


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2e8dc55e1322f379bea89fbec433a1f3e1d18de6

commit 2e8dc55e1322f379bea89fbec433a1f3e1d18de6
Author: Tobias Tebbi <te...@chromium.org>
Date: Thu Oct 20 07:50:03 2022

[turboshaft] fix load rep when recreating schedule

Bug: chromium:1375977, v8:12783

Change-Id: I7a609cff3428f77352105ad2466012b305de8b8e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3967839
Commit-Queue: Tobias Tebbi <te...@chromium.org>

Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83813}

[modify] https://crrev.com/2e8dc55e1322f379bea89fbec433a1f3e1d18de6/src/compiler/turboshaft/recreate-schedule.cc

Git Watcher via monorail

unread,
Oct 27, 2022, 12:09:19 PM10/27/22
to v8-re...@googlegroups.com

Comment #37 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c37


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b35d549082c143e058d7cc91c9562f05fcf018e5

commit b35d549082c143e058d7cc91c9562f05fcf018e5
Author: Darius M <dmerc...@chromium.org>
Date: Thu Oct 27 13:55:50 2022

[turboshaft] Change Reducer stack architecture

Bug: v8:12783
Change-Id: If30dea88ce237c04261dc942ee9f1547a1c45252
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3982114
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83961}

[rename] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/value-numbering-reducer.h
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/pipeline.cc
[rename] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/BUILD.gn
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/BUILD.bazel
[rename] https://crrev.com/b35d549082c143e058d7cc91c9562f05fcf018e5/src/compiler/turboshaft/machine-optimization-reducer.h

Git Watcher via monorail

unread,
Oct 28, 2022, 2:37:22 AM10/28/22
to v8-re...@googlegroups.com

Comment #38 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c38


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/bfda81d1a1faa7ab31a6b1a377b565d67b037907

commit bfda81d1a1faa7ab31a6b1a377b565d67b037907
Author: Tobias Tebbi <te...@chromium.org>
Date: Thu Oct 27 16:38:01 2022

[turboshaft] introduce SnapshotTable

Bug: v8:12783

Change-Id: Ie8e578105065ed5ad833fbf2a525b149e39d3424
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3971368

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>

Git Watcher via monorail

unread,
Oct 31, 2022, 10:32:08 AM10/31/22
to v8-re...@googlegroups.com

Comment #39 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c39


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7112fe658d21efd0b52efc262bd685a1dd67a34b

commit 7112fe658d21efd0b52efc262bd685a1dd67a34b
Author: Hao Xu <hao....@intel.com>
Date: Fri Oct 28 14:22:04 2022

[turbofan][turboshaft] Improve the reduction of UintNLessThanOrEqual

Add "x <= 0 => x == 0" reduction when "x" is uint. This allows x64 to select shorter instructions:

Before:
REX.W cmpq r9,0x0
jna addr

After:
REX.W testq r9,r9
jz addr

This optimization is also ported to turboshaft.

Bug: v8:12783
Change-Id: I87dfd5879c047bb57d30e7a51a309106e3a519ae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3967480
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Hao A Xu <hao....@intel.com>
Cr-Commit-Position: refs/heads/main@{#83994}

[modify] https://crrev.com/7112fe658d21efd0b52efc262bd685a1dd67a34b/src/compiler/machine-operator-reducer.h
[modify] https://crrev.com/7112fe658d21efd0b52efc262bd685a1dd67a34b/src/compiler/machine-operator-reducer.cc
[modify] https://crrev.com/7112fe658d21efd0b52efc262bd685a1dd67a34b/src/compiler/turboshaft/machine-optimization-reducer.h

Git Watcher via monorail

unread,
Nov 7, 2022, 7:45:19 AM11/7/22
to v8-re...@googlegroups.com

Comment #40 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c40


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0c9ca252b81e1db03ad37b49f47e0a69022a9252

commit 0c9ca252b81e1db03ad37b49f47e0a69022a9252
Author: Darius M <dmerc...@chromium.org>
Date: Mon Nov 07 11:58:48 2022

[turboshaft] Refactor OptimizationPhaseImpl

OptimizationPhaseImpl is now called GraphVisitor. Its ReduceXXX
methods are now called VisitXXX, to avoid name conflicts with
Assembler/Reducer methods.

Its non-template-dependent fields have been moved out to a separate
class (which will be easier to use in some contexts).

Assembler now inherits from GraphVisitor (ex OptimizationPhaseImpl),
which allows it to trigger visitation of Blocks or Operations.


Bug: v8:12783
Change-Id: I14f57621c62fc83f27fae1169be514a400396ecd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3985908
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Auto-Submit: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84089}

[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/value-numbering-reducer.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/pipeline.cc
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/0c9ca252b81e1db03ad37b49f47e0a69022a9252/src/compiler/turboshaft/sidetable.h

mslek… via monorail

unread,
Nov 7, 2022, 10:09:31 AM11/7/22
to v8-re...@googlegroups.com

Comment #41 on issue 12783 by msle...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c41

A regression appeared in JSTests / TypedArrays / JoinIntTypes after the CL in #39 [1]. Tobias, could you ptal as a reviewer?

[1] https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgIDotOKhrQoM

te… via monorail

unread,
Nov 7, 2022, 10:34:36 AM11/7/22
to v8-re...@googlegroups.com

Comment #42 on issue 12783 by te...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c42

This is a single micro-benchmark on a single platform that regressed, apart from that there were some improvements, all micro benchmarks. I don't think that's actionable.

Git Watcher via monorail

unread,
Nov 15, 2022, 5:06:17 AM11/15/22
to v8-re...@googlegroups.com

Comment #43 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c43


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f3917347b2220c55692154030dcc379047916d01

commit f3917347b2220c55692154030dcc379047916d01
Author: Darius M <dmerc...@chromium.org>
Date: Tue Nov 15 09:24:52 2022

[turboshaft] Port BranchElimination to turboshaft

Bug: v8:12783
Change-Id: Ib1e7d3cb3ec18bfad57577ae6c830994e6139601
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899298

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84258}

[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/node-properties.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/recreate-schedule.h
[add] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/BUILD.bazel
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/pipeline.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/node-properties.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/BUILD.gn
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/backend/register-allocator.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/graph-builder.h
[add] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/layered-hash-map.h
[add] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/index.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/machine-graph-verifier.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/machine-graph-verifier.h
[modify] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/graph.h
[add] https://crrev.com/f3917347b2220c55692154030dcc379047916d01/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 16, 2022, 3:55:09 AM11/16/22
to v8-re...@googlegroups.com

Comment #44 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c44


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/a8d0f63a9dadef454c0778cee7700ddbca698fa0

commit a8d0f63a9dadef454c0778cee7700ddbca698fa0
Author: Darius Mercadier <dmerc...@chromium.org>
Date: Wed Nov 16 08:09:48 2022

Revert "[turboshaft] Port BranchElimination to turboshaft"

This reverts commit f3917347b2220c55692154030dcc379047916d01.

Reason for revert: breaks numfuzz (https://crbug.com/v8/13492).

Original change's description:

> [turboshaft] Port BranchElimination to turboshaft
>
> Bug: v8:12783
> Change-Id: Ib1e7d3cb3ec18bfad57577ae6c830994e6139601
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899298
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84258}

Change-Id: I0020ef3952b7273555d98c50366261a945f51058
Fixed: v8:13492
Bug: v8:12783

No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84282}

[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/node-properties.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/recreate-schedule.h
[delete] https://crrev.com/ae042381b97f2b77b793e7e0a6cef44046b5deda/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/BUILD.bazel
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/pipeline.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/node-properties.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/BUILD.gn
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/backend/register-allocator.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/graph-builder.h
[delete] https://crrev.com/ae042381b97f2b77b793e7e0a6cef44046b5deda/src/compiler/turboshaft/layered-hash-map.h
[delete] https://crrev.com/ae042381b97f2b77b793e7e0a6cef44046b5deda/src/compiler/turboshaft/index.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/machine-graph-verifier.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/machine-graph-verifier.h
[modify] https://crrev.com/a8d0f63a9dadef454c0778cee7700ddbca698fa0/src/compiler/turboshaft/graph.h
[delete] https://crrev.com/ae042381b97f2b77b793e7e0a6cef44046b5deda/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 17, 2022, 8:48:06 AM11/17/22
to v8-re...@googlegroups.com

Comment #45 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c45


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/e5230b85db0974777dcf804ddd99fbdb782eeed6

commit e5230b85db0974777dcf804ddd99fbdb782eeed6
Author: Darius M <dmerc...@chromium.org>
Date: Thu Nov 17 11:04:43 2022

[turboshaft] SnapshotTable: remove Scope and add predecessors

Scope: In practice, we don't need Scopes, so it'll be simpler to
access the table directly.

Predecessors: Phi inputs are often not mergeable (because they often
aren't defined in all predecessors). As a result, if we want to know
the value of a Phi input through the SnapshotTable, we need to lookup
its value in a predecessor, which is the feature that this CL
introduces.


Bug: v8:12783
Change-Id: I12a9e6abddd88ff1f3de172a387c9a502356f351
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030581

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>

Git Watcher via monorail

unread,
Nov 18, 2022, 3:35:17 AM11/18/22
to v8-re...@googlegroups.com

Comment #46 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c46


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1f26a28f0e270540a385aee27ae8f36a1572333c

commit 1f26a28f0e270540a385aee27ae8f36a1572333c
Author: Darius M <dmerc...@chromium.org>
Date: Thu Nov 17 14:14:36 2022

Reland "[turboshaft] Port BranchElimination to turboshaft"


Original change's description:
> [turboshaft] Port BranchElimination to turboshaft
>
> Bug: v8:12783
> Change-Id: Ib1e7d3cb3ec18bfad57577ae6c830994e6139601
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899298
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84258}

Bug: v8:12783
Change-Id: I48214de33d05b7aa61a488b86bd5539fdb92e1f7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030576
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84331}

[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/node-properties.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/snapshot-table.h
[add] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/BUILD.bazel
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/pipeline.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/node-properties.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/BUILD.gn
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/backend/register-allocator.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/graph-builder.h
[add] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/layered-hash-map.h
[add] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/index.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/machine-graph-verifier.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/machine-graph-verifier.h
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/graph.h
[add] https://crrev.com/1f26a28f0e270540a385aee27ae8f36a1572333c/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 18, 2022, 3:38:31 AM11/18/22
to v8-re...@googlegroups.com

Comment #47 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c47


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/dbbb59d0e60de498ca436ab8db3f485f0805249d

commit dbbb59d0e60de498ca436ab8db3f485f0805249d
Author: Darius Mercadier <dmerc...@chromium.org>
Date: Fri Nov 18 08:34:54 2022

Revert "Reland "[turboshaft] Port BranchElimination to turboshaft""

This reverts commit 1f26a28f0e270540a385aee27ae8f36a1572333c.

Reason for revert: a fuzzer found a bug, and some infra stability bots broke.

Original change's description:

> Reland "[turboshaft] Port BranchElimination to turboshaft"
>
> Original change's description:
> > [turboshaft] Port BranchElimination to turboshaft
> >
> > Bug: v8:12783
> > Change-Id: Ib1e7d3cb3ec18bfad57577ae6c830994e6139601
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899298
> > Reviewed-by: Tobias Tebbi <te...@chromium.org>
> > Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#84258}
>
> Bug: v8:12783
> Change-Id: I48214de33d05b7aa61a488b86bd5539fdb92e1f7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030576
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84331}

Bug: v8:12783, chromium:1385995
Change-Id: I1abee79e7292cf3afae8bd9456c46022a3123ed3

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4035207
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84348}

[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/node-properties.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/snapshot-table.h
[delete] https://crrev.com/7bf94d0336b377052e663f1549475e4ea54d8065/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/BUILD.bazel
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/pipeline.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/node-properties.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/BUILD.gn
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/backend/register-allocator.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/graph-builder.h
[delete] https://crrev.com/7bf94d0336b377052e663f1549475e4ea54d8065/src/compiler/turboshaft/layered-hash-map.h
[delete] https://crrev.com/7bf94d0336b377052e663f1549475e4ea54d8065/src/compiler/turboshaft/index.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/machine-graph-verifier.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/machine-graph-verifier.h
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/dbbb59d0e60de498ca436ab8db3f485f0805249d/src/compiler/turboshaft/graph.h
[delete] https://crrev.com/7bf94d0336b377052e663f1549475e4ea54d8065/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 18, 2022, 11:39:06 AM11/18/22
to v8-re...@googlegroups.com

Comment #48 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c48


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/dd79882e54681bd3d965b59bc53e2121c19dbcb5

commit dd79882e54681bd3d965b59bc53e2121c19dbcb5
Author: Darius M <dmerc...@chromium.org>
Date: Fri Nov 18 15:54:20 2022

Reland^2 "[turboshaft] Port BranchElimination to turboshaft"


Original change's description:
> Reland "[turboshaft] Port BranchElimination to turboshaft"
>
> Original change's description:
> > [turboshaft] Port BranchElimination to turboshaft
> >
> > Bug: v8:12783
> > Change-Id: Ib1e7d3cb3ec18bfad57577ae6c830994e6139601
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3899298
> > Reviewed-by: Tobias Tebbi <te...@chromium.org>
> > Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#84258}
>
> Bug: v8:12783
> Change-Id: I48214de33d05b7aa61a488b86bd5539fdb92e1f7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4030576
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84331}

Bug: v8:12783
Change-Id: I7d217426f9ad96f586a8917d05492640f9c96af4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4037762

Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84370}

[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/node-properties.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/recreate-schedule.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/snapshot-table.h
[add] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/BUILD.bazel
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/pipeline.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/node-properties.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/operation-matching.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/BUILD.gn
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/backend/register-allocator.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/graph-builder.h
[add] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/layered-hash-map.h
[add] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/index.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/machine-graph-verifier.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/deopt-data.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/machine-graph-verifier.h
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/graph.h
[add] https://crrev.com/dd79882e54681bd3d965b59bc53e2121c19dbcb5/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 21, 2022, 7:07:28 AM11/21/22
to v8-re...@googlegroups.com

Comment #49 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c49


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1d90a41cf29c305ea2a9aee41ee0c45d9f9bc9c4

commit 1d90a41cf29c305ea2a9aee41ee0c45d9f9bc9c4
Author: Darius M <dmerc...@chromium.org>
Date: Mon Nov 21 10:55:57 2022

[turboshaft] unpark scope when tracing reductions

Bug: v8:12783
Change-Id: I950c3a882c7a848d71f6ca5cd3da445b9c370823
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4042662

Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>

Git Watcher via monorail

unread,
Nov 24, 2022, 2:50:08 PM11/24/22
to v8-re...@googlegroups.com

Comment #50 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c50


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/af6f1c473653dd7b032a28a8c5c53816ffd738b2

commit af6f1c473653dd7b032a28a8c5c53816ffd738b2
Author: Darius M <dmerc...@chromium.org>
Date: Thu Nov 24 16:41:07 2022

[turboshaft] Fix wrong reconstruction of FrameStates

Fixed: v8:13520
Bug: v8:12783
Change-Id: Ifea57ac5fda9a20be1fe6aa4c8e05ff13bfe9f5a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4051206

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>

Git Watcher via monorail

unread,
Nov 25, 2022, 7:15:16 AM11/25/22
to v8-re...@googlegroups.com

Comment #51 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c51


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1618cb9f99ce1af9e79f25447231fef7628d22d7

commit 1618cb9f99ce1af9e79f25447231fef7628d22d7
Author: Darius M <dmerc...@chromium.org>
Date: Fri Nov 25 10:44:40 2022

[turboshaft] Refactor Call and multi-output handling in GraphBuilder

Bug: v8:12783
Change-Id: I0f7896259f0c1344b0a1d9583093de7bec930a77
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4044221

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84486}

[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/1618cb9f99ce1af9e79f25447231fef7628d22d7/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Nov 25, 2022, 11:02:14 AM11/25/22
to v8-re...@googlegroups.com

Comment #52 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c52


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/db437000b10017c37725f26fdca94487913b1d7b

commit db437000b10017c37725f26fdca94487913b1d7b
Author: Darius M <dmerc...@chromium.org>
Date: Fri Nov 25 15:15:44 2022

[turboshaft] re-enable BranchElimination

Now that https://chromium.googlesource.com/v8/v8.git/+/1618cb9f99ce1af9e79f25447231fef7628d22d7
has landed, BranchElimination should work again.

Bug: v8:12783
Change-Id: I6c1f148d1ce97a45107bfed2da41b387ad9bf1ba
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4055113

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>

Git Watcher via monorail

unread,
Nov 29, 2022, 10:48:07 AM11/29/22
to v8-re...@googlegroups.com

Comment #53 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c53


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d4e3daca25655d1052cfba7de8c0a72ff43f5a92

commit d4e3daca25655d1052cfba7de8c0a72ff43f5a92
Author: Maya Lekova <msle...@chromium.org>
Date: Mon Nov 28 16:06:39 2022

[turboshaft] Port basic lowerings of CommonOperatorReducer

The following operations are reduced in MachineOptimizationReducer:
- TrapIf/TrapUnless
- Switch
- StaticAssert

Bug: v8:12783
Change-Id: I9afbf83b6fab4c1ffc346ffcfa1e80770387e133
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4016818
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Maya Lekova <msle...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84545}

[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/common-operator-reducer.cc
[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/d4e3daca25655d1052cfba7de8c0a72ff43f5a92/src/compiler/turboshaft/machine-optimization-reducer.h

Git Watcher via monorail

unread,
Nov 29, 2022, 11:05:09 AM11/29/22
to v8-re...@googlegroups.com

Comment #54 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c54


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1d415100ed23bdd4e5d0483b63118689fd5d5f17

commit 1d415100ed23bdd4e5d0483b63118689fd5d5f17
Author: Tobias Tebbi <te...@chromium.org>
Date: Tue Nov 29 15:19:49 2022

[turboshaft] port memory optimization

Bug: v8:12783
Change-Id: I923982285dc7bff40cc6f9b7db2772d344e19e97
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913085
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>

Commit-Queue: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84547}

[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/globals.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/simplified-operator.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/BUILD.bazel
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/sidetable.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/pipeline.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/value-numbering-reducer.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/BUILD.gn
[add] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/assembler.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/graph.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/base/template-utils.h
[add] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/memory-optimization.cc
[add] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/variable-reducer.h
[modify] https://crrev.com/1d415100ed23bdd4e5d0483b63118689fd5d5f17/src/compiler/turboshaft/representations.h

mslek… via monorail

unread,
Nov 29, 2022, 11:16:02 AM11/29/22
to v8-re...@googlegroups.com
Updates:
Cc: msle...@chromium.org nicoha...@chromium.org

Comment #55 on issue 12783 by msle...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c55

(No comment was entered for this change.)

Git Watcher via monorail

unread,
Nov 29, 2022, 2:22:13 PM11/29/22
to v8-re...@googlegroups.com

Comment #56 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c56


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/17065e3e7ce087a74665c63a8b219f57b39d5f6d

commit 17065e3e7ce087a74665c63a8b219f57b39d5f6d
Author: Darius M <dmerc...@chromium.org>
Date: Tue Nov 29 17:27:16 2022

[turboshaft] Use BranchHints instead of per-block deferred bit

Computing on-the-fly whether blocks are deferred is a bit tricky,
because some optimizations (BranchElimination and
MachineOperationReducer in particular) can remove branches, resulting
in deferred blocks with non-deferred predecessors and successors.
We are thus opting for the simpler solution: having branch hints on
branches, so that eliminating branches of cloning blocks doesn't have
an impact on deferredness.


Fixed: chromium:1393733
Bug: v8:12783
Change-Id: Ic886f48a33f25f1a3068b9bf684fae43e1f53b6d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4061266
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84558}

[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/graph-visualizer.cc
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/machine-optimization-reducer.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/17065e3e7ce087a74665c63a8b219f57b39d5f6d/src/compiler/turboshaft/graph.cc

Git Watcher via monorail

unread,
Dec 1, 2022, 11:41:08 AM12/1/22
to v8-re...@googlegroups.com

Comment #57 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c57


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2

commit fbcffa62b873c60caf81db53b049dbf2c8e4b3e2
Author: Darius M <dmerc...@chromium.org>
Date: Thu Dec 01 15:59:18 2022

[turboshaft] Port LateEscapeAnalysis

Bug: v8:12783
Change-Id: Id5fa026d103dc67e05322b725f34186124bc5936
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4054621

Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84603}

[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/pipeline.cc
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/assembler.h
[add] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/late-escape-analysis-reducer.h
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/memory-optimization.cc
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/BUILD.gn
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/BUILD.bazel
[add] https://crrev.com/fbcffa62b873c60caf81db53b049dbf2c8e4b3e2/src/compiler/turboshaft/late-escape-analysis-reducer.cc

Git Watcher via monorail

unread,
Dec 2, 2022, 4:01:31 AM12/2/22
to v8-re...@googlegroups.com

Comment #58 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c58


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0bd121f8e6ff46b8b7feacee77f3ec3063f03736

commit 0bd121f8e6ff46b8b7feacee77f3ec3063f03736
Author: Darius Mercadier <dmerc...@chromium.org>
Date: Fri Dec 02 07:49:15 2022

Revert "[turboshaft] Port LateEscapeAnalysis"

This reverts commit fbcffa62b873c60caf81db53b049dbf2c8e4b3e2.

Reason for revert: breaks a few fuzzers

Original change's description:

> [turboshaft] Port LateEscapeAnalysis
>
> Bug: v8:12783
> Change-Id: Id5fa026d103dc67e05322b725f34186124bc5936
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4054621
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84603}

Change-Id: I33dfaaa0f12eef634dec578fb4e3532a0cbb4b2b
Fixed: v8:13561, v8:13562, chromium:1395181, chromium:1395183, chromium:1395243, chromium:1395244
Bug: v8:12783

No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84608}

[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/src/compiler/pipeline.cc
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/src/compiler/turboshaft/memory-optimization.cc
[delete] https://crrev.com/4b8ccef6a863703e62b157a5a4a1cad5619ef8a2/src/compiler/turboshaft/late-escape-analysis-reducer.h
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/BUILD.gn
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/0bd121f8e6ff46b8b7feacee77f3ec3063f03736/BUILD.bazel
[delete] https://crrev.com/4b8ccef6a863703e62b157a5a4a1cad5619ef8a2/src/compiler/turboshaft/late-escape-analysis-reducer.cc

Git Watcher via monorail

unread,
Dec 2, 2022, 10:09:10 AM12/2/22
to v8-re...@googlegroups.com

Comment #59 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c59


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8b21fabe9134b7c43fdd75b38cba83931fa156f5

commit 8b21fabe9134b7c43fdd75b38cba83931fa156f5
Author: Darius M <dmerc...@chromium.org>
Date: Thu Dec 01 15:52:30 2022

[turboshaft] fix wrong set_deferred in RecreateSchedule

Fixed: chromium:1394769
Bug: v8:12783
Change-Id: I3291672cc90eb0181ba90a052562a923d65be9cf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4069867
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Auto-Submit: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84616}

[modify] https://crrev.com/8b21fabe9134b7c43fdd75b38cba83931fa156f5/src/compiler/turboshaft/recreate-schedule.cc

sma… via monorail

unread,
Dec 2, 2022, 11:53:19 AM12/2/22
to v8-re...@googlegroups.com
Updates:
Cc: sma...@chromium.org

Comment #60 on issue 12783 by sma...@google.com: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c60

Hey, we (Chrome on Android) have been noticing some significant binary size growth from turboshaft - I'm seeing at least 100KiB of growth from turboshaft since m103 [1] (where I think it was introduced). Is this amount of growth expected? I see that this is a new IR - is it eventually going to replace some old IR and we will claw back much of this growth when we delete the old one?

[1] Note - slow loading. https://chrome-supersize.firebaseapp.com/viewer.html?load_url=https%3A%2F%2Fstorage.googleapis.com%2Fchrome-supersize%2Fofficial_builds%2Freports%2F110.0.5453.0%2Farm%2FTrichromeGoogle.size&before_url=https%3A%2F%2Fstorage.googleapis.com%2Fchrome-supersize%2Fmilestones%2F103.0.5060.9%2Farm%2FTrichromeGoogle.size&group_by=container&include=turboshaft

Git Watcher via monorail

unread,
Dec 5, 2022, 5:58:11 AM12/5/22
to v8-re...@googlegroups.com

Comment #61 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c61


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/e033e1bedd071673bb04d1f79c1de958c8fba993

commit e033e1bedd071673bb04d1f79c1de958c8fba993
Author: Darius M <dmerc...@chromium.org>
Date: Mon Dec 05 10:05:18 2022

[turboshaft] fix wrong output_reps for Comparison and Equal

The `rep` field of ComparisonOp and EqualOp should be used to know
what is the representation of the things that are being compared,
rather than the output representation: the latter should always be
Word32.

Fixed: chromium:1395737
Bug: v8:12783
Change-Id: I01d29dd598da57bab3410f4b59e407e89871f207
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4079223

Auto-Submit: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84638}

[modify] https://crrev.com/e033e1bedd071673bb04d1f79c1de958c8fba993/src/compiler/turboshaft/operations.h

Git Watcher via monorail

unread,
Dec 5, 2022, 11:14:09 AM12/5/22
to v8-re...@googlegroups.com

Comment #62 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c62


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7795179da61b7368c3718a1faf412bcad3259fa7

commit 7795179da61b7368c3718a1faf412bcad3259fa7
Author: Darius M <dmerc...@chromium.org>
Date: Mon Dec 05 12:20:05 2022

Reland "[turboshaft] Port LateEscapeAnalysis"

This reverts commit 0bd121f8e6ff46b8b7feacee77f3ec3063f03736.

MemoryAnalyzer wasn't calling LateEscapeAnalysisReducer's
ShouldSkipOperation method, but instead was calling the BaseReducer's
method (because it was using a generic Operation) for the call, which
resulted in some memory corruptions, because MemoryAnalyzer was
planning some folding which was never actually happening.


Original change's description:
> [turboshaft] Port LateEscapeAnalysis
>
> Bug: v8:12783
> Change-Id: Id5fa026d103dc67e05322b725f34186124bc5936
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4054621
> Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#84603}

Bug: v8:12783
Change-Id: I103eb2f518943c0c57bc3e10471d1c47f5262599
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4075724

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84660}

[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/pipeline.cc
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/memory-optimization.cc
[add] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/late-escape-analysis-reducer.h
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/BUILD.gn
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/BUILD.bazel
[add] https://crrev.com/7795179da61b7368c3718a1faf412bcad3259fa7/src/compiler/turboshaft/late-escape-analysis-reducer.cc

te… via monorail

unread,
Dec 8, 2022, 3:56:22 AM12/8/22
to v8-re...@googlegroups.com

Comment #63 on issue 12783 by te...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c63

Hi Sam, thanks for bringing this up. Yes, we plan to eventually replace the Turbofan IR and pipeline with Turboshaft, so we will eventually be able to reclaim at least some of the binary size increase. Since it is not shipping yet, we could also consider putting Turboshaft behind a build-time flag and disable it for official builds to avoid inflating binary size right now.

Git Watcher via monorail

unread,
Dec 8, 2022, 11:18:08 AM12/8/22
to v8-re...@googlegroups.com

Comment #64 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c64


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/42ef178c3da7b3571e426b80a0b1f851f8a816ea

commit 42ef178c3da7b3571e426b80a0b1f851f8a816ea
Author: Maya Lekova <msle...@chromium.org>
Date: Thu Dec 08 15:38:39 2022

[turboshaft] Port control flow operations from CommonOperatorReducer

The following operations are reduced in BranchEliminationReducer:
- Return
- Select
- Phi
- PendingLoopPhi
- merge blocks

Bug: v8:12783
Change-Id: I76f0bf23b94292bb045b2e7d441425c5483fce65
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4055896
Commit-Queue: Maya Lekova <msle...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84737}

[modify] https://crrev.com/42ef178c3da7b3571e426b80a0b1f851f8a816ea/src/compiler/common-operator-reducer.cc
[modify] https://crrev.com/42ef178c3da7b3571e426b80a0b1f851f8a816ea/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/42ef178c3da7b3571e426b80a0b1f851f8a816ea/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/42ef178c3da7b3571e426b80a0b1f851f8a816ea/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/42ef178c3da7b3571e426b80a0b1f851f8a816ea/src/compiler/turboshaft/machine-optimization-reducer.h

Git Watcher via monorail

unread,
Dec 9, 2022, 12:42:12 PM12/9/22
to v8-re...@googlegroups.com

Comment #65 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c65


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8

commit b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Dec 09 17:00:05 2022

[turboshaft] Introduce new Turboshaft type system

Bug: v8:12783
Change-Id: Id5d3ce17f0dc8cec1b2b257585290bed72dd9fd9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4057111
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Owners-Override: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84765}

[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/base/bit-field.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/codegen/ia32/interface-descriptors-ia32-inl.h
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/turboshaft-types.tq
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/declaration-visitor.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/declarable.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/BUILD.bazel
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/implementation-visitor.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/sidetable.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/constants.h
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/types.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/pipeline.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/logging/runtime-call-stats.h
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/types.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/BUILD.gn
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/type-inference-reducer.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/object-list-macros.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/codegen/interface-descriptors.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/graph-builder.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/base/small-vector.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/index.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/ast.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/flags/flag-definitions.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/declarations.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/all-objects-inl.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/fast-hash.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/tools/testrunner/local/variants.py
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/turboshaft-types.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/types.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/base/container-utils.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/tools/v8heapconst.py
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/builtins/torque-internal.tq
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/declarations.cc
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/graph.h
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/compiler/turboshaft/assert-types-reducer.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/torque/torque-parser.cc
[add] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/objects/turboshaft-types-inl.h
[modify] https://crrev.com/b3ffda44f2fe4c1be445c7c2676b6e90eacf3ea8/src/builtins/convert.tq

Git Watcher via monorail

unread,
Dec 12, 2022, 1:57:08 PM12/12/22
to v8-re...@googlegroups.com

Comment #66 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c66


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/50961e7032dee1a85feaf18c41bdeb7abea316c2

commit 50961e7032dee1a85feaf18c41bdeb7abea316c2
Author: Milad Fa <mfar...@redhat.com>
Date: Mon Dec 12 16:21:57 2022

[turboshaft] Fix compilation with gcc

gcc versions < 9 may produce the following compilation error due
to passing/initializing an empty struct as a parameter:
> '<anonymous>' is used uninitialized in this function

A reproducible code sample can be seen here:
https://godbolt.org/z/PfanPrEGG

This issues seems to have come up in gcc in various ways,
here is a related bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86465

A simple workaround here it to add a 0 initialized value to
the empty struct.

More information can be found at the comment section of this CL: crrev.com/c/4057111

Bug: v8:12783
Change-Id: Iee8fec73610fa2525530db431daf5fa285c09a3f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4097624
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Milad Farazmand <mfar...@redhat.com>
Cr-Commit-Position: refs/heads/main@{#84795}

[modify] https://crrev.com/50961e7032dee1a85feaf18c41bdeb7abea316c2/src/compiler/turboshaft/types.h

Git Watcher via monorail

unread,
Dec 13, 2022, 4:36:23 AM12/13/22
to v8-re...@googlegroups.com

Comment #67 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c67


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0efdcf6f3883dd72b5bc8a8a9d32230263ba1d49

commit 0efdcf6f3883dd72b5bc8a8a9d32230263ba1d49
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Mon Dec 12 17:03:42 2022

[turboshaft] Fix type refinement on branches with implicit truncation

Bug: v8:12783, chromium:1400056
Change-Id: Ie522a308f49b92c8438ae102559a763f8912c1d5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4094420
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84801}

[add] https://crrev.com/0efdcf6f3883dd72b5bc8a8a9d32230263ba1d49/test/mjsunit/regress/regress-1400056.js
[modify] https://crrev.com/0efdcf6f3883dd72b5bc8a8a9d32230263ba1d49/src/compiler/turboshaft/type-inference-reducer.h

Git Watcher via monorail

unread,
Dec 13, 2022, 9:54:10 AM12/13/22
to v8-re...@googlegroups.com

Comment #68 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c68


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2e9b4afa3830b9394f46445a94cef18b49cd20e7

commit 2e9b4afa3830b9394f46445a94cef18b49cd20e7
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Dec 13 12:50:55 2022

[turboshaft] Fix type refinement for unreachable branches

Bug: v8:12783, chromium:1400034
Change-Id: Ifdd105fba500ebc7678ee223947743eb0283f950
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4097428
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84814}

[modify] https://crrev.com/2e9b4afa3830b9394f46445a94cef18b49cd20e7/src/compiler/turboshaft/type-inference-reducer.h

Git Watcher via monorail

unread,
Dec 16, 2022, 5:11:25 AM12/16/22
to v8-re...@googlegroups.com

Comment #69 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c69


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/41628b52fc231a02986304ca71b92f4e54df2ed2

commit 41628b52fc231a02986304ca71b92f4e54df2ed2
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Dec 16 09:27:10 2022

[turboshaft] Implement %CheckTurboshaftTypeOf intrinsic to test typer

This CL implements a new %CheckTurboshaftTypeOf(e, type_string)
intrinsic allowing tests to express that the expression e is supposed
to have the turboshaft type expressed by type_string eventually during
lowering.

Test that use this intrinsic are verifying implementation details and
are thus somewhat brittle and potentially platform depedent. This
intrinsic is not supposed to be used broadly, but rather to write
some tests that check the precision of turboshaft's new type system.

This intrinsic may be removed once the type system is shipped and gets
coverage in other ways.

Bug: v8:12783
Change-Id: I4cc2582273f3d668601a3203c400a8461b470cac
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4061889
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84894}

[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/simplified-operator.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/BUILD.bazel
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/opcodes.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/types.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/test/unittests/BUILD.gn
[add] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/type-parser.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/pipeline.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/types.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/type-inference-reducer.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/BUILD.gn
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/js-intrinsic-lowering.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/graph-builder.h
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/typer.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/simplified-lowering.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/memory-optimizer.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/runtime/runtime-compiler.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/verifier.cc
[add] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/test/mjsunit/turboshaft/type-inference.js
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/runtime/runtime.h
[add] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/test/unittests/compiler/turboshaft/turboshaft-types-unittest.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/simplified-operator.cc
[add] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/turboshaft/type-parser.cc
[modify] https://crrev.com/41628b52fc231a02986304ca71b92f4e54df2ed2/src/compiler/js-intrinsic-lowering.cc

agri… via monorail

unread,
Dec 19, 2022, 10:23:03 AM12/19/22
to v8-re...@googlegroups.com

Comment #70 on issue 12783 by agr...@google.com: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c70

#65 added another 64kb (https://chromium-review.googlesource.com/c/chromium/src/+/4097644?tab=checks)

re. #63 - We're largely just in "tracking mode" for binary size, so I think it's better to not disable it behind a build flag. E.g. better to have some visibility.

Git Watcher via monorail

unread,
Jan 4, 2023, 6:54:08 AM1/4/23
to v8-re...@googlegroups.com

Comment #71 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c71


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/da8ef354e8ff1640f7361898a62f5c44f591950f

commit da8ef354e8ff1640f7361898a62f5c44f591950f
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Jan 04 11:13:22 2023

[turboshaft] Implement typing of remaining FloatBinop operations

Bug: v8:12783
Change-Id: I7a5bed4e349c8ced519469602716b132fe702aa0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4061357

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>

Git Watcher via monorail

unread,
Jan 9, 2023, 8:24:12 AM1/9/23
to v8-re...@googlegroups.com

Comment #72 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c72


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/88eac4b870dc9becb11fdaa2e71ed60ceab44a60

commit 88eac4b870dc9becb11fdaa2e71ed60ceab44a60
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Mon Jan 09 12:23:28 2023

[turboshaft] Basic TypedOptimization and new DeadCodeElimination

This CL introduces typed optimizations for Turboshaft, which replaces all operations that produce a constant output (and don't have side effects) by the corresponding constant.

In addition, a new pass for eliminating dead code is introduced that cannot only remove dead operations, but also rewrite branches that are not required into GotoOps.

Drive-by: Introduce -0 as a "special value" for Float32Type and Float64Type to fix a few issues where 0 and -0 have been treated as identical.

Bug: v8:12783
Change-Id: Ia1450ad7a9abb5d58c7d753596ed08a33a73184f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4110993

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85143}

[add] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/dead-code-elimination-reducer.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/objects/turboshaft-types.tq
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/assembler.h
[add] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/uniform-reducer-adapter.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/optimization-phase.h
[add] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/test/mjsunit/turboshaft/typed-optimizations.js
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/BUILD.bazel
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/test/mjsunit/turboshaft/type-inference.js
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/sidetable.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/types.cc
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/objects/turboshaft-types.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/test/unittests/compiler/turboshaft/turboshaft-types-unittest.cc
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/pipeline.cc
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/logging/runtime-call-stats.h
[add] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/typed-optimizations-reducer.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/types.h
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/BUILD.gn
[modify] https://crrev.com/88eac4b870dc9becb11fdaa2e71ed60ceab44a60/src/compiler/turboshaft/type-inference-reducer.h

Git Watcher via monorail

unread,
Jan 10, 2023, 8:27:07 AM1/10/23
to v8-re...@googlegroups.com

Comment #73 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c73


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d25d23f54db2e589df80ea8e159dcfd211dfb125

commit d25d23f54db2e589df80ea8e159dcfd211dfb125
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Jan 10 12:47:24 2023

[turboshaft] Type-based reduction verification

Bug: v8:12783
Change-Id: Icb0ff1ff228acf84c8fd4e5a0896ef6558f57248
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4120260
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85179}

[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/pipeline.cc
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/turboshaft/value-numbering-reducer.h
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/flags/flag-definitions.h
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/BUILD.gn
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/turboshaft/type-inference-reducer.h
[add] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/turboshaft/reducer-traits.h
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/d25d23f54db2e589df80ea8e159dcfd211dfb125/BUILD.bazel

Git Watcher via monorail

unread,
Jan 16, 2023, 4:57:09 AM1/16/23
to v8-re...@googlegroups.com

Comment #74 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c74


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/269c39e90ad1a6800caf9c56f602a0c6e6128217

commit 269c39e90ad1a6800caf9c56f602a0c6e6128217
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Mon Jan 16 08:36:47 2023

[turboshaft] Fix -0 case for turboshaft's FloatType::AllocateOnHeap

Bug: v8:12783, chromium:1407070
Change-Id: I4abe39aed967e3e50d5fac78317413c1a068f47a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4165605
Commit-Queue: Maya Lekova <msle...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85307}

[modify] https://crrev.com/269c39e90ad1a6800caf9c56f602a0c6e6128217/src/compiler/turboshaft/types.cc
[add] https://crrev.com/269c39e90ad1a6800caf9c56f602a0c6e6128217/test/mjsunit/regress/regress-1407070.js

Git Watcher via monorail

unread,
Jan 18, 2023, 5:54:12 AM1/18/23
to v8-re...@googlegroups.com

Comment #75 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c75


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f5b98ee39be5751baf736b8d3f3a494629708242

commit f5b98ee39be5751baf736b8d3f3a494629708242
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Jan 17 17:07:15 2023

[turboshaft] Implement ReduceInputGraph mechanism

With this new mechanism, all operations in the input graph are passed
through the reducer stack's ReduceInputGraphXyz operations that have
direct access to the original operation and index. This allows for
analysis results (computed for the input graph) to be used in a simple
way. At the bottom of the stack, all ReduceInputGraphXyz calls are
forwarded to AssembleOutputGraphXyz in the OptimizationPhase, which
calls through the stack's ReduceXyz methods as before.

Bug: v8:12783
Change-Id: Ib5662d1fa72284bd1dd763a4a6c01e590fea945f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4165600

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>

Git Watcher via monorail

unread,
Jan 18, 2023, 6:25:14 AM1/18/23
to v8-re...@googlegroups.com

Comment #76 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c76


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/83315824148ac3d25e7b4114d36eea8a98286c61

commit 83315824148ac3d25e7b4114d36eea8a98286c61
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Jan 18 10:43:25 2023

[turboshaft] Remove weak liveness from dead code elimination

Bug: v8:12783, chromium:1407349
Change-Id: If90c5323e36641c2fe7ae6ea79985dc09cf9e2eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4176736
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85362}

[add] https://crrev.com/83315824148ac3d25e7b4114d36eea8a98286c61/test/mjsunit/regress/regress-1407349.js
[modify] https://crrev.com/83315824148ac3d25e7b4114d36eea8a98286c61/src/compiler/turboshaft/dead-code-elimination-reducer.h

Git Watcher via monorail

unread,
Jan 19, 2023, 8:16:12 AM1/19/23
to v8-re...@googlegroups.com

Comment #77 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c77


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/53799101225772729a4dffc0976907b1c15dc0d4

commit 53799101225772729a4dffc0976907b1c15dc0d4
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Thu Jan 19 12:40:28 2023

[turboshaft] Redesign UniformReducerAdapter

The new UniformReducerAdapter provides an easier way for reducers to
add special handling for certain operations.

Bug: v8:12783
Change-Id: Ib3b08a4c8383d7df4362579ec5ade8c6df01debe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4178820
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85399}

[modify] https://crrev.com/53799101225772729a4dffc0976907b1c15dc0d4/src/compiler/turboshaft/dead-code-elimination-reducer.h
[modify] https://crrev.com/53799101225772729a4dffc0976907b1c15dc0d4/src/compiler/turboshaft/typed-optimizations-reducer.h
[modify] https://crrev.com/53799101225772729a4dffc0976907b1c15dc0d4/src/compiler/turboshaft/uniform-reducer-adapter.h

Git Watcher via monorail

unread,
Jan 26, 2023, 7:38:12 AM1/26/23
to v8-re...@googlegroups.com

Comment #78 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c78


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c334837594b3b03e2128fdce5ed3ad72dfca0db1

commit c334837594b3b03e2128fdce5ed3ad72dfca0db1
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Thu Jan 26 11:59:31 2023

[turboshaft] Build skeleton for EffectControlLinearizer port

Bug: v8:12783
Change-Id: Id20476383709db4fe2acc90e073bd3a8e21244c8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4194718

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85491}

[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/common-operator.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/BUILD.bazel
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/graph-assembler.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/graph-assembler.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/pipeline.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/common-operator.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/logging/runtime-call-stats.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/BUILD.gn
[add] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/c334837594b3b03e2128fdce5ed3ad72dfca0db1/src/compiler/effect-control-linearizer.cc

Git Watcher via monorail

unread,
Jan 26, 2023, 8:16:13 AM1/26/23
to v8-re...@googlegroups.com

Comment #79 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c79


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5bff98a677267f6235aa26e36421215a26142b49

commit 5bff98a677267f6235aa26e36421215a26142b49
Author: Tobias Tebbi <te...@chromium.org>
Date: Wed Jan 25 14:47:53 2023

[turboshaft] simplify block inlining

This removes the `direct_input` option from `CloneAndInlineBlock`,
which is now unnecessary thanks to the fix in
https://chromium-review.googlesource.com/c/v8/v8/+/4191773

In addition, this simplifies the code of `CloneAndInlineBlock` by
reducing the usage of assembler-global variables and by moving the
phi logic into the same function.

The creation of variables is now controlled by `current_block_needs_variables_` alone. To set this remaining global flag in a scoped fashion, this also adds the helper class
`ScopedModification` (which is used to simplify `ReentrantScope` too).

Bug: v8:12783

Change-Id: I979b110ea10921477efc4bf2c38bd56b5c573442
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4194203
Reviewed-by: Maya Lekova <msle...@chromium.org>
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85496}

[modify] https://crrev.com/5bff98a677267f6235aa26e36421215a26142b49/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/5bff98a677267f6235aa26e36421215a26142b49/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/5bff98a677267f6235aa26e36421215a26142b49/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/5bff98a677267f6235aa26e36421215a26142b49/src/compiler/turboshaft/assert-types-reducer.h
[modify] https://crrev.com/5bff98a677267f6235aa26e36421215a26142b49/src/compiler/turboshaft/utils.h

Git Watcher via monorail

unread,
Jan 26, 2023, 9:11:13 AM1/26/23
to v8-re...@googlegroups.com

Comment #80 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c80


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7f756058ab53862d841d5398342721617d2386f4

commit 7f756058ab53862d841d5398342721617d2386f4
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Thu Jan 26 13:29:13 2023

[turboshaft] Fix incorrect jumps into loops in Turboshaft's DCE

Bug: v8:12783
Fixed: chromium:1407342, chromium:1407338
Change-Id: I5081e6f45af36729b8fc8c01e952932c39be9a2c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4197347

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>

Git Watcher via monorail

unread,
Jan 27, 2023, 8:31:13 AM1/27/23
to v8-re...@googlegroups.com

Comment #81 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c81


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/a1ab842dbe39904748c63177caeb82875bd80be9

commit a1ab842dbe39904748c63177caeb82875bd80be9
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Jan 27 12:48:12 2023

[turboshaft] Port operations from ECL to MachineLoweringReducer (2)

This CL ports operations from Turbofan's EffectControlLinearizer to
Turboshaft's MachineLoweringReducer:
- CheckedBigIntToBigInt64
- ChangeUint64ToBigInt

Bug: v8:12783
Change-Id: I9386864305397642b840d2e89a6066a3263ce25d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4198146

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>

Git Watcher via monorail

unread,
Jan 31, 2023, 9:28:09 AM1/31/23
to v8-re...@googlegroups.com

Comment #82 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c82


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/596e56868d4cbd0becbe227764fbf7b8fbc10107

commit 596e56868d4cbd0becbe227764fbf7b8fbc10107
Author: Maya Lekova <msle...@chromium.org>
Date: Tue Jan 31 13:09:19 2023

[turboshaft] Implement structural optimization reducer

This CL adds a new Turboshaft reducer that is suitable for changing the
graph in a way that doesn't reduce individual operations, rather changes
the structure of the graph. The first such reduction we support is
transforming if-else cascades that check if a given value is equal to
any constant from a given set into a switch with cases corresponding to
the constants in the set.

Bug: v8:12783
Change-Id: Iee1e5581a334c3dc255d673d2178f76706e6dae2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4106752

Commit-Queue: Maya Lekova <msle...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85561}

[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/base/iterator.h
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/pipeline.cc
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/turboshaft/dead-code-elimination-reducer.h
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/BUILD.gn
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/turboshaft/graph.h
[add] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/turboshaft/structural-optimization-reducer.h
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/596e56868d4cbd0becbe227764fbf7b8fbc10107/BUILD.bazel

Git Watcher via monorail

unread,
Jan 31, 2023, 12:12:09 PM1/31/23
to v8-re...@googlegroups.com

Comment #83 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c83


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8ce2c87338f297a015e20a231a71b50018a9aba5

commit 8ce2c87338f297a015e20a231a71b50018a9aba5
Author: Maya Lekova <msle...@chromium.org>
Date: Tue Jan 31 17:02:50 2023

Revert "[turboshaft] Implement structural optimization reducer"

This reverts commit 596e56868d4cbd0becbe227764fbf7b8fbc10107.

Reason for revert: Breaks JetStream2 on perf bots.

Original change's description:

> [turboshaft] Implement structural optimization reducer
>
> This CL adds a new Turboshaft reducer that is suitable for changing the
> graph in a way that doesn't reduce individual operations, rather changes
> the structure of the graph. The first such reduction we support is
> transforming if-else cascades that check if a given value is equal to
> any constant from a given set into a switch with cases corresponding to
> the constants in the set.
>
> Bug: v8:12783
> Change-Id: Iee1e5581a334c3dc255d673d2178f76706e6dae2
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4106752
> Commit-Queue: Maya Lekova <msle...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Reviewed-by: Clemens Backes <clem...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#85561}

Bug: v8:12783
Change-Id: Ic9ded7f4e18258346f547600cb541b2fa094fb8d

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4210088
Commit-Queue: Clemens Backes <clem...@chromium.org>
Auto-Submit: Maya Lekova <msle...@chromium.org>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85566}

[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/base/iterator.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/compiler/pipeline.cc
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/compiler/turboshaft/dead-code-elimination-reducer.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/BUILD.gn
[delete] https://crrev.com/614f62d8a14b41b2fb42f3517be6f31d9a7bdc44/src/compiler/turboshaft/structural-optimization-reducer.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/8ce2c87338f297a015e20a231a71b50018a9aba5/BUILD.bazel

Git Watcher via monorail

unread,
Feb 1, 2023, 5:46:07 AM2/1/23
to v8-re...@googlegroups.com

Comment #84 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c84


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/993c2b45be8446a13b63c81848e6166a2380866b

commit 993c2b45be8446a13b63c81848e6166a2380866b
Author: Tobias Tebbi <te...@chromium.org>
Date: Tue Jan 31 16:21:31 2023

[turboshaft] refactor assemblers/reducers to enable IDE autocomplete

Bug: v8:12783
Change-Id: I237f470cea6be265475fec6c4301f3bf60bcb118
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4208931
Auto-Submit: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85586}

[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/dead-code-elimination-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/branch-elimination-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/late-escape-analysis-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/memory-optimization.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/uniform-reducer-adapter.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/value-numbering-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/typed-optimizations-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/select-lowering-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/type-inference-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/assert-types-reducer.h
[modify] https://crrev.com/993c2b45be8446a13b63c81848e6166a2380866b/src/compiler/turboshaft/variable-reducer.h

Git Watcher via monorail

unread,
Feb 6, 2023, 11:00:12 AM2/6/23
to v8-re...@googlegroups.com

Comment #85 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c85


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6d2bd5afdc2e4dc0bbf8cf20c851ddce30e0702d

commit 6d2bd5afdc2e4dc0bbf8cf20c851ddce30e0702d
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Mon Feb 06 13:26:39 2023

[turboshaft] Fix typing of NaN ** 0

Bug: v8:12783, chromium:1412629
Change-Id: If00a7467443df50cd2c79b3bb09f9dd92dd0548b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4221773
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85687}

[add] https://crrev.com/6d2bd5afdc2e4dc0bbf8cf20c851ddce30e0702d/test/mjsunit/regress/regress-1412629.js
[modify] https://crrev.com/6d2bd5afdc2e4dc0bbf8cf20c851ddce30e0702d/src/compiler/turboshaft/types.h
[modify] https://crrev.com/6d2bd5afdc2e4dc0bbf8cf20c851ddce30e0702d/src/compiler/turboshaft/type-inference-reducer.h

Git Watcher via monorail

unread,
Feb 7, 2023, 5:19:10 AM2/7/23
to v8-re...@googlegroups.com

Comment #86 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c86


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/086c43455fd637432096c69c3ac391e5f50879e7

commit 086c43455fd637432096c69c3ac391e5f50879e7
Author: Maya Lekova <msle...@chromium.org>
Date: Tue Feb 07 09:00:51 2023

[turboshaft] Make --turboshaft experimental flag

Bug: v8:12783
Change-Id: Ic64c2f35b6a84e441892438496ee70df774bfbad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4224397
Commit-Queue: Tobias Tebbi <te...@chromium.org>
Commit-Queue: Maya Lekova <msle...@chromium.org>
Auto-Submit: Maya Lekova <msle...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85703}

[modify] https://crrev.com/086c43455fd637432096c69c3ac391e5f50879e7/src/flags/flag-definitions.h

mslek… via monorail

unread,
Feb 7, 2023, 5:27:22 AM2/7/23
to v8-re...@googlegroups.com
Updates:
Blockedon: 13587

Comment #87 on issue 12783 by msle...@chromium.org: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c87

Blocking on fuzzing issue for visibility.

Git Watcher via monorail

unread,
Feb 9, 2023, 10:21:09 AM2/9/23
to v8-re...@googlegroups.com

Comment #88 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c88


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/54284eb86674f2647c1b041a55a56312659f8958

commit 54284eb86674f2647c1b041a55a56312659f8958
Author: Choongwoo Han <choong...@microsoft.com>
Date: Tue Feb 07 15:03:09 2023

[turboshaft] Use Word32Equal for compressed pointer

Tagged pointers are 32bits if they are compressed.

Bug: v8:12783
Change-Id: Ief96e0ab03c9838b34ccd6ef02eb30caa483bc13
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4228111
Commit-Queue: Choongwoo Han <choong...@microsoft.com>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85755}

[modify] https://crrev.com/54284eb86674f2647c1b041a55a56312659f8958/src/compiler/machine-operator.h
[modify] https://crrev.com/54284eb86674f2647c1b041a55a56312659f8958/src/compiler/turboshaft/recreate-schedule.cc

Git Watcher via monorail

unread,
Feb 10, 2023, 8:57:18 AM2/10/23
to v8-re...@googlegroups.com

Comment #89 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c89


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c

commit 7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Feb 10 13:22:55 2023

[turboshaft] Introduce assembler macros for easier control flow

This CL introduces a number of helpers to make it easier to write structured control flow in Turboshaft's reducers, like GOTO_IF, IF-ELSE, etc. In addition, the CL eliminates the need to check on the result of Assembler::Bind(), because we now turn the assembler into a state of "unreachable" where generating assembler functions bail out early to not actually generate any operations.

Drive-by: Replace CheckOp with IsObjectOp.

Bug: v8:12783
Change-Id: Iecc95f69b7faffd086fd1d1be649544086c0ad97
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4203382
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85771}

[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/index.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/recreate-schedule.cc
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/BUILD.bazel
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/operations.cc
[add] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/define-assembler-macros.inc
[add] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/undef-assembler-macros.inc
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/BUILD.gn
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/variable-reducer.h
[modify] https://crrev.com/7913a3c3a7f2c5a88d1685b7c2faaf8e7fa0905c/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Feb 14, 2023, 12:45:09 PM2/14/23
to v8-re...@googlegroups.com

Comment #90 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c90


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/e4471da57f968a0b8f7d228413306f4a7bffedee

commit e4471da57f968a0b8f7d228413306f4a7bffedee
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Tue Feb 14 16:51:33 2023

[turboshaft] Fixed incorrect dominating FrameState computation

Bug: v8:12783, chromium:1412975
Change-Id: I1ec6ed0837401afa2929cadc3a9f6871f4b3454e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4245337
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85820}

[modify] https://crrev.com/e4471da57f968a0b8f7d228413306f4a7bffedee/src/compiler/turboshaft/graph-builder.cc
[add] https://crrev.com/e4471da57f968a0b8f7d228413306f4a7bffedee/test/mjsunit/regress/regress-1412975.js

Git Watcher via monorail

unread,
Feb 15, 2023, 12:42:13 AM2/15/23
to v8-re...@googlegroups.com

Comment #91 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c91


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454

commit c7970ae1fd52c8ae84329e46a1d33a32c9ceb454
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Feb 15 04:54:28 2023

[turboshaft] Generalize typing of turboshaft graphs

Redesign of turboshaft's TypeInferenceReducer. The reducer is now configurable and allows to type the input graph of a phase using the new TypeInferenceAnalysis, which runs a full fixpoint analysis on the input graph. Furthermore, it can be configured whether the output graph should be typed and, if so, whether types should just be preserved from the input graph where possible or whether the reducer should retype nodes generated during lowerings using the types provided by the input graph. This latter allows the output graph to be properly typed in the presence of (Pending)LoopPhis, which can be typed more precisely now using the types provided by the fixpoint analysis on the input graph.

A number of drive by changes in this CL:
- Extracted most typing logic into turboshaft/typer.h such that it can be used by the analyzer and the reducer.
- Fixed various bugs in the types and the typer.
- Added a Tuple type to type OverflowCheckedBinops.
- Added --turboshaft-trace-typing flag to understand and debug the typing (in DEBUG mode).
- Print type refinements in Block (in DEBUG mode) when running with --trace-turbo.
- Made ReducerOperation and ReduceInputGraphOperation optional in the UniformReducerAdapter such that one can be omitted if only the other one is required.
- Temporarily disabled verification, because now that the output graph's types are influenced by the input graph's, this is not very reasonable in most cases.


Bug: v8:12783
Change-Id: Ic01694e6303f4ac82224ee2373ec2a2cd6705806
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4173580
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Reviewed-by: Maya Lekova <msle...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85822}

[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/flags/flag-definitions.h
[add] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/type-inference-analysis.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/uniform-reducer-adapter.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/graph-visualizer.cc
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/BUILD.bazel
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/test/mjsunit/turboshaft/typed-optimizations.js
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/types.cc
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/test/unittests/BUILD.gn
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/pipeline.cc
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/graph-visualizer.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/typed-optimizations-reducer.h
[add] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/test/unittests/compiler/turboshaft/turboshaft-typer-unittest.cc
[add] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/typer.h
[add] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/typer.cc
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/types.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/BUILD.gn
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/type-inference-reducer.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/graph.h
[modify] https://crrev.com/c7970ae1fd52c8ae84329e46a1d33a32c9ceb454/src/compiler/turboshaft/assert-types-reducer.h

Git Watcher via monorail

unread,
Feb 15, 2023, 5:38:12 AM2/15/23
to v8-re...@googlegroups.com

Comment #92 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c92


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0a6e8e8bdfa8821e761cba29680ab1c5c338c916

commit 0a6e8e8bdfa8821e761cba29680ab1c5c338c916
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Feb 15 09:53:34 2023

[turboshaft] Rename IsObjectOp and remove IsSmiTaggedOp

Bug: v8:12783
Change-Id: I52f5dd9f626160ef07ab745e4207413808374a32
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4249959

Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85830}

[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/type-inference-analysis.h
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/optimization-phase.h
[modify] https://crrev.com/0a6e8e8bdfa8821e761cba29680ab1c5c338c916/src/compiler/turboshaft/recreate-schedule.cc

Git Watcher via monorail

unread,
Feb 15, 2023, 10:20:06 AM2/15/23
to v8-re...@googlegroups.com

Comment #93 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c93


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/29f4b85efa9d63f94f0262712231c680fd1d22fa

commit 29f4b85efa9d63f94f0262712231c680fd1d22fa
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Feb 15 14:41:57 2023

[turboshaft] Fix build error in turboshaft-typer-test

Bug: v8:12783
Change-Id: I8ed78d5bb642a17d6d0367711cc2da704c964bdc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4255647
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85843}

[modify] https://crrev.com/29f4b85efa9d63f94f0262712231c680fd1d22fa/test/unittests/compiler/turboshaft/turboshaft-typer-unittest.cc

Git Watcher via monorail

unread,
Feb 15, 2023, 10:48:07 AM2/15/23
to v8-re...@googlegroups.com

Comment #94 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c94


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c658681d6d9cf2a9829c49b1eb35ee35ef1d79aa

commit c658681d6d9cf2a9829c49b1eb35ee35ef1d79aa
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Feb 15 15:10:40 2023

[turboshaft] Use graph_zone to store types in type inference analyzer

Bug: v8:12783
Change-Id: Ica7a51d4eba9edee93c61d54be2652c55f803455
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4255649
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85845}

[modify] https://crrev.com/c658681d6d9cf2a9829c49b1eb35ee35ef1d79aa/src/compiler/turboshaft/type-inference-analysis.h

Git Watcher via monorail

unread,
Feb 15, 2023, 10:49:08 AM2/15/23
to v8-re...@googlegroups.com

Comment #95 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c95


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8e9b6950ec6abafabc129361f8144c7a56d66f2a

commit 8e9b6950ec6abafabc129361f8144c7a56d66f2a
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Wed Feb 15 15:05:13 2023

[turboshaft] Port operations from ECL to MachineLoweringReducer (3)


This CL ports operations from Turbofan's EffectControlLinearizer to
Turboshaft's MachineLoweringReducer:
- ObjectIsArrayBufferView
- ObjectIsBigInt
- ObjectIsCallable
- ObjectIsConstructor
- ObjectIsDetectableCallable
- ObjectIsNonCallable
- ObjectIsNumber
- ObjectIsReceiver
- ObjectIsSmi
- ObjectIsString
- ObjectIsSymbol
- ObjectIsUndetectable

Bug: v8:12783
Change-Id: I3f5a1e75f99dae896dcca6c6ab6a602ec3f0de59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4254007
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85846}

[modify] https://crrev.com/8e9b6950ec6abafabc129361f8144c7a56d66f2a/src/compiler/turboshaft/operations.cc
[modify] https://crrev.com/8e9b6950ec6abafabc129361f8144c7a56d66f2a/src/compiler/turboshaft/operations.h
[modify] https://crrev.com/8e9b6950ec6abafabc129361f8144c7a56d66f2a/src/compiler/turboshaft/graph-builder.cc
[modify] https://crrev.com/8e9b6950ec6abafabc129361f8144c7a56d66f2a/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/8e9b6950ec6abafabc129361f8144c7a56d66f2a/src/compiler/effect-control-linearizer.cc

Git Watcher via monorail

unread,
Feb 16, 2023, 9:04:09 AM2/16/23
to v8-re...@googlegroups.com

Comment #96 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c96


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/920bee04d850d1418b92a6fc316f64edbe13b464

commit 920bee04d850d1418b92a6fc316f64edbe13b464
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Thu Feb 16 13:21:26 2023

[turboshaft] Properly handle NaN in branch type restriction

Bug: v8:12783, chromium:1414200
Change-Id: I899415449b6d7d456a21184c6267b00b54f449f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4260726
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85865}

[modify] https://crrev.com/920bee04d850d1418b92a6fc316f64edbe13b464/src/compiler/turboshaft/typer.h
[add] https://crrev.com/920bee04d850d1418b92a6fc316f64edbe13b464/test/mjsunit/regress/regress-1414200.js

Git Watcher via monorail

unread,
Feb 16, 2023, 3:37:13 PM2/16/23
to v8-re...@googlegroups.com

Comment #97 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c97


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/39aa0ad6790c5644e0e05e85779696c56c5b2ae0

commit 39aa0ad6790c5644e0e05e85779696c56c5b2ae0
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Thu Feb 16 17:46:52 2023

[turboshaft] Temporarily disable ECL port

Turboshaft's graph builder currently can produce invalid schedules
since regions are not preserved in EffectControlLinearizer. This CL
temporarily disables the already ported ECL lowerings until those are
properly handled.

Bug: v8:12783, chromium:1416830
Change-Id: Iba49ffed825ef7b2cf3eb7f963a6bc4717957555
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4261674
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85877}

[add] https://crrev.com/39aa0ad6790c5644e0e05e85779696c56c5b2ae0/test/mjsunit/regress/regress-1416830.js
[modify] https://crrev.com/39aa0ad6790c5644e0e05e85779696c56c5b2ae0/src/compiler/effect-control-linearizer.cc

Git Watcher via monorail

unread,
Feb 17, 2023, 6:56:12 AM2/17/23
to v8-re...@googlegroups.com

Comment #98 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c98


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/56dc0c1242079c358e861f4310ffaa83ec7bd534

commit 56dc0c1242079c358e861f4310ffaa83ec7bd534
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Feb 17 11:07:12 2023

[turboshaft] Preserve region boundaries in ECL and port Allocate

Bug: v8:12783
Change-Id: I690134d2495083b1f418e7781be27fc319eac9d2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4261291

Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>

Git Watcher via monorail

unread,
Feb 17, 2023, 2:09:07 PM2/17/23
to v8-re...@googlegroups.com

Comment #99 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c99


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1406d50e4eb8b8684daf2c577cd95c87fab64910

commit 1406d50e4eb8b8684daf2c577cd95c87fab64910
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Fri Feb 17 18:01:22 2023

[turboshaft] Implement ConstexprV<> to allow implicit constants

Bug: v8:12783
Change-Id: I8d1d6aade02073e19c209f4cb89fd66cc034b447
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4259752
Commit-Queue: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85906}

[modify] https://crrev.com/1406d50e4eb8b8684daf2c577cd95c87fab64910/src/compiler/turboshaft/index.h
[modify] https://crrev.com/1406d50e4eb8b8684daf2c577cd95c87fab64910/src/compiler/turboshaft/assembler.h
[modify] https://crrev.com/1406d50e4eb8b8684daf2c577cd95c87fab64910/src/compiler/turboshaft/machine-lowering-reducer.h
[modify] https://crrev.com/1406d50e4eb8b8684daf2c577cd95c87fab64910/src/compiler/turboshaft/representations.h

Git Watcher via monorail

unread,
Feb 20, 2023, 12:20:21 PM2/20/23
to v8-re...@googlegroups.com

Comment #100 on issue 12783 by Git Watcher: Tracking bug: TurboShaft
https://bugs.chromium.org/p/v8/issues/detail?id=12783#c100


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d8e709b31cada949f792fad674b23f5f5af1089a

commit d8e709b31cada949f792fad674b23f5f5af1089a
Author: Nico Hartmann <nicoha...@chromium.org>
Date: Mon Feb 20 12:53:23 2023

[turboshaft] Properly handle NaN in typing of division

Bug: v8:12783, chromium:1416520
Change-Id: I6c44093b64d0747127afb32abea4a213f38b0f69
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4269678
Reviewed-by: Darius Mercadier <dmerc...@chromium.org>
Commit-Queue: Darius Mercadier <dmerc...@chromium.org>
Auto-Submit: Nico Hartmann <nicoha...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85933}

[add] https://crrev.com/d8e709b31cada949f792fad674b23f5f5af1089a/test/mjsunit/regress/regress-1416520.js
[modify] https://crrev.com/d8e709b31cada949f792fad674b23f5f5af1089a/src/compiler/turboshaft/typer.h
It is loading more messages.
0 new messages