OLD | NEW |
| (Empty) |
1 // Copyright 2013 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef V8_HYDROGEN_STORE_ELIMINATION_H_ | |
6 #define V8_HYDROGEN_STORE_ELIMINATION_H_ | |
7 | |
8 #include "src/hydrogen.h" | |
9 #include "src/hydrogen-alias-analysis.h" | |
10 | |
11 namespace v8 { | |
12 namespace internal { | |
13 | |
14 class HStoreEliminationPhase : public HPhase { | |
15 public: | |
16 explicit HStoreEliminationPhase(HGraph* graph) | |
17 : HPhase("H_Store elimination", graph), | |
18 unobserved_(10, zone()), | |
19 aliasing_() { } | |
20 | |
21 void Run(); | |
22 private: | |
23 ZoneList<HStoreNamedField*> unobserved_; | |
24 HAliasAnalyzer* aliasing_; | |
25 | |
26 void ProcessStore(HStoreNamedField* store); | |
27 void ProcessLoad(HLoadNamedField* load); | |
28 void ProcessInstr(HInstruction* instr, GVNFlagSet flags); | |
29 }; | |
30 | |
31 | |
32 } // namespace internal | |
33 } // namespace v8 | |
34 | |
35 #endif | |
OLD | NEW |