The global singleton context aka "g".
(the name is chosen to be easy to type in a debugger).
context.cc - Holder for global state
Copyright (C) 2013-2024 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
The singleton holder of global state:
Referenced by account_profile(), add_edge(), cgraph_node::add_new_function(), add_scope_conflicts_2(), adjust_before_returns_twice_call(), adjust_simduid_builtins(), cgraph_node::analyze(), asan_expand_check_ifn(), asan_expand_mark_ifn(), asan_expand_poison_ifn(), asan_maybe_insert_dynamic_shadow_at_function_entry(), asan_poison_variable(), asan_store_shadow_bytes(), avoid_deep_ter_for_debug(), bb_prevents_fusion_p(), branch_fixup(), build_assign(), build_check_stmt(), build_shadow_mem_access(), build_tm_load(), build_tm_store(), can_remove_asan_check(), ccmp_candidate_p(), ccmp_tree_comparison_p(), check_profile_consistency(), cleanup_control_flow_pre(), clear_elim_graph(), clear_padding_emit_loop(), clear_padding_flush(), clear_padding_type(), symbol_table::compile(), convert_atomic_bit_not(), convert_nonlocal_omp_clauses(), strlen_pass::count_nonzero_bytes(), strlen_pass::count_nonzero_bytes_addr(), coverage_init(), cgraph_node::create(), create_omp_child_function(), debug(), debuginfo_early_init(), debuginfo_init(), determine_dominators_for_sons(), dfs_fst_edge(), do_vec_conversion(), do_warn_unused_result(), phi_analyzer::dump(), dump_begin(), dump_flag_name(), dump_gimple_fmt(), dump_graph(), dump_passes(), dump_profile_report(), early_object_sizes_execute_one(), elim_backward(), elim_create(), elim_forward(), elim_graph_add_edge(), elim_graph_add_node(), elim_graph_remove_succ_edge(), elim_graph_size(), elim_unvisited_predecessor(), eliminate_build(), eliminate_name(), eliminate_phi(), tree_switch_conversion::jump_table_cluster::emit(), enable_disable_pass(), enable_rtl_dump_file(), execute_all_ipa_stmt_fixups(), execute_all_ipa_transforms(), execute_function_dump(), execute_update_addresses_taken(), cgraph_node::expand(), expand_call_inline(), expand_ccmp_expr(), expand_ccmp_expr_1(), expand_debug_expr(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_gassign(), expand_omp_atomic_cas(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_ordered_sink(), expand_omp_ordered_source(), expand_omp_sections(), expand_omp_simd(), expand_omp_target(), expand_phi_nodes(), expand_task_call(), expand_vector_conversion(), file_name_acquire(), finalize(), toplev::finalize(), symbol_table::finalize_compilation_unit(), find_assumption_locals_r(), find_loop_dist_alias(), fold_builtin_atomic_compare_exchange(), fold_loop_internal_call(), fold_strstr_to_strncmp(), for_each_edge(), force_into_ssa_name(), free_graph(), general_init(), generate_rawmemchr_builtin(), generate_strlen_builtin_1(), get_abnormal_succ_dispatcher(), get_compare_parts(), varpool_node::get_create(), get_known_nonzero_bits(), get_last_alloca_addr(), get_min_precision(), get_nonzero_bits(), get_range_pos_neg(), gimple_bb(), gimple_block(), gimple_build_builtin_unreachable(), gimple_can_duplicate_bb_p(), gimple_code(), gimple_do_not_emit_location_p(), gimple_fold_builtin_clear_padding(), gimple_has_location(), gimple_has_mem_ops(), gimple_has_ops(), gimple_has_substatements(), gimple_init(), gimple_init_singleton(), gimple_location(), gimple_location_ptr(), gimple_location_safe(), gimple_lower_bitint(), gimple_modified_p(), gimple_nonartificial_location(), gimple_nop_p(), gimple_omp_atomic_memory_order(), gimple_omp_atomic_need_value_p(), gimple_omp_atomic_set_memory_order(), gimple_omp_atomic_set_need_value(), gimple_omp_atomic_set_weak(), gimple_omp_atomic_weak_p(), gimple_omp_for_combined_into_p(), gimple_omp_for_combined_p(), gimple_omp_for_kind(), gimple_omp_for_set_combined_into_p(), gimple_omp_for_set_combined_p(), gimple_omp_for_set_kind(), gimple_omp_ordered_standalone(), gimple_omp_ordered_standalone_p(), gimple_omp_parallel_combined_p(), gimple_omp_parallel_set_combined_p(), gimple_omp_return_lhs(), gimple_omp_return_lhs_ptr(), gimple_omp_return_nowait_p(), gimple_omp_return_set_lhs(), gimple_omp_section_last_p(), gimple_omp_section_set_last(), gimple_omp_target_kind(), gimple_omp_target_set_kind(), gimple_omp_task_set_taskloop_p(), gimple_omp_task_set_taskwait_p(), gimple_omp_task_taskloop_p(), gimple_omp_task_taskwait_p(), gimple_set_block(), gimple_set_code(), gimple_set_do_not_emit_location(), gimple_set_location(), gimple_set_subcode(), gimple_set_uid(), gimple_set_use_ops(), gimple_set_vdef(), gimple_set_vuse(), gimple_switch_set_num_labels(), gimple_try_set_catch_is_cleanup(), gimple_uid(), gimple_use_ops(), gimple_vdef(), gimple_vdef_op(), gimple_vdef_ptr(), gimple_vuse(), gimple_vuse_op(), gimple_vuse_ptr(), gimplify_adjust_omp_clauses_1(), gimplify_bind_expr(), gimplify_body(), gimplify_call_expr(), gimplify_cond_expr(), gimplify_expr(), gimplify_omp_depend(), gimplify_omp_for(), gimplify_omp_parallel(), gimplify_omp_task(), gimplify_omp_workshare(), graphds_dfs(), graphds_domtree(), graphds_scc(), gsi_end(), gsi_safe_insert_before(), gsi_safe_insert_seq_before(), handle_abnormal_edges(), handle_builtin_alloca(), handle_builtin_stack_restore(), handle_deferred_dump_options(), has_dominating_ubsan_ptr_check(), identify_vertices(), input_node(), instrument_bool_enum_load(), instrument_builtin(), instrument_builtin_call(), instrument_expr(), instrument_func_entry(), instrument_func_exit(), instrument_mem_ref(), instrument_nonnull_arg(), instrument_nonnull_return(), instrument_object_size(), instrument_pointer_overflow(), instrument_si_overflow(), ipa_passes(), ipa_read_optimization_summaries(), ipa_read_summaries(), ipa_tm_insert_gettmclone_call(), ipa_tm_insert_irr_call(), ipa_write_optimization_summaries(), ipa_write_summaries_1(), iterate_fix_dominators(), lower_assumption(), lower_builtin_setjmp(), lower_coro_builtin(), lower_depend_clauses(), lower_lastprivate_clauses(), lower_omp_1(), lower_omp_for(), lower_omp_for_scan(), lower_omp_ordered(), lower_omp_scan(), lower_omp_scope(), lower_omp_sections(), lower_omp_single(), lower_omp_target(), lower_omp_task_reductions(), lower_private_allocate(), lower_rec_input_clauses(), lower_rec_simd_input_clauses(), lower_reduction_clauses(), lower_resx(), lower_transaction(), mark_irreducible_loops(), match_arith_overflow(), match_single_bit_test(), match_uaddc_usubc(), maybe_add_implicit_barrier_cancel(), maybe_cast_to_ptrmode(), maybe_catch_exception(), maybe_create_ssa_name(), maybe_dead_abnormal_edge_p(), maybe_get_dominating_check(), maybe_get_single_definition(), maybe_instrument_call(), maybe_optimize_asan_check_ifn(), maybe_optimize_guarding_check(), maybe_optimize_range_tests(), maybe_optimize_ubsan_null_ifn(), maybe_optimize_ubsan_vptr_ifn(), move_sese_region_to_fn(), negate_value(), new_graph(), omp_build_barrier(), omp_discover_declare_target_tgt_fn_r(), omp_discover_declare_target_var_r(), opt_info_switch_p(), optimize_atomic_bit_test_and(), optimize_atomic_op_fetch_cmp_0(), optimize_range_tests_cmp_bitwise(), optimize_range_tests_to_bit_test(), optimize_range_tests_var_bound(), optimize_spaceship(), optimize_vector_constructor(), pass_fini_dump_file(), pass_init_dump_file(), pg_collect_alias_ddrs(), phi_group::phi_group(), print_gimple_expr(), print_gimple_stmt(), symbol_table::process_new_functions(), phi_analyzer::process_phi(), fold_using_range::range_of_phi(), register_one_dump_file(), register_pass(), register_pass(), gimple_ranger::register_transitive_inferred_ranges(), release_pages(), replace_func_exit(), repropagate_negates(), run_rtl_passes(), scan_omp_simd(), set_uid_loop_bbs(), simd_clone_adjust(), simd_clone_linear_addend(), simplify_builtin_call(), simplify_count_trailing_zeroes(), simplify_using_ranges::simplify_internal_call_using_ranges(), simplify_rotate(), spaceship_replacement(), split_function(), statistics_early_init(), statistics_fini(), statistics_init(), task_reduction_read(), tm_region_init(), tm_region_init_1(), ipa_icf::sem_item_optimizer::traverse_congruence_split(), tree_vec_extract(), uaddc_cast(), uaddc_is_cplxpart(), uaddc_ne0(), ubsan_expand_bounds_ifn(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_ptr_ifn(), ubsan_expand_vptr_ifn(), ubsan_instrument_unreachable(), undistribute_bitref_for_vector(), update_ops(), value_replacement(), vect_analyze_data_ref_accesses(), vect_analyze_early_break_dependences(), vect_loop_dist_alias_call(), vect_loop_vectorized_call(), vect_recog_average_pattern(), vect_recog_pow_pattern(), vectorizable_condition(), vectorizable_scan_store(), vectorizable_store(), version_loop_for_if_conversion(), walk_gimple_seq_mod(), and zero_one_minusone().