srdjan@google.com
3a8252f90d
Cleanups: int -> intptr_t for "array" lengths, memory sizes.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//26294002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28324 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-07 20:19:37 +00:00
zra@google.com
f42af916b2
Removes undefined shifting behavior from BitVector::Equals.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//18341023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24845 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 15:19:47 +00:00
srdjan@google.com
a10a4b0355
Small fix and cleanups.
...
R=vegorov@google.com , zra@google.com
Review URL: https://codereview.chromium.org//16566003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23698 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 17:11:07 +00:00
vegorov@google.com
81ecaba321
Re-apply r20377.
...
Compute local variable liveness before translation to SSA.
Use it to remove dead values from deoptimization environments.
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//14215006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21439 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 11:53:50 +00:00
vegorov@google.com
535ed8eb25
Revert "Compute local variable liveness before translation to SSA."
...
Attaching environments to branches on strict comparisons breaks pattern matching in the optimizer and regresses performance.
This reverts commit r20377.
TBR=kmillikin@google.com
Review URL: https://codereview.chromium.org//12827027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20400 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:32:17 +00:00
vegorov@google.com
66ecd504f9
Compute local variable liveness before translation to SSA.
...
Use it to remove dead values from deoptimization environments.
R=kmillikin@google.com
BUG=
Review URL: https://codereview.chromium.org//12638040
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20377 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 12:33:42 +00:00
vegorov@google.com
1ee5f51793
Improve redundant load elimination.
...
Previously it incorrectly computed OUT sets during the fix point iteration: did not propagate changed from IN to OUT.
However just computing bitset representation of IN set was actually not enough because different values might be coming in from different predecessors.
This algorithm inserts phis at merge points.
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//11505002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16109 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 14:10:38 +00:00
fschneider@google.com
7b70f56dfd
Simple redundant load elimination.
...
This analysis uses bit vectors to track side effects. Currently, there is
only one type of side effect which affects all mutable load-field instructions.
The elimination pass is a dominator tree preorder traversal like the existing
CSE pass. Instead of a hash-map it keeps an array with the current dominating
occurrence for each load expression.
Review URL: https://codereview.chromium.org//10914314
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12437 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-17 14:27:45 +00:00
vegorov@google.com
30288c500e
Fix a bug in liveness analysis code and add more comments.
...
R=fschneider@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10657044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9106 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 12:14:02 +00:00
kmillikin@google.com
e4030da968
Compute assigned variables and dominance frontiers.
...
During basic block discovery, compute assigned variables in each
block. After computing immediate dominators, compute dominance
frontiers. Both of these will be used for SSA construction.
R=fschneider@google.com ,srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10377104
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7685 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-16 13:28:02 +00:00