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