参照元†
返り値†
/* Initialize pass dump file. */
/* This is non-static so that the plugins can use it. */
bool
pass_init_dump_file (opt_pass *pass)
{
/* If a dump file name is present, open it if enabled. */
if (pass->static_pass_number != -1)
{
timevar_push (TV_DUMP);
gcc::dump_manager *dumps = g->get_dumps ();
bool initializing_dump =
!dumps->dump_initialized_p (pass->static_pass_number);
release_dump_file_name ();
dump_file_name = dumps->get_dump_file_name (pass->static_pass_number);
dumps->dump_start (pass->static_pass_number, &dump_flags);
if (dump_file && current_function_decl && ! (dump_flags & TDF_GIMPLE))
dump_function_header (dump_file, current_function_decl, dump_flags);
if (initializing_dump
&& dump_file && (dump_flags & TDF_GRAPH)
&& cfun && (cfun->curr_properties & PROP_cfg))
{
clean_graph_dump_file (dump_file_name);
struct dump_file_info *dfi
= dumps->get_dump_file_info (pass->static_pass_number);
dfi->graph_dump_initialized = true;
}
timevar_pop (TV_DUMP);
return initializing_dump;
}
else
return false;
}
コメント†