GCC Middle and Back End API Reference
Data Structure Index
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | _
  A  
def_blocks_d   gimplify_hasher   name_map   stack_vec   
default_include   gimplify_init_ctor_preeval_data   name_to_bb   state   
access   default_spec   gimplify_omp_ctx   name_to_copy_elt   state_ainsn_table   
access_matrix   deferred_change   globals   name_to_copy_hasher   state_ident_st   
accum_extract   deferred_locations_struct   godump_container   named_section   state_token_st   
action_record   defs_uses_info   goto_queue_node   nb_iter_bound   state_writer   
action_record_hasher   delay_desc   graph   nested_ptr_data   statistics_counter_s   
add_to_obstack_info   demangled_hash_entry   graph_edge   nesting_copy_body_data   stats_counter_hasher   
addr_const   depth_first_search_dsS   group_info   nesting_info   std_pred_table   
addr_diff_vec_flags   description   growth_data   niter_desc   stdarg_info   
addr_table_entry_struct   df_artificial_ref   
  H  
no_conflict_data   stmt_stats   
addr_table_entry_struct::addr_table_entry_struct_union   df_base_ref   noce_if_info   store_by_pieces_d   
address_cost_data_s   df_collection_rec   hard_reg_set_container   nontrapping_dom_walker   store_info   
address_info   df_d   hard_reg_set_iterator   norm_cond   streamer_hooks   
adjust_info   df_insn_info   hash_table   noswitch_section   streamer_tree_cache_d   
adjust_mem_data   df_link   hash_table_control   note_add_store_info   stridxlist   
aff_comb_elt   df_live_bb_info   hash_table_d   note_simd_array_uses_struct   stridxlist_hasher   
affine_iv_d   df_live_problem_data   hashable_expr   nothing_regexp   strinfo_struct   
affine_tree_combination   df_lr_bb_info   head   nrv_data   string2counter_map   
agg_position_info   df_lr_problem_data   histogram_entry   numbered_tree_d   string_pool_data   
ainsn   df_md_bb_info   histogram_hash   
  O  
string_slot   
alg_hash_entry   df_md_problem_data   histogram_value_t   string_slot_hasher   
algorithm   df_mw_hardreg   hook_desc   object_block   strlen_dom_walker   
alias_pair   df_problem   host_hooks   object_size_info   subreg_info   
alias_set_entry_d   df_rd_bb_info   htab_bb_copy_original_entry   oc_local_state   subscript   
alloc_pool_def   df_rd_problem_data   hw_doloop_hooks   oc_outer_state   subst_attr_to_iter_mapping   
alloc_pool_descriptor   df_ref_d   hwloop_info_d   occr   substring   
alloc_pool_hasher   df_ref_info   
  I  
occurrence   succ_iterator   
alloc_pool_list_def   df_reg_info   odr_hasher   succs_info   
allocation_object_def   df_regular_ref   id   odr_type_d   switch_conv_info   
allocno_color_data   df_scan_bb_info   idata_def   oecount_hasher   switch_update   
allocno_hard_regs   df_scan_problem_data   ifc_dr   oecount_s   switchstr   
allocno_hard_regs_hasher   df_word_lr_bb_info   ifs_ivopts_data   omega_pb_d   symbol_hash_entry   
allocno_hard_regs_node   df_word_lr_problem_data   ifsese_s   omp_context   symbol_stack_entry   
allocno_hard_regs_subnode   dfa_stats_d   ilb_data   omp_for_data   symbolic_number   
allof_regexp   dfset_merge   immediate_use_iterator_d   omp_for_data_loop   symtab_node_base   
alt_state   dfset_post_merge   incoming_args   omp_region   
  T  
ao_ref_s   diagnose_tm   incoming_reg_info   omp_taskcopy_context   
ar_data   diagnostic_classification_change_t   incr_info_d   oneof_regexp   table_elt   
arc   diagnostic_context   indices   onepart_aux   tag_format   
arc_info   diagnostic_info   indirect_string_node   operand_alternative   tailcall   
arg_data   die_arg_entry_struct   infile   operand_data   target_bb_reorder   
args_size   die_struct   init_expmed_rtl   operand_entry   target_builtins   
array_descr_info::array_descr_dimen   die_struct::die_symbol_or_type_node   initial_value_pair   operand_rr_info   target_c_incpath_s   
array_descr_info   dir_info   initial_value_struct   opt_info   target_cfgloop   
asan_add_string_csts_data   dom_dfsnum   inline_edge_summary   opt_pass   target_expmed   
asan_mem_ref   dom_info   inline_param_summary   opt_stats_d   target_flag_state   
asan_mem_ref_hasher   dom_opt_dom_walker   inline_summary   optab_def_d   target_gcse   
asm_int_op   dom_walker   innermost_loop_behavior   optab_libcall_d   target_hard_regs   
asm_node   double_int   input_domain   option_map   target_info   
assert_locus_d   dr_alias   input_file_st   options   target_ira   
assign_link   dref_d   input_reload   outf   target_ira_int   
assign_parm_data_all   dse_dom_walker   insn_data_d   output_block   target_libfuncs   
assign_parm_data_one   du_chain   insn_def   output_buffer   target_lower_subreg   
atomic_op_functions   du_head   insn_ent   output_info   target_lra_int   
attr_desc   dump_file_info   insn_gen_fn   overlapping_mems   target_optabs   
attr_hash   dump_info   insn_info   
  P  
target_regs   
attr_value   dump_manager (gcc)   insn_link   target_reload   
attr_value_list   dump_node_info   insn_operand_data   page_entry   target_rtl   
attribute_hasher   dump_option_value_info   insn_reserv   page_group   tb_command   
attribute_use   dump_queue   insn_reserv_decl   pair   tb_tree_code   
attrs_def   duplicate_eh_regions_data   insn_rr_info   param_analysis_info   temp_expr_table_d   
augmenting_path_d   dw_attr_struct   instantiate_cache_type   param_info   temp_file   
automata_list_el   dw_cfi_oprnd_struct   int_tree_hasher   parms_set_data   temp_name   
automaton   dw_cfi_row_struct   int_tree_map   partition_s   temp_slot   
automaton_decl   dw_cfi_struct   inter_bb_range_test_entry   pass_data   temp_slot_address_entry   
aux_bb_info   dw_fde_struct   invariant   pass_list_node   text_info   
  B  
dw_line_info_struct   invariant_expr_entry   pass_manager (gcc)   thread_stats_d   
dw_line_info_table_struct   invariant_expr_hasher   pass_registry   throw_stmt_node   
base_alias_pair   dw_loc_descr_struct   invariant_group_base_hasher   pass_registry_hasher   ticker   
basic_block_def   dw_loc_list_struct   invariantness_dom_walker   PassPrinter (gdbhooks)   timevar_def   
basic_block_def::basic_block_il_dependent   dw_ranges_by_label_struct   ipa_agg_jf_item   path_prefix   timevar_stack_def   
BasicBlockPrinter (gdbhooks)   dw_ranges_struct   ipa_agg_jump_function   pattern_d   timevar_time_def   
bb2reg_stuff   dw_trace_info   ipa_agg_replacement_value   pattern_reserv   tm_alias_pair   
bb_bitmap_sets   dw_val_struct::dw_val_struct_union::dw_val_die_union   ipa_ancestor_jf_data   pattern_set_el   tm_ipa_cg_data   
bb_cluster_def   dw_val_struct   ipa_constant_data   pattern_stats   tm_log_entry   
bb_copy_hasher   dw_val_struct::dw_val_struct_union   ipa_cst_ref_desc   peel_info_hasher   tm_mem_map_hasher   
bb_data   dw_val_struct::dw_val_struct_union::dw_val_vms_delta_union   ipa_dfs_info   phiprop_d   tm_memop   
bb_info   dw_vec_struct   ipa_edge_args   plugin_argument   tm_memop_hasher   
bb_pbb_def   dwarf_file_data   ipa_jump_func   plugin_gcc_version   tm_memopt_bitmaps   
bb_pbb_hasher   
  E  
ipa_known_agg_contents_list   plugin_info   tm_new_mem_map   
bb_predicate_s   ipa_known_type_data   plugin_name_args   tm_region   
bb_rename_info   edge_def   ipa_node_params   pointer_hash   tm_restart_node   
bbro_basic_block_data_def   edge_def::edge_def_insns   ipa_opt_pass_d   pointer_map   tms   
bit_field_mode_iterator   edge_equivalency   ipa_param_descriptor   pointer_map_t   to_inherit   
bitmap_desc_hasher   edge_growth_cache_entry   ipa_parm_adjustment   pointer_set_t   token   
bitmap_descriptor_d   edge_info   ipa_pass_through_data   poly_bb   topo_info   
bitmap_element_def   edge_info_def   ipa_propagate_frequency_data   poly_dr   trace   
bitmap_head_def   edge_iterator   ipa_ref   poly_scattering   trace_info_hasher   
bitmap_iterator   edge_list   ipa_ref_list   polymorphic_call_target_d   transformed_insns   
bitmap_obstack   edge_prediction   ipa_reference_global_vars_info_d   polymorphic_call_target_hasher   traversal_state   
bitmap_set   eh_catch_d   ipa_reference_local_vars_info_d   position   Tree (gdbhooks)   
bitpack_d   eh_landing_pad_d   ipa_reference_optimization_summary_d   postorder_stack   tree_base   
biv_entry   eh_region_d   ipa_reference_vars_info_d   pp_wrapping_mode_t   tree_common   
biv_entry_hasher   eh_region_d::eh_region_u   ipa_replace_map   pre_expr_d   tree_complex   
block_info   eh_region_d::eh_region_u::eh_region_u_allowed   ipcp_agg_lattice   pre_expr_union_d   tree_constructor   
block_info_def   eh_region_d::eh_region_u::eh_region_u_must_not_throw   ipcp_lattice   pre_ldst_expr_hasher   tree_exp   
block_symbol   eh_region_d::eh_region_u::eh_region_u_try   ipcp_param_lattices   pred_data   tree_fixed_cst   
bounds   eh_status   ipcp_value   predicate   tree_identifier   
branch_path   eh_status::eh_status_u   ipcp_value_source   predictor_info   tree_int_cst   
btr_def_group_s   ehspec_hasher   ira_allocno   prefix_list   tree_int_map_hasher   
btr_def_s   el   ira_allocno_copy   pretty_printer   tree_list   
btr_user_s   elim_table   ira_allocno_iterator   prev_flag_edges   tree_live_info_d   
bucket   elim_table_1   ira_allocno_object_iterator   prime_ent   tree_niter_desc   
bypass_decl   eliminate_dom_walker   ira_allocno_pref   print_options   tree_real_cst   
bypass_list   elt_list   ira_copy_iterator   profile_record   tree_stmt_iterator   
  C  
elt_loc_list   ira_emit_data   prop_stats_d   tree_string   
elv_data   ira_loop_tree_node   prop_value_d   tree_type_map   
c_test   emit_note_data_def   ira_object   pseudo_slot   tree_typed   
cached_dw_loc_list_def   emit_status   ira_object_conflict_iterator   pt_solution   tree_upper_hasher   
call_arg_loc_node   eni_weights_d   ira_object_iterator   ptr_data   tree_vec   
call_site_record_d   enum_type   ira_pref_iterator   ptr_hash_entry   tree_vector   
callback_info   enum_value   ira_reg_equiv   ptr_hash_hasher   treemple   
caller_statistics   epcc_data   ira_spilled_reg_stack_slot   ptr_info_def   TreePrinter (gdbhooks)   
cand_chain_d   eqn_d   is_a_helper   ptr_loc   tsan_map_atomic   
cand_chain_hasher   equiv_class_hasher   hash_table::iterator   pubname_struct   ttypes_filter   
case_bit_test   equiv_class_label   iterator_group   
  Q  
ttypes_filter_hasher   
case_info   equiv_hash_elt   iterator_use   type   
case_node   equivalence   iv   qty_table_elem   type_change_info   
ce_if_block   et_node   iv_ca   queue_d   type_hash   
cfa_loc   et_occ   iv_ca_delta   queue_elem   typed_free_remove   
cfg_hooks   event_hasher   iv_cand   queued_debug_insn_change   typed_noop_remove   
cfg_stats_d   excl_rel_decl   iv_inv_expr_ent   queued_reg_save   typeinfo   
CfgEdgePrinter (gdbhooks)   expand_depth_struct   iv_inv_expr_hasher   
  R  
types_used_by_vars_entry   
cgraph_2edge_hook_list   expand_loc_callback_data   iv_split_hasher   
  U  
cgraph_2node_hook_list   expand_operand   iv_to_split   range_entry   
cgraph_clone_info   expand_value_data   iv_use   range_info_def   rtx_def::u   
cgraph_edge   expmed_op_cheap   ivopts_data   rdg_edge   uid_decl_hasher   
cgraph_edge_hook_list   expmed_op_costs   
  J  
rdg_vertex   uid_range   
cgraph_function_version_info   expr   read_info   uncprop_dom_walker   
cgraph_global_info   expr_elt_hasher   ipa_jump_func::jump_func_value   real_format   undo   
cgraph_indirect_call_info   expr_hash_elt   jump_thread_edge   real_value   undobuf   
cgraph_local_info   expr_hasher   
  K  
recog_data_d   unit_decl   
cgraph_node   expr_history_def_1   record_modified_bb_info   unit_pattern_rel_decl   
cgraph_node_hook_list   expr_pred_trans_d   kill_set_value_data   record_reference_ctx   unit_regexp   
cgraph_node_set_def   expr_status   
  L  
record_stack_refs_data   unit_set_el   
cgraph_node_set_iterator   ext_cand   redirection_data   unit_usage   
cgraph_order_sort   ext_modified   label_alignment   reduction_hasher   unnamed_section   
cgraph_rtl_info   ext_state   label_record   reduction_info   unoccr   
cgraph_thunk_info   external_ref   lambda_trans_matrix_s   ref_always_accessed   update_cost_queue_elem   
CGraphNodePrinter (gdbhooks)   external_ref_hasher   lang_hooks   reg_attrs   update_cost_record   
chain   extraction   lang_hooks_for_cilkplus   reg_avail_info   usage_insns   
change_cc_mode_args   extraction_insn   lang_hooks_for_decls   reg_equivs_s   use   
change_t   
  F  
lang_hooks_for_lto   reg_eqv_elem   use_optype_d   
check_dependence_data   lang_hooks_for_tree_dump   reg_info_t   use_pred_info   
checksum_attributes   fieldoff   lang_hooks_for_tree_inlining   reg_pref   user_specs   
chrec_stats   file_at_path_info   lang_hooks_for_types   reg_saved_in_data_struct   
  V  
chunk_info   file_hash_entry   laststmt_struct   reg_stat_struct   
cl_decoded_option   file_info   leh_state   reg_use   va_gc   
cl_deferred_option   file_name_acquire_data   leh_tf_state   regexp   va_gc_atomic   
cl_enum   file_name_list   libfunc_entry   register_pass_info   va_heap   
cl_enum_arg   file_stack_entry   likely_spilled_retval_info   registration_hasher   val_ssa_equiv_hasher   
cl_option   filedep   lim_aux_data   regno_assign_info   validate_replace_src_data   
cl_option_handler_func   fileloc   limbo_die_struct   regstat_n_sets_and_refs_t   value_data   
cl_option_handlers   finally_tree_hasher   line_info   rename_map_elt_s   value_data_entry   
cl_option_state   finally_tree_node   link   rename_map_hasher   value_range_d   
clear_alias_mode_holder   find_candidates_dom_walker   live_range   repeat_factor_d   var_expand_hasher   
clobber_ent   find_comparison_dom_walker   live_track_d   repeat_regexp   var_info_d   
clobber_pat   first_mem_ref_loc_1   loc   replace_label_data   var_info_hasher   
cloog_prog_clast   fixed_value   loc_desc_hasher   replacement   var_loc_list_def   
clsn_data   fixup_edge_d   loc_descriptor   res_pair   var_loc_node   
coalesce_data   fixup_graph_d   loc_exp_dep_s   reserv_decl   var_to_expand   
coalesce_list_d   fixup_vertex_d   loc_list_hasher   reserv_regexp   varasm_status   
coalesce_pair   flist_tail_def   loc_map_pair   resources   variable_part_def::variable_aux   
coalesce_pair_hasher   fmt_data   locate_and_pad_arg_data   return_statements_t   variable_def   
code_ptr   for_each_inc_dec_ops   location_chain_def   rewrite_dom_walker   variable_hasher   
color_cap   frame_space   locus_discrim_hasher   rewrite_mem_ref_loc   variable_info   
comdat_type_hasher   free_lang_data_d   locus_discrim_map   rewrite_update_dom_walker   variable_part_def   
comdat_type_struct   freeing_string_slot_hasher   log_entry_hasher   rtl_bb_info   variable_tracking_info_def   
common_info_d   full_rtx_costs   loop   rtl_data   variable_union_info   
comp_cost   funct_state_d   loop_data   rtl_eh   varpool_node   
comparison   function   loop_exit   rtl_hooks   varpool_node_hook_list   
comparison_use   function_info   loop_iterator   rtl_opt_pass   varpool_node_set_def   
compiler   function_subsections   loop_size   rtunion_def   varpool_node_set_iterator   
component   funny_match   loops   rtvec_def   vec   
cond_equivalence_s   
  G  
lower_data   Rtx (gdbhooks)   vec< T, A, vl_embed >   
condition   lower_emutls_data   rtx_constant_pool   vec< T, va_heap, vl_ptr >   
conflict_function   gcc_debug_hooks   lower_subreg_choices   rtx_def   vec_descriptor   
constant_descriptor_rtx   gcov_bucket_type   lpt_decision   rtx_definition   vec_prefix   
constant_descriptor_tree   gcov_ctr_summary   lra_copy   rtx_iv   version_info   
constraint   gcov_summary   lra_insn_recog_data   rtx_subst_pair   vertex   
constraint_data   gcov_var   lra_insn_reg   RtxPrinter (gdbhooks)   vinsn_def   
constraint_expr   gcov_working_set_info   lra_live_range   
  S  
vl_embed   
constraint_graph   GdbPrettyPrinters (gdbhooks)   lra_operand_data   vl_ptr   
constraint_stats   GdbSubprinter (gdbhooks)   lra_reg   s_expr_writer   vn_constant_hasher   
constructor_elt_d   ggc_cache_tab   lra_static_insn_data   s_hook   vn_constant_s   
context (gcc)   ggc_pch_data   ls_expr   same_succ_def   vn_nary_op_hasher   
control_dependences   ggc_pch_ondisk   lst   saved_hard_reg   vn_nary_op_s   
control_flow_graph   ggc_root_tab   lto_asm_header   saving_hasher   vn_phi_hasher   
convert_optab_libcall_d   ggc_statistics   lto_buffer   sbitmap_iterator   vn_phi_s   
copy_body_data   gimple_bb   lto_char_ptr_base   scc_entry   vn_reference_hasher   
cost_classes   gimple_bb_info   lto_compression_stream   scc_info   vn_reference_op_struct   
cost_classes_hasher   gimple_df   lto_data_header   sccs   vn_reference_s   
cost_one_pair_d   gimple_omp_for_iter   lto_decl_header   scev_info_str   vn_ssa_aux   
cost_pair   gimple_opt_pass   lto_encoder_entry   scop   vn_tables_s   
cost_rtxes   gimple_predict   lto_file_decl_data   scoped_attributes   vnull   
costs   gimple_statement_asm   lto_function_header   searchc_env   vtable_registration   
count_ptr_d   gimple_statement_assign   lto_header   secondary_reload_info   vtbl_map_hasher   
count_use_info   gimple_statement_base   lto_in_decl_state   section   vtbl_map_node   
counts_entry   gimple_statement_bind   lto_input_block   section_common   vtv_graph_node   
coverage_data   gimple_statement_call   lto_object   sel_global_bb_info_def   
  W  
coverage_info   gimple_statement_catch   lto_object_list   sel_region_bb_info_def   
create_version_alias_info   gimple_statement_cond   lto_out_decl_state   separate_ops   walk_stmt_info   
csa_reflist   gimple_statement_debug   lto_output_stream   sequence_regexp   web_entry   
cse_basic_block_data   gimple_statement_dispatch   lto_simple_header   sequence_stack   
  X  
cse_reg_info   gimple_statement_eh_ctrl   lto_simple_output_block   sese_s   
cselib_hasher   gimple_statement_eh_else   lto_stats_d   set   xcallocator   
cselib_record_autoinc_data   gimple_statement_eh_filter   lto_symtab_encoder_d   set_of_data   
  _  
cselib_set   gimple_statement_eh_mnt   lto_symtab_encoder_iterator   shared_bitmap_hasher   
cselib_val_struct   gimple_statement_error_mark   lto_tree_ref_encoder   shared_bitmap_info   _bb_vec_info   
cu_hash_table_entry   gimple_statement_goto   lto_tree_ref_table   shared_hash_def   _bnd   
cu_hash_table_entry_hasher   gimple_statement_label   
  M  
simd_array_to_simduid   _def   
cumulative_args_t   gimple_statement_nop   simduid_to_vf   _DST_BLOCK_BEGIN   
  D  
gimple_statement_omp   macinfo_entry_hasher   simple_bitmap_def   _DST_BLOCK_END   
gimple_statement_omp_atomic_load   macinfo_struct   simple_ipa_opt_pass   _DST_HEADER   
data   gimple_statement_omp_atomic_store   macro_hash_value   simplify_plus_minus_op_data   _DST_LINE_NUM_HEADER   
data_dependence_relation   gimple_statement_omp_continue   map_value   single_def_use_dom_walker   _DST_MB_TRLR   
data_in   gimple_statement_omp_critical   mapping   size_time_entry   _DST_MODULE_BEGIN   
data_ref_loc_d   gimple_statement_omp_for   mark_def_dom_walker   skeleton_chain_struct   _DST_MODULE_END   
data_reference   gimple_statement_omp_master   mark_def_sites_global_data   sloc   _DST_PCLINE_COMMANDS   
datadep_stats   gimple_statement_omp_ordered   max_alignment   slot   _DST_PROLOG   
dataflow   gimple_statement_omp_parallel   md_constant   slsr_cand_d   _DST_ROUTINE_BEGIN   
dataflow_set_def   gimple_statement_omp_return   md_name   sm_set_flag_if_changed   _DST_ROUTINE_END   
dataref_aux   gimple_statement_omp_section   mdswitchstr   source_info   _DST_SOURCE_CORR   
dbx_file   gimple_statement_omp_sections   mem_addr_template   sparseset_def   _DST_SRC_CMDTRLR   
ddg   gimple_statement_omp_sections_switch   mem_address   spec_function   _DST_SRC_COMMAND   
ddg_all_sccs   gimple_statement_omp_single   mem_attrs   spec_list   _edge_var_map   
ddg_edge   gimple_statement_omp_target   mem_conflict_info   spec_path_info   _elim_graph   
ddg_node   gimple_statement_omp_task   mem_ref   split_point   _expr   
ddg_scc   gimple_statement_omp_taskgroup   mem_ref_group   sreal   _fence   
dead_debug_global   gimple_statement_omp_teams   mem_ref_hasher   ssa_conflicts_d   _list_iterator   
dead_debug_global_entry   gimple_statement_phi   mem_ref_loc   ssa_local_info_t   _list_node   
dead_debug_hash_descr   gimple_statement_resx   micro_operation_def   ssa_name_info   _loop_vec_info   
dead_debug_insn_data   gimple_statement_return   minmax_set_iterator   ssa_name_var_hash   _sel_insn_data   
dead_debug_local   gimple_statement_switch   mmap_info   ssa_names_hasher   _slp_instance   
dead_debug_use   gimple_statement_transaction   mode_adjust   ssa_operand_iterator_d   _slp_oprnd_info   
debug_prefix_map   gimple_statement_try   mode_data   ssa_operand_memory_d   _slp_tree   
decision   gimple_statement_wce   modifies_mem   ssa_operands   _stmt_info_for_cost   
decision_head   gimple_statement_with_memory_ops   modify_pair_s   ssa_use_operand_d   _stmt_vec_info   
decision_test   gimple_statement_with_memory_ops_base   move   ssaexpand   _var_map   
decl   gimple_statement_with_ops   move_by_pieces_d   st_expr   _vect_peel_extended_info   
decl_stridxlist_map   gimple_statement_with_ops_base   move_computations_dom_walker   st_expr_hasher   _vect_peel_info   
decl_table_entry   gimple_stmt_iterator_d   move_stmt_d   stack_entry   
decl_table_entry_hasher   gimple_temp_hash_elt   mult_cost   stack_usage   
decomposition   GimplePrinter (gdbhooks)   
  N  
stack_var   
def   gimplify_ctx   stack_vars_data   
name_expansion   
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | _