GCC Middle and Back End API Reference
|
#include <vec.h>
Inherited by auto_vec< edge_t * >, auto_vec< node_t * >, auto_vec< cpp_string >, auto_vec< char * >, auto_vec< uint64_t, 1 >, auto_vec< rtx, 32 >, auto_vec< tree, 32 >, auto_vec< DFS::scc_entry, 32 >, auto_vec< DFS::worklist, 32 >, auto_vec< rgroup_controls >, auto_vec< data_dependence_relation >, auto_vec< dr_with_seg_len_pair_t >, auto_vec< vec_object_pair >, auto_vec< tree >, auto_vec< vec_lower_bound >, auto_vec< stmt_vec_info >, auto_vec< stmt_info_for_cost >, auto_vec< gcond * >, auto_vec< gimple * >, auto_vec< locstr >, auto_vec< int >, auto_vec< char >, auto_vec< rtx_def >, auto_vec< ana::bar_chart::item * >, auto_vec< ana::bounded_range >, auto_vec< ana::call_string::element_t >, auto_vec< ana::checker_event * >, auto_vec< ana::equiv_class * >, auto_vec< ana::constraint >, auto_vec< ana::bounded_ranges_constraint >, auto_vec< ana::saved_diagnostic * >, auto_vec< const ana::svalue * >, auto_vec< Key >, auto_vec< const ana::saved_diagnostic * >, auto_vec< const ana::exploded_edge * >, auto_vec< ana::state_machine * >, auto_vec< const ana::region * >, auto_vec< ana::call_summary * >, auto_vec< ana::exploded_node * >, auto_vec< ana::sm_state_map * >, auto_vec< ana::record_layout::item >, auto_vec< pop_frame_callback >, auto_vec< ana::svalue * >, auto_vec< ana::region * >, auto_vec< ana::pending_note * >, auto_vec< std::pair< gimple *, unsigned > >, auto_vec< ana::state_machine::state * >, auto_vec< unsigned >, auto_vec< ana::strongly_connected_components::per_node_data >, auto_vec< unsigned char >, auto_vec< std::pair< tree, flow_sensitive_info_storage >, 2 >, auto_vec< basic_block_def >, auto_vec< capture_info::cinfo >, auto_vec< dref >, auto_vec< _slp_tree >, auto_vec< size_t, 128 >, auto_vec< basic_block_def, 256 >, auto_vec< uint64_t, 512 >, auto_vec< range_entry >, auto_vec< std::pair< gphi *, tree > >, auto_vec< df_ref_d, 128 >, auto_vec< df_ref_d, 32 >, auto_vec< df_mw_hardreg *, 32 >, auto_vec< location_t, 8 >, auto_vec< const diagnostic_metadata::rule * >, auto_vec< dump_pretty_printer::stashed_item >, auto_vec< line_event >, auto_vec< added_line * >, auto_vec< location_t >, auto_vec< rtx_def, 4 >, auto_vec< rtx_insn * >, auto_vec< odr_type_warn_count >, auto_vec< fma_transformation_info, 8 >, auto_vec< fixup * >, auto_vec< deferred_edge >, auto_vec< ipa_polymorphic_call_context, 32 >, auto_vec< ipa_argagg_value, 32 >, auto_vec< Value_Range, 32 >, auto_vec< pass_through_split_map >, auto_vec< size_time_entry >, auto_vec< ipa_icf::sem_item * >, auto_vec< tree, 16 >, auto_vec< ipa_param_body_replacement, 16 >, auto_vec< gimple *, 8 >, auto_vec< isra_param_flow >, auto_vec< struct iv_use * >, auto_vec< json::value * >, auto_vec< const char * >, auto_vec< bool >, auto_vec< int, 16 >, auto_vec< lto_location_cache::cached_location >, auto_vec< parameter, MAX_PATTERN_PARAMS >, auto_vec< merge_pattern_transition *, 1 >, auto_vec< modref_access_node >, auto_vec< eaf_flags_t >, auto_vec< odr_enum_val, 0 >, auto_vec< tree *, 16 >, auto_vec< optinfo_item * >, auto_vec< json::array * >, auto_vec< unsigned int >, auto_vec< parameter::type_enum, MAX_PATTERN_PARAMS >, auto_vec< data_reference, 10 >, auto_vec< data_dependence_relation, 10 >, auto_vec< chain >, auto_vec< access_ref >, auto_vec< int, 2 >, auto_vec< const edge_t * >, auto_vec< simple_diagnostic_thread * >, auto_vec< simple_diagnostic_event * >, auto_vec< speculative_call_target >, auto_vec< hash_set< basic_block_def > * >, auto_vec< std::pair< HOST_WIDE_INT, HOST_WIDE_INT >, 10 >, auto_vec< std::pair< tree, tree > >, auto_vec< HOST_WIDE_INT >, auto_vec< tree, 2 >, auto_vec< v_info_elem, 32 >, auto_vec< slp_instance >, auto_vec< loop_p >, auto_vec< poly_int64, 32 >, auto_vec< slpg_vertex >, auto_vec< vec< unsigned > >, auto_vec< slpg_partition_info >, auto_vec< slpg_partition_layout_costs >, and auto_vec< pd_data, 2 >.
Generic vector template. Default values for A and L indicate the most commonly used strategies. FIXME - Ideally, they would all be vl_ptr to encourage using regular instances for vectors, but the existing GTY machinery is limited in that it can only deal with GC objects that are pointers themselves. This means that vector operations that need to deal with potentially NULL pointers, must be provided as free functions (see the vec_safe_* functions above).