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