128 flags(MATCHING, "After Matching") \
129 flags(GLOBAL_CODE_MOTION, "Global Code Motion") \
130 flags(INITIAL_LIVENESS, "Initial Liveness") \
131 flags(LIVE_RANGE_STRETCHING, "Live Range Stretching") \
132 flags(AGGRESSIVE_COALESCING, "Aggressive Coalescing") \
133 flags(INITIAL_SPILLING, "Initial Spilling") \
134 flags(CONSERVATIVE_COALESCING, "Conservative Coalescing") \
135 flags(ITERATIVE_SPILLING, "Iterative Spilling") \
136 flags(AFTER_ITERATIVE_SPILLING, "After Iterative Spilling") \
137 flags(POST_ALLOCATION_COPY_REMOVAL, "Post-allocation Copy Removal") \
138 flags(MERGE_MULTI_DEFS, "Merge Multiple Definitions") \
139 flags(FIX_UP_SPILLS, "Fix up Spills") \
140 flags(REGISTER_ALLOCATION, "Register Allocation") \
141 flags(BLOCK_ORDERING, "Block Ordering") \
142 flags(PEEPHOLE, "Peephole") \
143 flags(POSTALLOC_EXPAND, "Post-allocation Expand") \
144 flags(MACH_ANALYSIS, "After Mach Analysis") \
145 flags(FINAL_CODE, "Final Code") \
146 flags(END, "End") \
147 flags(FAILURE, "Failure") \
148 flags(ALL, "All") \
149 flags(DEBUG, "Debug")
150
151 #define table_entry(name, description) PHASE_##name,
152 enum CompilerPhaseType {
153 COMPILER_PHASES(table_entry)
154 PHASE_NUM_TYPES,
155 PHASE_NONE
156 };
157 #undef table_entry
158
159 class CompilerPhaseTypeHelper {
160 private:
161 static const char* const _phase_descriptions[];
162 static const char* const _phase_names[];
163
164 public:
165 static const char* to_name(CompilerPhaseType cpt) {
166 return _phase_names[cpt];
167 }
|
128 flags(MATCHING, "After Matching") \
129 flags(GLOBAL_CODE_MOTION, "Global Code Motion") \
130 flags(INITIAL_LIVENESS, "Initial Liveness") \
131 flags(LIVE_RANGE_STRETCHING, "Live Range Stretching") \
132 flags(AGGRESSIVE_COALESCING, "Aggressive Coalescing") \
133 flags(INITIAL_SPILLING, "Initial Spilling") \
134 flags(CONSERVATIVE_COALESCING, "Conservative Coalescing") \
135 flags(ITERATIVE_SPILLING, "Iterative Spilling") \
136 flags(AFTER_ITERATIVE_SPILLING, "After Iterative Spilling") \
137 flags(POST_ALLOCATION_COPY_REMOVAL, "Post-allocation Copy Removal") \
138 flags(MERGE_MULTI_DEFS, "Merge Multiple Definitions") \
139 flags(FIX_UP_SPILLS, "Fix up Spills") \
140 flags(REGISTER_ALLOCATION, "Register Allocation") \
141 flags(BLOCK_ORDERING, "Block Ordering") \
142 flags(PEEPHOLE, "Peephole") \
143 flags(POSTALLOC_EXPAND, "Post-allocation Expand") \
144 flags(MACH_ANALYSIS, "After Mach Analysis") \
145 flags(FINAL_CODE, "Final Code") \
146 flags(END, "End") \
147 flags(FAILURE, "Failure") \
148 flags(SPLIT_INLINES_ARRAY, "Split inlines array") \
149 flags(SPLIT_INLINES_ARRAY_IGVN, "IGVN after split inlines array") \
150 flags(ALL, "All") \
151 flags(DEBUG, "Debug")
152
153 #define table_entry(name, description) PHASE_##name,
154 enum CompilerPhaseType {
155 COMPILER_PHASES(table_entry)
156 PHASE_NUM_TYPES,
157 PHASE_NONE
158 };
159 #undef table_entry
160
161 class CompilerPhaseTypeHelper {
162 private:
163 static const char* const _phase_descriptions[];
164 static const char* const _phase_names[];
165
166 public:
167 static const char* to_name(CompilerPhaseType cpt) {
168 return _phase_names[cpt];
169 }
|