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

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: Created 7 years 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 3721 matching lines...) Expand 10 before | Expand all | Expand 10 after
3789 // will not remove semantically meaningful ToInt32 operations e.g. BIT_OR with 3790 // will not remove semantically meaningful ToInt32 operations e.g. BIT_OR with
3790 // zero. 3791 // zero.
3791 if (FLAG_opt_safe_uint32_operations) Run<HUint32AnalysisPhase>(); 3792 if (FLAG_opt_safe_uint32_operations) Run<HUint32AnalysisPhase>();
3792 3793
3793 if (FLAG_use_canonicalizing) Run<HCanonicalizePhase>(); 3794 if (FLAG_use_canonicalizing) Run<HCanonicalizePhase>();
3794 3795
3795 if (FLAG_use_gvn) Run<HGlobalValueNumberingPhase>(); 3796 if (FLAG_use_gvn) Run<HGlobalValueNumberingPhase>();
3796 3797
3797 if (FLAG_check_elimination) Run<HCheckEliminationPhase>(); 3798 if (FLAG_check_elimination) Run<HCheckEliminationPhase>();
3798 3799
3800 if (FLAG_store_elimination) Run<HStoreEliminationPhase>();
3801
3799 if (FLAG_use_range) Run<HRangeAnalysisPhase>(); 3802 if (FLAG_use_range) Run<HRangeAnalysisPhase>();
3800 3803
3801 Run<HComputeChangeUndefinedToNaN>(); 3804 Run<HComputeChangeUndefinedToNaN>();
3802 Run<HComputeMinusZeroChecksPhase>(); 3805 Run<HComputeMinusZeroChecksPhase>();
3803 3806
3804 // Eliminate redundant stack checks on backwards branches. 3807 // Eliminate redundant stack checks on backwards branches.
3805 Run<HStackCheckEliminationPhase>(); 3808 Run<HStackCheckEliminationPhase>();
3806 3809
3807 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>(); 3810 if (FLAG_array_bounds_checks_elimination) Run<HBoundsCheckEliminationPhase>();
3808 if (FLAG_array_bounds_checks_hoisting) Run<HBoundsCheckHoistingPhase>(); 3811 if (FLAG_array_bounds_checks_hoisting) Run<HBoundsCheckHoistingPhase>();
(...skipping 7004 matching lines...) Expand 10 before | Expand all | Expand 10 after
10813 if (ShouldProduceTraceOutput()) { 10816 if (ShouldProduceTraceOutput()) {
10814 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 10817 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
10815 } 10818 }
10816 10819
10817 #ifdef DEBUG 10820 #ifdef DEBUG
10818 graph_->Verify(false); // No full verify. 10821 graph_->Verify(false); // No full verify.
10819 #endif 10822 #endif
10820 } 10823 }
10821 10824
10822 } } // namespace v8::internal 10825 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698