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

Side by Side Diff: src/hydrogen.cc

Issue 100253004: First implementation of store elimination. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed review comments. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #include "hydrogen-gvn.h" 48 #include "hydrogen-gvn.h"
49 #include "hydrogen-mark-deoptimize.h" 49 #include "hydrogen-mark-deoptimize.h"
50 #include "hydrogen-mark-unreachable.h" 50 #include "hydrogen-mark-unreachable.h"
51 #include "hydrogen-minus-zero.h" 51 #include "hydrogen-minus-zero.h"
52 #include "hydrogen-osr.h" 52 #include "hydrogen-osr.h"
53 #include "hydrogen-range-analysis.h" 53 #include "hydrogen-range-analysis.h"
54 #include "hydrogen-redundant-phi.h" 54 #include "hydrogen-redundant-phi.h"
55 #include "hydrogen-removable-simulates.h" 55 #include "hydrogen-removable-simulates.h"
56 #include "hydrogen-representation-changes.h" 56 #include "hydrogen-representation-changes.h"
57 #include "hydrogen-sce.h" 57 #include "hydrogen-sce.h"
58 #include "hydrogen-store-elimination.h"
58 #include "hydrogen-uint32-analysis.h" 59 #include "hydrogen-uint32-analysis.h"
59 #include "lithium-allocator.h" 60 #include "lithium-allocator.h"
60 #include "parser.h" 61 #include "parser.h"
61 #include "runtime.h" 62 #include "runtime.h"
62 #include "scopeinfo.h" 63 #include "scopeinfo.h"
63 #include "scopes.h" 64 #include "scopes.h"
64 #include "stub-cache.h" 65 #include "stub-cache.h"
65 #include "typing.h" 66 #include "typing.h"
66 67
67 #if V8_TARGET_ARCH_IA32 68 #if V8_TARGET_ARCH_IA32
(...skipping 3923 matching lines...) Expand 10 before | Expand all | Expand 10 after
3991 // will not remove semantically meaningful ToInt32 operations e.g. BIT_OR with 3992 // will not remove semantically meaningful ToInt32 operations e.g. BIT_OR with
3992 // zero. 3993 // zero.
3993 if (FLAG_opt_safe_uint32_operations) Run<HUint32AnalysisPhase>(); 3994 if (FLAG_opt_safe_uint32_operations) Run<HUint32AnalysisPhase>();
3994 3995
3995 if (FLAG_use_canonicalizing) Run<HCanonicalizePhase>(); 3996 if (FLAG_use_canonicalizing) Run<HCanonicalizePhase>();
3996 3997
3997 if (FLAG_use_gvn) Run<HGlobalValueNumberingPhase>(); 3998 if (FLAG_use_gvn) Run<HGlobalValueNumberingPhase>();
3998 3999
3999 if (FLAG_check_elimination) Run<HCheckEliminationPhase>(); 4000 if (FLAG_check_elimination) Run<HCheckEliminationPhase>();
4000 4001
4002 if (FLAG_store_elimination) Run<HStoreEliminationPhase>();
4003
4001 if (FLAG_use_range) Run<HRangeAnalysisPhase>(); 4004 if (FLAG_use_range) Run<HRangeAnalysisPhase>();
4002 4005
4003 Run<HComputeChangeUndefinedToNaN>(); 4006 Run<HComputeChangeUndefinedToNaN>();
4004 Run<HComputeMinusZeroChecksPhase>(); 4007 Run<HComputeMinusZeroChecksPhase>();
4005 4008
4006 // Eliminate redundant stack checks on backwards branches. 4009 // Eliminate redundant stack checks on backwards branches.
4007 Run<HStackCheckEliminationPhase>(); 4010 Run<HStackCheckEliminationPhase>();
4008 4011
4009 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>(); 4012 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>();
4010 if (FLAG_array_bounds_checks_hoisting) Run<HBoundsCheckHoistingPhase>(); 4013 if (FLAG_array_bounds_checks_hoisting) Run<HBoundsCheckHoistingPhase>();
(...skipping 7354 matching lines...) Expand 10 before | Expand all | Expand 10 after
11365 if (ShouldProduceTraceOutput()) { 11368 if (ShouldProduceTraceOutput()) {
11366 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 11369 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
11367 } 11370 }
11368 11371
11369 #ifdef DEBUG 11372 #ifdef DEBUG
11370 graph_->Verify(false); // No full verify. 11373 graph_->Verify(false); // No full verify.
11371 #endif 11374 #endif
11372 } 11375 }
11373 11376
11374 } } // namespace v8::internal 11377 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698