Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Issue 1918913002: VM: Improve phi-elimination to improve code inside of try-catch. (Closed)

Created:
4 years, 8 months ago by Florian Schneider
Modified:
4 years, 7 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Vyacheslav Egorov (Google)
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

VM: Improve phi-elimination to improve code inside of try-catch. Since we don't have precise liveness information inside try-catch blocks, there are often redundant phis inside try-catch of the form v <- phi(v, v, ..., R, v, v, ...) This CL finds these redundant phis and replaces them with R. BUG= R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/6d537d7e61683611c6d0b42fb3f559313e47f0e8

Patch Set 1 #

Patch Set 2 : added TODO #

Unified diffs Side-by-side diffs Delta from patch set Stats (+31 lines, -1 line) Patch
M runtime/vm/intermediate_language.h View 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 chunk +16 lines, -0 lines 0 comments Download
M runtime/vm/redundancy_elimination.cc View 1 3 chunks +13 lines, -1 line 0 comments Download

Messages

Total messages: 9 (3 generated)
Florian Schneider
4 years, 8 months ago (2016-04-25 16:18:05 UTC) #2
rmacnak
lgtm
4 years, 8 months ago (2016-04-25 17:45:45 UTC) #3
Vyacheslav Egorov (Google)
what about phis like: p0 <- phi (r, p1) ... p1 <- phi (p0, r) ...
4 years, 8 months ago (2016-04-25 17:46:01 UTC) #5
Florian Schneider
On 2016/04/25 17:46:01, Vyacheslav Egorov (Google) wrote: > what about phis like: > > p0 ...
4 years, 8 months ago (2016-04-25 21:46:40 UTC) #6
Florian Schneider
Committed patchset #2 (id:20001) manually as 6d537d7e61683611c6d0b42fb3f559313e47f0e8 (presubmit successful).
4 years, 8 months ago (2016-04-26 10:50:31 UTC) #8
Vyacheslav Egorov (Google)
4 years, 7 months ago (2016-04-27 09:19:22 UTC) #9
Message was sent while issue was closed.
LoadOptimizer::EliminateRedundantPhi(PhiInstr* phi) can replace phi with
arbitrary definition. Am I missing something?

Powered by Google App Engine
This is Rietveld 408576698