109 flags(MATCHING, "After Matching") \
110 flags(GLOBAL_CODE_MOTION, "Global Code Motion") \
111 flags(INITIAL_LIVENESS, "Initial Liveness") \
112 flags(LIVE_RANGE_STRETCHING, "Live Range Stretching") \
113 flags(AGGRESSIVE_COALESCING, "Aggressive Coalescing") \
114 flags(INITIAL_SPILLING, "Initial Spilling") \
115 flags(CONSERVATIVE_COALESCING, "Conservative Coalescing") \
116 flags(ITERATIVE_SPILLING, "Iterative Spilling") \
117 flags(AFTER_ITERATIVE_SPILLING, "After Iterative Spilling") \
118 flags(POST_ALLOCATION_COPY_REMOVAL, "Post-allocation Copy Removal") \
119 flags(MERGE_MULTI_DEFS, "Merge Multiple Definitions") \
120 flags(FIX_UP_SPILLS, "Fix up Spills") \
121 flags(REGISTER_ALLOCATION, "Register Allocation") \
122 flags(BLOCK_ORDERING, "Block Ordering") \
123 flags(PEEPHOLE, "Peephole") \
124 flags(POSTALLOC_EXPAND, "Post-allocation Expand") \
125 flags(MACH_ANALYSIS, "After Mach Analysis") \
126 flags(FINAL_CODE, "Final Code") \
127 flags(END, "End") \
128 flags(FAILURE, "Failure") \
129 flags(ALL, "All") \
130 flags(DEBUG, "Debug")
131
132 #define table_entry(name, description) PHASE_##name,
133 enum CompilerPhaseType {
134 COMPILER_PHASES(table_entry)
135 PHASE_NUM_TYPES,
136 PHASE_NONE
137 };
138 #undef table_entry
139
140 class CompilerPhaseTypeHelper {
141 private:
142 static const char* const _phase_descriptions[];
143 static const char* const _phase_names[];
144
145 public:
146 static const char* to_name(CompilerPhaseType cpt) {
147 return _phase_names[cpt];
148 }
|
109 flags(MATCHING, "After Matching") \
110 flags(GLOBAL_CODE_MOTION, "Global Code Motion") \
111 flags(INITIAL_LIVENESS, "Initial Liveness") \
112 flags(LIVE_RANGE_STRETCHING, "Live Range Stretching") \
113 flags(AGGRESSIVE_COALESCING, "Aggressive Coalescing") \
114 flags(INITIAL_SPILLING, "Initial Spilling") \
115 flags(CONSERVATIVE_COALESCING, "Conservative Coalescing") \
116 flags(ITERATIVE_SPILLING, "Iterative Spilling") \
117 flags(AFTER_ITERATIVE_SPILLING, "After Iterative Spilling") \
118 flags(POST_ALLOCATION_COPY_REMOVAL, "Post-allocation Copy Removal") \
119 flags(MERGE_MULTI_DEFS, "Merge Multiple Definitions") \
120 flags(FIX_UP_SPILLS, "Fix up Spills") \
121 flags(REGISTER_ALLOCATION, "Register Allocation") \
122 flags(BLOCK_ORDERING, "Block Ordering") \
123 flags(PEEPHOLE, "Peephole") \
124 flags(POSTALLOC_EXPAND, "Post-allocation Expand") \
125 flags(MACH_ANALYSIS, "After Mach Analysis") \
126 flags(FINAL_CODE, "Final Code") \
127 flags(END, "End") \
128 flags(FAILURE, "Failure") \
129 flags(SPLIT_INLINES_ARRAY, "Split inlines array") \
130 flags(SPLIT_INLINES_ARRAY_IGVN, "IGVN after split inlines array") \
131 flags(ALL, "All") \
132 flags(DEBUG, "Debug")
133
134 #define table_entry(name, description) PHASE_##name,
135 enum CompilerPhaseType {
136 COMPILER_PHASES(table_entry)
137 PHASE_NUM_TYPES,
138 PHASE_NONE
139 };
140 #undef table_entry
141
142 class CompilerPhaseTypeHelper {
143 private:
144 static const char* const _phase_descriptions[];
145 static const char* const _phase_names[];
146
147 public:
148 static const char* to_name(CompilerPhaseType cpt) {
149 return _phase_names[cpt];
150 }
|