OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 } | 132 } |
133 | 133 |
134 // Returns the features supported on the target platform. | 134 // Returns the features supported on the target platform. |
135 static Features SupportedFeatures() { | 135 static Features SupportedFeatures() { |
136 return Features(CpuFeatures::SupportedFeatures()); | 136 return Features(CpuFeatures::SupportedFeatures()); |
137 } | 137 } |
138 | 138 |
139 // TODO(sigurds) This should take a CpuFeatures argument. | 139 // TODO(sigurds) This should take a CpuFeatures argument. |
140 static MachineOperatorBuilder::Flags SupportedMachineOperatorFlags(); | 140 static MachineOperatorBuilder::Flags SupportedMachineOperatorFlags(); |
141 | 141 |
| 142 static MachineOperatorBuilder::AlignmentRequirements AlignmentRequirements(); |
| 143 |
142 // =========================================================================== | 144 // =========================================================================== |
143 // ============ Architecture-independent graph covering methods. ============= | 145 // ============ Architecture-independent graph covering methods. ============= |
144 // =========================================================================== | 146 // =========================================================================== |
145 | 147 |
146 // Used in pattern matching during code generation. | 148 // Used in pattern matching during code generation. |
147 // Check if {node} can be covered while generating code for the current | 149 // Check if {node} can be covered while generating code for the current |
148 // instruction. A node can be covered if the {user} of the node has the only | 150 // instruction. A node can be covered if the {user} of the node has the only |
149 // edge and the two are in the same basic block. | 151 // edge and the two are in the same basic block. |
150 bool CanCover(Node* user, Node* node) const; | 152 bool CanCover(Node* user, Node* node) const; |
151 | 153 |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 IntVector virtual_registers_; | 295 IntVector virtual_registers_; |
294 InstructionScheduler* scheduler_; | 296 InstructionScheduler* scheduler_; |
295 Frame* frame_; | 297 Frame* frame_; |
296 }; | 298 }; |
297 | 299 |
298 } // namespace compiler | 300 } // namespace compiler |
299 } // namespace internal | 301 } // namespace internal |
300 } // namespace v8 | 302 } // namespace v8 |
301 | 303 |
302 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 304 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |