84 flags(BEFORE_CCP1, "Before PhaseCCP 1") \
85 flags(CCP1, "PhaseCCP 1") \
86 flags(ITER_GVN2, "Iter GVN 2") \
87 flags(PHASEIDEALLOOP_ITERATIONS, "PhaseIdealLoop iterations") \
88 flags(BEFORE_MACRO_EXPANSION , "Before Macro Expansion") \
89 flags(AFTER_MACRO_EXPANSION_STEP, "After Macro Expansion Step") \
90 flags(AFTER_MACRO_EXPANSION, "After Macro Expansion") \
91 flags(BARRIER_EXPANSION, "Barrier expand") \
92 flags(OPTIMIZE_FINISHED, "Optimize finished") \
93 flags(BEFORE_MATCHING, "Before matching") \
94 flags(MATCHING, "After matching") \
95 flags(GLOBAL_CODE_MOTION, "Global code motion") \
96 flags(REGISTER_ALLOCATION, "Register Allocation") \
97 flags(BLOCK_ORDERING, "Block Ordering") \
98 flags(PEEPHOLE, "Peephole") \
99 flags(POSTALLOC_EXPAND, "Post-Allocation Expand") \
100 flags(MACH_ANALYSIS, "After mach analysis") \
101 flags(FINAL_CODE, "Final Code") \
102 flags(END, "End") \
103 flags(FAILURE, "Failure") \
104 flags(ALL, "All") \
105 flags(DEBUG, "Debug")
106
107 #define table_entry(name, description) PHASE_##name,
108 enum CompilerPhaseType {
109 COMPILER_PHASES(table_entry)
110 PHASE_NUM_TYPES,
111 PHASE_NONE
112 };
113 #undef table_entry
114
115 static const char* phase_descriptions[] = {
116 #define array_of_labels(name, description) description,
117 COMPILER_PHASES(array_of_labels)
118 #undef array_of_labels
119 };
120
121 static const char* phase_names[] = {
122 #define array_of_labels(name, description) #name,
123 COMPILER_PHASES(array_of_labels)
|
84 flags(BEFORE_CCP1, "Before PhaseCCP 1") \
85 flags(CCP1, "PhaseCCP 1") \
86 flags(ITER_GVN2, "Iter GVN 2") \
87 flags(PHASEIDEALLOOP_ITERATIONS, "PhaseIdealLoop iterations") \
88 flags(BEFORE_MACRO_EXPANSION , "Before Macro Expansion") \
89 flags(AFTER_MACRO_EXPANSION_STEP, "After Macro Expansion Step") \
90 flags(AFTER_MACRO_EXPANSION, "After Macro Expansion") \
91 flags(BARRIER_EXPANSION, "Barrier expand") \
92 flags(OPTIMIZE_FINISHED, "Optimize finished") \
93 flags(BEFORE_MATCHING, "Before matching") \
94 flags(MATCHING, "After matching") \
95 flags(GLOBAL_CODE_MOTION, "Global code motion") \
96 flags(REGISTER_ALLOCATION, "Register Allocation") \
97 flags(BLOCK_ORDERING, "Block Ordering") \
98 flags(PEEPHOLE, "Peephole") \
99 flags(POSTALLOC_EXPAND, "Post-Allocation Expand") \
100 flags(MACH_ANALYSIS, "After mach analysis") \
101 flags(FINAL_CODE, "Final Code") \
102 flags(END, "End") \
103 flags(FAILURE, "Failure") \
104 flags(SPLIT_INLINES_ARRAY, "Split inlines array") \
105 flags(SPLIT_INLINES_ARRAY_IGVN, "IGVN after split inlines array") \
106 flags(ALL, "All") \
107 flags(DEBUG, "Debug")
108
109 #define table_entry(name, description) PHASE_##name,
110 enum CompilerPhaseType {
111 COMPILER_PHASES(table_entry)
112 PHASE_NUM_TYPES,
113 PHASE_NONE
114 };
115 #undef table_entry
116
117 static const char* phase_descriptions[] = {
118 #define array_of_labels(name, description) description,
119 COMPILER_PHASES(array_of_labels)
120 #undef array_of_labels
121 };
122
123 static const char* phase_names[] = {
124 #define array_of_labels(name, description) #name,
125 COMPILER_PHASES(array_of_labels)
|