| Index: src/compiler/register-allocator.h
|
| diff --git a/src/compiler/register-allocator.h b/src/compiler/register-allocator.h
|
| index 45c33712de70bb3cc3e64d4988238e6bf736d336..7ffb3795d7b61f7bcb5553276501515463166efb 100644
|
| --- a/src/compiler/register-allocator.h
|
| +++ b/src/compiler/register-allocator.h
|
| @@ -197,12 +197,6 @@ class LiveRange FINAL : public ZoneObject {
|
| int spill_start_index() const { return spill_start_index_; }
|
| void set_assigned_register(int reg, Zone* zone);
|
| void MakeSpilled(Zone* zone);
|
| - bool is_phi() const { return is_phi_; }
|
| - void set_is_phi(bool is_phi) { is_phi_ = is_phi; }
|
| - bool is_non_loop_phi() const { return is_non_loop_phi_; }
|
| - void set_is_non_loop_phi(bool is_non_loop_phi) {
|
| - is_non_loop_phi_ = is_non_loop_phi;
|
| - }
|
|
|
| // Returns use position in this live range that follows both start
|
| // and last processed use position.
|
| @@ -295,8 +289,6 @@ class LiveRange FINAL : public ZoneObject {
|
|
|
| int id_;
|
| bool spilled_;
|
| - bool is_phi_;
|
| - bool is_non_loop_phi_;
|
| RegisterKind kind_;
|
| int assigned_register_;
|
| UseInterval* last_interval_;
|
| @@ -341,25 +333,21 @@ class RegisterAllocator FINAL : public ZoneObject {
|
| // Phase 1 : insert moves to account for fixed register operands.
|
| void MeetRegisterConstraints();
|
|
|
| - // Phase 2: deconstruct SSA by inserting moves in successors and the headers
|
| - // of blocks containing phis.
|
| - void ResolvePhis();
|
| -
|
| - // Phase 3: compute liveness of all virtual register.
|
| + // Phase 2: compute liveness of all virtual register.
|
| void BuildLiveRanges();
|
| bool ExistsUseWithoutDefinition();
|
|
|
| - // Phase 4: compute register assignments.
|
| + // Phase 3: compute register assignments.
|
| void AllocateGeneralRegisters();
|
| void AllocateDoubleRegisters();
|
|
|
| - // Phase 5: compute values for pointer maps.
|
| + // Phase 4: compute values for pointer maps.
|
| void PopulatePointerMaps(); // TODO(titzer): rename to PopulateReferenceMaps.
|
|
|
| - // Phase 6: reconnect split ranges with moves.
|
| + // Phase 5: reconnect split ranges with moves.
|
| void ConnectRanges();
|
|
|
| - // Phase 7: insert moves to connect ranges across basic blocks.
|
| + // Phase 6: insert moves to connect ranges across basic blocks.
|
| void ResolveControlFlow();
|
|
|
| private:
|
| @@ -407,7 +395,7 @@ class RegisterAllocator FINAL : public ZoneObject {
|
| int gap_index);
|
| void MeetRegisterConstraintsForLastInstructionInBlock(
|
| const InstructionBlock* block);
|
| - void ResolvePhis(const InstructionBlock* block);
|
| + void ProcessPhis(const InstructionBlock* block);
|
|
|
| // Helper methods for building intervals.
|
| InstructionOperand* AllocateFixed(UnallocatedOperand* operand, int pos,
|
| @@ -482,9 +470,9 @@ class RegisterAllocator FINAL : public ZoneObject {
|
|
|
| // Helper methods for resolving control flow.
|
| void ResolveControlFlow(const InstructionBlock* block,
|
| - const LiveRange* cur_cover,
|
| + InstructionOperand* cur_op,
|
| const InstructionBlock* pred,
|
| - const LiveRange* pred_cover);
|
| + InstructionOperand* pred_op);
|
|
|
| void SetLiveRangeAssignedRegister(LiveRange* range, int reg);
|
|
|
|
|