Reduce redundant phi nodes after graph building.
R=titzer@chromium.org Review URL: https://codereview.chromium.org/461003002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
24f7a70df4
commit
b84dc47259
@ -14,6 +14,7 @@
|
||||
#include "src/compiler/js-context-specialization.h"
|
||||
#include "src/compiler/js-generic-lowering.h"
|
||||
#include "src/compiler/js-typed-lowering.h"
|
||||
#include "src/compiler/phi-reducer.h"
|
||||
#include "src/compiler/register-allocator.h"
|
||||
#include "src/compiler/schedule.h"
|
||||
#include "src/compiler/scheduler.h"
|
||||
@ -144,6 +145,17 @@ Handle<Code> Pipeline::GenerateCode() {
|
||||
graph_builder.CreateGraph();
|
||||
context_node = graph_builder.GetFunctionContext();
|
||||
}
|
||||
{
|
||||
PhaseStats phi_reducer_stats(info(), PhaseStats::CREATE_GRAPH,
|
||||
"phi reduction");
|
||||
PhiReducer phi_reducer;
|
||||
GraphReducer graph_reducer(&graph);
|
||||
graph_reducer.AddReducer(&phi_reducer);
|
||||
graph_reducer.ReduceGraph();
|
||||
// TODO(mstarzinger): Running reducer once ought to be enough for everyone.
|
||||
graph_reducer.ReduceGraph();
|
||||
graph_reducer.ReduceGraph();
|
||||
}
|
||||
|
||||
VerifyAndPrintGraph(&graph, "Initial untyped");
|
||||
|
||||
|
@ -25,14 +25,11 @@
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
[
|
||||
[ALWAYS, {
|
||||
# Too slow in Debug mode. TODO(mstarzinger): Too slow for TF.
|
||||
'octane/mandreel': [PASS, NO_VARIANTS, ['mode == debug', SKIP]],
|
||||
# Too slow in Debug mode.
|
||||
'octane/mandreel': [PASS, ['mode == debug', SKIP]],
|
||||
# TODO(mstarzinger,ishell): Timeout with TF in predictable mode.
|
||||
'octane/richards': [PASS, NO_VARIANTS],
|
||||
# TODO(mstarzinger): Out of mem with TF.
|
||||
'octane/zlib': [PASS, NO_VARIANTS],
|
||||
}], # ALWAYS
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user