84b164a52b
There is a new pass for doing GVN and LICM. The 'share interceptors' pass previously GVN'ed and LICM'ed interceptors but now only constifies them and lets GVN handle the rest. The pass has been renamed to optimize_interceptors. The 'share final fields' pass has been removed since GVN does the same. A new pass 'remove redundant refinements' removes some refinement nodes that contribute no information. These would sometimes block code motion for no good reason. This pass is should go away once GVN is able to hoist expressions across refinement guards. BUG= R=sra@google.com Review URL: https://codereview.chromium.org/1444363002 .
Run Existing Tests ================== See the output of ../tools/test.py --help for how to run tests. See also https://code.google.com/p/dart/wiki/Building#Testing for detailed examples. Create New Tests ================ See comments above factory StandardTestSuite.forDirectory in ../tools/testing/dart/test_suite.dart for the default test directory layout. By default test-file names must end in "_test.dart", but some test suites, such as ./co19, subclass StandardTestSuite and override this default. See comments at the beginning of ../tools/testing/dart/multitest.dart for how to create tests that pass by failing with a known error. For example, ... int x = "not an int"; /// 01: static type warning ... as part of a test will only pass the "--compiler dartanalyzer" test if the assignment generates a static type warning.