[webkit-changes] [WebKit/WebKit] 1abeda: [JSC] B3::EliminateCommonSubexpression shouldn't r...

Yijia Huang noreply at github.com
Thu May 16 09:19:14 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1abeda3a23f182f79a5eb5a7cb82f1e82b42eed3
      https://github.com/WebKit/WebKit/commit/1abeda3a23f182f79a5eb5a7cb82f1e82b42eed3
  Author: Yijia Huang <yijia_huang at apple.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A JSTests/stress/ecs-store-with-loop.js
    M Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp
    M Source/JavaScriptCore/b3/testb3.h
    M Source/JavaScriptCore/b3/testb3_3.cpp

  Log Message:
  -----------
  [JSC] B3::EliminateCommonSubexpression shouldn't remove reads info after processing each block
https://bugs.webkit.org/show_bug.cgi?id=265426
rdar://118832222

Reviewed by Yusuke Suzuki.

Eliminate common subexpressions in B3 is used to remove redundant B3 nodes.
Current algorithm removes block reads info after processing each block. This is wrong
since some B3 nodes may be deleted erroneously due to the missing reads info from
the processed blocks. To fix this issue, we should update block reads info after
processing each node.

* JSTests/stress/ecs-store-with-loop.js: Added.
(foo):
(main):
* Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp:
* Source/JavaScriptCore/b3/testb3.h:
* Source/JavaScriptCore/b3/testb3_3.cpp:
(testCSEStoreWithLoop):
(addShrTests):

Originally-landed-as: 272448.698 at safari-7618-branch (e6aa0aa96d51). rdar://128089690
Canonical link: https://commits.webkit.org/278865@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list