comparison gcc/tree-pass.h @ 132:d34655255c78

update gcc-8.2
author mir3636
date Thu, 25 Oct 2018 10:21:07 +0900
parents 84e7813d76e9
children 1830386684a0
comparison
equal deleted inserted replaced
130:e108057fa461 132:d34655255c78
1 /* Definitions for describing one tree-ssa optimization pass. 1 /* Definitions for describing one tree-ssa optimization pass.
2 Copyright (C) 2004-2017 Free Software Foundation, Inc. 2 Copyright (C) 2004-2018 Free Software Foundation, Inc.
3 Contributed by Richard Henderson <rth@redhat.com> 3 Contributed by Richard Henderson <rth@redhat.com>
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify 7 GCC is free software; you can redistribute it and/or modify
45 /* Terse name of the pass used as a fragment of the dump file 45 /* Terse name of the pass used as a fragment of the dump file
46 name. If the name starts with a star, no dump happens. */ 46 name. If the name starts with a star, no dump happens. */
47 const char *name; 47 const char *name;
48 48
49 /* The -fopt-info optimization group flags as defined in dumpfile.h. */ 49 /* The -fopt-info optimization group flags as defined in dumpfile.h. */
50 unsigned int optinfo_flags; 50 optgroup_flags_t optinfo_flags;
51 51
52 /* The timevar id associated with this pass. */ 52 /* The timevar id associated with this pass. */
53 /* ??? Ideally would be dynamically assigned. */ 53 /* ??? Ideally would be dynamically assigned. */
54 timevar_id_t tv_id; 54 timevar_id_t tv_id;
55 55
337 the pass object. */ 337 the pass object. */
338 extern void register_pass (register_pass_info *); 338 extern void register_pass (register_pass_info *);
339 extern void register_pass (opt_pass* pass, pass_positioning_ops pos, 339 extern void register_pass (opt_pass* pass, pass_positioning_ops pos,
340 const char* ref_pass_name, int ref_pass_inst_number); 340 const char* ref_pass_name, int ref_pass_inst_number);
341 341
342 extern simple_ipa_opt_pass *make_pass_ipa_chkp_versioning (gcc::context *ctxt);
343 extern simple_ipa_opt_pass *make_pass_ipa_chkp_early_produce_thunks (gcc::context *ctxt);
344 extern simple_ipa_opt_pass *make_pass_ipa_chkp_produce_thunks (gcc::context *ctxt);
345 extern gimple_opt_pass *make_pass_chkp (gcc::context *ctxt);
346 extern gimple_opt_pass *make_pass_chkp_opt (gcc::context *ctxt);
347 extern gimple_opt_pass *make_pass_asan (gcc::context *ctxt); 342 extern gimple_opt_pass *make_pass_asan (gcc::context *ctxt);
348 extern gimple_opt_pass *make_pass_asan_O0 (gcc::context *ctxt); 343 extern gimple_opt_pass *make_pass_asan_O0 (gcc::context *ctxt);
349 extern gimple_opt_pass *make_pass_tsan (gcc::context *ctxt); 344 extern gimple_opt_pass *make_pass_tsan (gcc::context *ctxt);
350 extern gimple_opt_pass *make_pass_tsan_O0 (gcc::context *ctxt); 345 extern gimple_opt_pass *make_pass_tsan_O0 (gcc::context *ctxt);
351 extern gimple_opt_pass *make_pass_sancov (gcc::context *ctxt); 346 extern gimple_opt_pass *make_pass_sancov (gcc::context *ctxt);
366 extern gimple_opt_pass *make_pass_fix_loops (gcc::context *ctxt); 361 extern gimple_opt_pass *make_pass_fix_loops (gcc::context *ctxt);
367 extern gimple_opt_pass *make_pass_tree_loop (gcc::context *ctxt); 362 extern gimple_opt_pass *make_pass_tree_loop (gcc::context *ctxt);
368 extern gimple_opt_pass *make_pass_tree_no_loop (gcc::context *ctxt); 363 extern gimple_opt_pass *make_pass_tree_no_loop (gcc::context *ctxt);
369 extern gimple_opt_pass *make_pass_tree_loop_init (gcc::context *ctxt); 364 extern gimple_opt_pass *make_pass_tree_loop_init (gcc::context *ctxt);
370 extern gimple_opt_pass *make_pass_lim (gcc::context *ctxt); 365 extern gimple_opt_pass *make_pass_lim (gcc::context *ctxt);
366 extern gimple_opt_pass *make_pass_linterchange (gcc::context *ctxt);
371 extern gimple_opt_pass *make_pass_tree_unswitch (gcc::context *ctxt); 367 extern gimple_opt_pass *make_pass_tree_unswitch (gcc::context *ctxt);
372 extern gimple_opt_pass *make_pass_loop_split (gcc::context *ctxt); 368 extern gimple_opt_pass *make_pass_loop_split (gcc::context *ctxt);
369 extern gimple_opt_pass *make_pass_loop_jam (gcc::context *ctxt);
373 extern gimple_opt_pass *make_pass_predcom (gcc::context *ctxt); 370 extern gimple_opt_pass *make_pass_predcom (gcc::context *ctxt);
374 extern gimple_opt_pass *make_pass_iv_canon (gcc::context *ctxt); 371 extern gimple_opt_pass *make_pass_iv_canon (gcc::context *ctxt);
375 extern gimple_opt_pass *make_pass_scev_cprop (gcc::context *ctxt); 372 extern gimple_opt_pass *make_pass_scev_cprop (gcc::context *ctxt);
376 extern gimple_opt_pass *make_pass_empty_loop (gcc::context *ctxt); 373 extern gimple_opt_pass *make_pass_empty_loop (gcc::context *ctxt);
377 extern gimple_opt_pass *make_pass_graphite (gcc::context *ctxt); 374 extern gimple_opt_pass *make_pass_graphite (gcc::context *ctxt);
409 extern gimple_opt_pass *make_pass_profile (gcc::context *ctxt); 406 extern gimple_opt_pass *make_pass_profile (gcc::context *ctxt);
410 extern gimple_opt_pass *make_pass_strip_predict_hints (gcc::context *ctxt); 407 extern gimple_opt_pass *make_pass_strip_predict_hints (gcc::context *ctxt);
411 extern gimple_opt_pass *make_pass_lower_complex_O0 (gcc::context *ctxt); 408 extern gimple_opt_pass *make_pass_lower_complex_O0 (gcc::context *ctxt);
412 extern gimple_opt_pass *make_pass_lower_complex (gcc::context *ctxt); 409 extern gimple_opt_pass *make_pass_lower_complex (gcc::context *ctxt);
413 extern gimple_opt_pass *make_pass_lower_switch (gcc::context *ctxt); 410 extern gimple_opt_pass *make_pass_lower_switch (gcc::context *ctxt);
411 extern gimple_opt_pass *make_pass_lower_switch_O0 (gcc::context *ctxt);
414 extern gimple_opt_pass *make_pass_lower_vector (gcc::context *ctxt); 412 extern gimple_opt_pass *make_pass_lower_vector (gcc::context *ctxt);
415 extern gimple_opt_pass *make_pass_lower_vector_ssa (gcc::context *ctxt); 413 extern gimple_opt_pass *make_pass_lower_vector_ssa (gcc::context *ctxt);
416 extern gimple_opt_pass *make_pass_lower_omp (gcc::context *ctxt); 414 extern gimple_opt_pass *make_pass_lower_omp (gcc::context *ctxt);
417 extern gimple_opt_pass *make_pass_diagnose_omp_blocks (gcc::context *ctxt); 415 extern gimple_opt_pass *make_pass_diagnose_omp_blocks (gcc::context *ctxt);
418 extern gimple_opt_pass *make_pass_expand_omp (gcc::context *ctxt); 416 extern gimple_opt_pass *make_pass_expand_omp (gcc::context *ctxt);
457 *ctxt); 455 *ctxt);
458 extern gimple_opt_pass *make_pass_build_cgraph_edges (gcc::context *ctxt); 456 extern gimple_opt_pass *make_pass_build_cgraph_edges (gcc::context *ctxt);
459 extern gimple_opt_pass *make_pass_local_pure_const (gcc::context *ctxt); 457 extern gimple_opt_pass *make_pass_local_pure_const (gcc::context *ctxt);
460 extern gimple_opt_pass *make_pass_nothrow (gcc::context *ctxt); 458 extern gimple_opt_pass *make_pass_nothrow (gcc::context *ctxt);
461 extern gimple_opt_pass *make_pass_tracer (gcc::context *ctxt); 459 extern gimple_opt_pass *make_pass_tracer (gcc::context *ctxt);
460 extern gimple_opt_pass *make_pass_warn_restrict (gcc::context *ctxt);
462 extern gimple_opt_pass *make_pass_warn_unused_result (gcc::context *ctxt); 461 extern gimple_opt_pass *make_pass_warn_unused_result (gcc::context *ctxt);
463 extern gimple_opt_pass *make_pass_diagnose_tm_blocks (gcc::context *ctxt); 462 extern gimple_opt_pass *make_pass_diagnose_tm_blocks (gcc::context *ctxt);
464 extern gimple_opt_pass *make_pass_lower_tm (gcc::context *ctxt); 463 extern gimple_opt_pass *make_pass_lower_tm (gcc::context *ctxt);
465 extern gimple_opt_pass *make_pass_tm_init (gcc::context *ctxt); 464 extern gimple_opt_pass *make_pass_tm_init (gcc::context *ctxt);
466 extern gimple_opt_pass *make_pass_tm_mark (gcc::context *ctxt); 465 extern gimple_opt_pass *make_pass_tm_mark (gcc::context *ctxt);
486 *make_pass_ipa_function_and_variable_visibility (gcc::context *ctxt); 485 *make_pass_ipa_function_and_variable_visibility (gcc::context *ctxt);
487 extern simple_ipa_opt_pass *make_pass_ipa_tree_profile (gcc::context *ctxt); 486 extern simple_ipa_opt_pass *make_pass_ipa_tree_profile (gcc::context *ctxt);
488 extern simple_ipa_opt_pass *make_pass_ipa_auto_profile (gcc::context *ctxt); 487 extern simple_ipa_opt_pass *make_pass_ipa_auto_profile (gcc::context *ctxt);
489 488
490 extern simple_ipa_opt_pass *make_pass_build_ssa_passes (gcc::context *ctxt); 489 extern simple_ipa_opt_pass *make_pass_build_ssa_passes (gcc::context *ctxt);
491 extern simple_ipa_opt_pass *make_pass_chkp_instrumentation_passes (gcc::context *ctxt);
492 extern simple_ipa_opt_pass *make_pass_local_optimization_passes (gcc::context *ctxt); 490 extern simple_ipa_opt_pass *make_pass_local_optimization_passes (gcc::context *ctxt);
493 491
494 extern ipa_opt_pass_d *make_pass_ipa_whole_program_visibility (gcc::context 492 extern ipa_opt_pass_d *make_pass_ipa_whole_program_visibility (gcc::context
495 *ctxt); 493 *ctxt);
496 extern simple_ipa_opt_pass *make_pass_ipa_increase_alignment (gcc::context 494 extern simple_ipa_opt_pass *make_pass_ipa_increase_alignment (gcc::context
571 extern rtl_opt_pass *make_pass_lower_subreg2 (gcc::context *ctxt); 569 extern rtl_opt_pass *make_pass_lower_subreg2 (gcc::context *ctxt);
572 extern rtl_opt_pass *make_pass_mode_switching (gcc::context *ctxt); 570 extern rtl_opt_pass *make_pass_mode_switching (gcc::context *ctxt);
573 extern rtl_opt_pass *make_pass_sms (gcc::context *ctxt); 571 extern rtl_opt_pass *make_pass_sms (gcc::context *ctxt);
574 extern rtl_opt_pass *make_pass_sched (gcc::context *ctxt); 572 extern rtl_opt_pass *make_pass_sched (gcc::context *ctxt);
575 extern rtl_opt_pass *make_pass_live_range_shrinkage (gcc::context *ctxt); 573 extern rtl_opt_pass *make_pass_live_range_shrinkage (gcc::context *ctxt);
574 extern rtl_opt_pass *make_pass_early_remat (gcc::context *ctxt);
576 extern rtl_opt_pass *make_pass_ira (gcc::context *ctxt); 575 extern rtl_opt_pass *make_pass_ira (gcc::context *ctxt);
577 extern rtl_opt_pass *make_pass_reload (gcc::context *ctxt); 576 extern rtl_opt_pass *make_pass_reload (gcc::context *ctxt);
578 extern rtl_opt_pass *make_pass_clean_state (gcc::context *ctxt); 577 extern rtl_opt_pass *make_pass_clean_state (gcc::context *ctxt);
579 extern rtl_opt_pass *make_pass_branch_prob (gcc::context *ctxt); 578 extern rtl_opt_pass *make_pass_branch_prob (gcc::context *ctxt);
580 extern rtl_opt_pass *make_pass_value_profile_transformations (gcc::context 579 extern rtl_opt_pass *make_pass_value_profile_transformations (gcc::context