comparison gcc/go/gofrontend/go.cc @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
39 if (args->compiling_runtime) 39 if (args->compiling_runtime)
40 ::gogo->set_compiling_runtime(args->compiling_runtime); 40 ::gogo->set_compiling_runtime(args->compiling_runtime);
41 if (args->c_header != NULL) 41 if (args->c_header != NULL)
42 ::gogo->set_c_header(args->c_header); 42 ::gogo->set_c_header(args->c_header);
43 ::gogo->set_debug_escape_level(args->debug_escape_level); 43 ::gogo->set_debug_escape_level(args->debug_escape_level);
44 if (args->debug_escape_hash != NULL)
45 ::gogo->set_debug_escape_hash(args->debug_escape_hash);
46 ::gogo->set_nil_check_size_threshold(args->nil_check_size_threshold);
44 } 47 }
45 48
46 // Parse the input files. 49 // Parse the input files.
47 50
48 GO_EXTERN_C 51 GO_EXTERN_C
138 ::gogo->analyze_escape(); 141 ::gogo->analyze_escape();
139 142
140 // Export global identifiers as appropriate. 143 // Export global identifiers as appropriate.
141 ::gogo->do_exports(); 144 ::gogo->do_exports();
142 145
146 // Use temporary variables to force order of evaluation.
147 ::gogo->order_evaluations();
148
143 // Turn short-cut operators (&&, ||) into explicit if statements. 149 // Turn short-cut operators (&&, ||) into explicit if statements.
144 ::gogo->remove_shortcuts(); 150 ::gogo->remove_shortcuts();
145
146 // Use temporary variables to force order of evaluation.
147 ::gogo->order_evaluations();
148 151
149 // Convert named types to backend representation. 152 // Convert named types to backend representation.
150 ::gogo->convert_named_types(); 153 ::gogo->convert_named_types();
151 154
152 // Build thunks for functions which call recover. 155 // Build thunks for functions which call recover.
161 // Add write barriers. 164 // Add write barriers.
162 ::gogo->add_write_barriers(); 165 ::gogo->add_write_barriers();
163 166
164 // Flatten the parse tree. 167 // Flatten the parse tree.
165 ::gogo->flatten(); 168 ::gogo->flatten();
169
170 // Reclaim memory of escape analysis Nodes.
171 ::gogo->reclaim_escape_nodes();
166 172
167 // Dump ast, use filename[0] as the base name 173 // Dump ast, use filename[0] as the base name
168 ::gogo->dump_ast(filenames[0]); 174 ::gogo->dump_ast(filenames[0]);
169 } 175 }
170 176