digraph "tcc cycles" { "asm_expr" -> "asm_expr_cmp"; "asm_expr_cmp" -> "asm_expr_sum"; "asm_expr_cmp" -> "next"; "asm_expr_logic" -> "asm_expr_prod"; "asm_expr_logic" -> "next"; "asm_expr_prod" -> "asm_expr_unary"; "asm_expr_prod" -> "next"; "asm_expr_sum" -> "asm_expr_logic"; "asm_expr_sum" -> "next"; "asm_expr_unary" -> "asm_expr"; "asm_expr_unary" -> "asm_expr_unary"; "asm_expr_unary" -> "next"; "asm_expr_unary" -> "skip"; "asm_global_instr" -> "next"; "asm_global_instr" -> "parse_asm_str"; "asm_global_instr" -> "skip"; "asm_global_instr" -> "tcc_assemble_inline"; "asm_instr" -> "next"; "asm_instr" -> "parse_asm_operands"; "asm_instr" -> "parse_asm_str"; "asm_instr" -> "skip"; "asm_instr" -> "tcc_assemble_inline"; "asm_int_expr" -> "asm_expr"; "asm_label_instr" -> "next"; "asm_label_instr" -> "parse_asm_str"; "asm_label_instr" -> "skip"; "asm_opcode" -> "next"; "asm_opcode" -> "parse_operand"; "asm_parse_directive" -> "asm_expr"; "asm_parse_directive" -> "asm_int_expr"; "asm_parse_directive" -> "next"; "asm_parse_directive" -> "set_symbol"; "asm_parse_directive" -> "skip"; "asm_parse_directive" -> "tcc_assemble_internal"; "asm_parse_reg" -> "next"; "asm_parse_regvar" -> "parse_operand"; "block" -> "asm_instr"; "block" -> "block"; "block" -> "decl"; "block" -> "decl0"; "block" -> "expr_const64"; "block" -> "gexpr"; "block" -> "lblock"; "block" -> "next"; "block" -> "skip"; "classify_x86_64_inner" -> "classify_x86_64_inner"; "compare_types" -> "is_compatible_func"; "compare_types" -> "is_compatible_types"; "decl0" -> "asm_global_instr"; "decl0" -> "asm_label_instr"; "decl0" -> "decl0"; "decl0" -> "decl_initializer_alloc"; "decl0" -> "expr_const"; "decl0" -> "gen_function"; "decl0" -> "next"; "decl0" -> "parse_attribute"; "decl0" -> "parse_btype"; "decl0" -> "skip"; "decl0" -> "skip_or_save_block"; "decl0" -> "type_decl"; "decl" -> "decl0"; "decl_designator" -> "decl_initializer"; "decl_designator" -> "expr_const"; "decl_designator" -> "next"; "decl_designator" -> "skip"; "decl_initializer_alloc" -> "asm_parse_regvar"; "decl_initializer_alloc" -> "decl_initializer"; "decl_initializer_alloc" -> "next"; "decl_initializer_alloc" -> "skip_or_save_block"; "decl_initializer" -> "decl_designator"; "decl_initializer" -> "decl_initializer"; "decl_initializer" -> "next"; "decl_initializer" -> "parse_init_elem"; "decl_initializer" -> "skip"; "decl_initializer" -> "skip_or_save_block"; "expr_and" -> "expr_cmpeq"; "expr_and" -> "next"; "expr_cmpeq" -> "expr_cmp"; "expr_cmpeq" -> "next"; "expr_cmp" -> "expr_shift"; "expr_cmp" -> "next"; "expr_cond" -> "expr_cond"; "expr_cond" -> "expr_lor"; "expr_cond" -> "gexpr"; "expr_cond" -> "next"; "expr_cond" -> "skip"; "expr_const1" -> "expr_cond"; "expr_const64" -> "expr_const1"; "expr_const" -> "expr_const64"; "expr_eq" -> "expr_cond"; "expr_eq" -> "expr_eq"; "expr_eq" -> "next"; "expr_land" -> "expr_landor"; "expr_land" -> "expr_or"; "expr_landor" -> "expr_land"; "expr_landor" -> "expr_or"; "expr_landor" -> "next"; "expr_lor" -> "expr_land"; "expr_lor" -> "expr_landor"; "expr_or" -> "expr_xor"; "expr_or" -> "next"; "expr_preprocess" -> "expr_const"; "expr_preprocess" -> "next"; "expr_preprocess" -> "next_nomacro"; "expr_prod" -> "next"; "expr_prod" -> "unary"; "expr_shift" -> "expr_sum"; "expr_shift" -> "next"; "expr_sum" -> "expr_prod"; "expr_sum" -> "next"; "expr_type" -> "expr_eq"; "expr_type" -> "gexpr"; "expr_type" -> "unary"; "expr_xor" -> "expr_and"; "expr_xor" -> "next"; "find_field" -> "find_field"; "force_charshort_cast" -> "gen_cast_s"; "gbound_args" -> "gbound"; "gbound_args" -> "vrotb"; "gbound_args" -> "vrott"; "gbound" -> "gen_bounded_ptr_add"; "gbound" -> "vpushi"; "gcase" -> "gcase"; "gen_assign_cast" -> "gen_cast"; "gen_bounded_ptr_add" -> "gfunc_call"; "gen_bounded_ptr_add" -> "vpush_global_sym"; "gen_bounded_ptr_add" -> "vpushi"; "gen_bounded_ptr_add" -> "vrott"; "gen_cast" -> "force_charshort_cast"; "gen_cast" -> "gen_cvt_csti"; "gen_cast" -> "gen_cvt_ftof"; "gen_cast" -> "gen_cvt_ftoi1"; "gen_cast" -> "gen_cvt_itof1"; "gen_cast" -> "gen_cvt_sxtw"; "gen_cast" -> "gen_op"; "gen_cast" -> "gen_test_zero"; "gen_cast" -> "gv"; "gen_cast_s" -> "gen_cast"; "gen_cast" -> "vpushi"; "gen_cvt_csti" -> "gv"; "gen_cvt_ftof" -> "gv"; "gen_cvt_ftoi1" -> "gen_cvt_ftoi"; "gen_cvt_ftoi1" -> "gfunc_call"; "gen_cvt_ftoi1" -> "vpush_global_sym"; "gen_cvt_ftoi1" -> "vpushi"; "gen_cvt_ftoi1" -> "vrott"; "gen_cvt_ftoi" -> "gen_cvt_ftof"; "gen_cvt_ftoi" -> "gv"; "gen_cvt_itof1" -> "gen_cvt_itof"; "gen_cvt_itof1" -> "gfunc_call"; "gen_cvt_itof1" -> "vpush_global_sym"; "gen_cvt_itof1" -> "vpushi"; "gen_cvt_itof1" -> "vrott"; "gen_cvt_itof" -> "gv"; "gen_cvt_sxtw" -> "gv"; "gen_function" -> "block"; "gen_opf" -> "gv"; "gen_opf" -> "vswap"; "gen_op" -> "gen_bounded_ptr_add"; "gen_op" -> "gen_cast"; "gen_op" -> "gen_op"; "gen_op" -> "gen_opic"; "gen_op" -> "gen_opif"; "gen_op" -> "gv"; "gen_opic" -> "gen_opi"; "gen_opic" -> "gen_opl"; "gen_opic" -> "vswap"; "gen_opif" -> "gen_opf"; "gen_opi" -> "gv"; "gen_opi" -> "gv2"; "gen_opi" -> "vswap"; "gen_opl" -> "gen_opi"; "gen_op" -> "vla_runtime_pointed_size"; "gen_op" -> "vpushi"; "gen_op" -> "vpushll"; "gen_op" -> "vrott"; "gen_op" -> "vswap"; "gen_test_zero" -> "gen_op"; "gen_test_zero" -> "vpushi"; "get_reg_shift" -> "asm_int_expr"; "gexpr" -> "expr_eq"; "gexpr" -> "next"; "gfunc_call" -> "gbound_args"; "gfunc_call" -> "gv"; "gfunc_call" -> "vrotb"; "gfunc_call" -> "vset"; "gfunc_call" -> "vstore"; "gfunc_call" -> "vswap"; "gv2" -> "gv"; "gv2" -> "vswap"; "gv_dup" -> "gv"; "gv" -> "gbound"; "gv" -> "gen_cast"; "gv" -> "gen_op"; "gv" -> "gv"; "gv" -> "init_putv"; "gv" -> "load_packed_bf"; "gvtst" -> "gvtst_set"; "gvtst_set" -> "gen_op"; "gvtst_set" -> "vpushi"; "gv" -> "vpushi"; "gv" -> "vpush_ref"; "gv" -> "vpushs"; "gv" -> "vset_VT_JMP"; "gv" -> "vswap"; "incr_bf_adr" -> "gen_op"; "incr_bf_adr" -> "vpushs"; "init_putv" -> "gen_assign_cast"; "init_putv" -> "vset"; "init_putv" -> "vstore"; "init_putv" -> "vswap"; "is_compatible_func" -> "is_compatible_unqualified_types"; "is_compatible_types" -> "compare_types"; "is_compatible_unqualified_types" -> "compare_types"; "lblock" -> "block"; "ld_add_file_list" -> "ld_add_file"; "ld_add_file_list" -> "ld_add_file_list"; "ld_add_file" -> "tcc_add_dll"; "ld_add_file" -> "tcc_add_file_internal"; "load" -> "load"; "load_packed_bf" -> "gen_cast"; "load_packed_bf" -> "gen_op"; "load_packed_bf" -> "incr_bf_adr"; "load_packed_bf" -> "vpush64"; "load_packed_bf" -> "vpushi"; "load_packed_bf" -> "vrotb"; "load_packed_bf" -> "vswap"; "macro_arg_subst" -> "macro_subst"; "macro_subst" -> "macro_subst_tok"; "macro_subst_tok" -> "macro_arg_subst"; "macro_subst_tok" -> "macro_subst"; "macro_subst_tok" -> "macro_twosharps"; "macro_subst_tok" -> "next_argstream"; "macro_subst_tok" -> "next_nomacro"; "macro_twosharps" -> "paste_tokens"; "next_argstream" -> "next_nomacro_spc"; "next" -> "macro_subst_tok"; "next" -> "next_nomacro"; "next" -> "next_nomacro_spc"; "next_nomacro1" -> "preprocess"; "next_nomacro" -> "next_nomacro_spc"; "next_nomacro_spc" -> "next_nomacro1"; "parse_asm_operands" -> "gexpr"; "parse_asm_operands" -> "next"; "parse_asm_operands" -> "parse_mult_str"; "parse_asm_operands" -> "skip"; "parse_asm_str" -> "parse_mult_str"; "parse_asm_str" -> "skip"; "parse_attribute" -> "expr_const"; "parse_attribute" -> "next"; "parse_attribute" -> "parse_mult_str"; "parse_attribute" -> "skip"; "parse_btype" -> "expr_const"; "parse_btype" -> "next"; "parse_btype" -> "parse_attribute"; "parse_btype" -> "parse_btype"; "parse_btype" -> "parse_expr_type"; "parse_btype" -> "skip"; "parse_btype" -> "struct_decl"; "parse_btype" -> "type_decl"; "parse_builtin_params" -> "expr_eq"; "parse_builtin_params" -> "next"; "parse_builtin_params" -> "parse_type"; "parse_builtin_params" -> "skip"; "parse_define" -> "next_nomacro"; "parse_define" -> "next_nomacro_spc"; "parse_expr_type" -> "expr_type"; "parse_expr_type" -> "parse_btype"; "parse_expr_type" -> "skip"; "parse_expr_type" -> "type_decl"; "parse_init_elem" -> "expr_const1"; "parse_init_elem" -> "expr_eq"; "parse_mult_str" -> "next"; "parse_operand" -> "asm_expr"; "parse_operand" -> "asm_parse_reg"; "parse_operand" -> "get_reg_shift"; "parse_operand" -> "next"; "parse_operand" -> "skip"; "parse_type" -> "parse_btype"; "parse_type" -> "type_decl"; "paste_tokens" -> "next_nomacro1"; "post_type" -> "expr_const"; "post_type" -> "gexpr"; "post_type" -> "next"; "post_type" -> "parse_btype"; "post_type" -> "post_type"; "post_type" -> "skip"; "post_type" -> "type_decl"; "pragma_parse" -> "next"; "pragma_parse" -> "next_nomacro"; "pragma_parse" -> "skip"; "preprocess" -> "expr_preprocess"; "preprocess" -> "next"; "preprocess" -> "next_nomacro"; "preprocess" -> "parse_define"; "preprocess" -> "pragma_parse"; "preprocess" -> "preprocess_skip"; "preprocess_skip" -> "next_nomacro"; "set_symbol" -> "asm_expr"; "set_symbol" -> "next"; "skip" -> "next"; "skip_or_save_block" -> "next"; "store_packed_bf" -> "gen_op"; "store_packed_bf" -> "gv_dup"; "store_packed_bf" -> "incr_bf_adr"; "store_packed_bf" -> "vpushi"; "store_packed_bf" -> "vrott"; "store_packed_bf" -> "vstore"; "store_packed_bf" -> "vswap"; "struct_decl" -> "expr_const"; "struct_decl" -> "expr_const64"; "struct_decl" -> "next"; "struct_decl" -> "parse_attribute"; "struct_decl" -> "parse_btype"; "struct_decl" -> "skip"; "struct_decl" -> "type_decl"; "sym_copy_ref" -> "sym_copy_ref"; "tal_realloc_impl" -> "tal_realloc_impl"; "tcc_add_dll" -> "tcc_add_library_internal"; "tcc_add_file_internal" -> "tcc_load_dll"; "tcc_add_file_internal" -> "tcc_load_ldscript"; "tcc_add_library_internal" -> "tcc_add_file_internal"; "tcc_assemble_inline" -> "tcc_assemble_internal"; "tcc_assemble_internal" -> "asm_opcode"; "tcc_assemble_internal" -> "asm_parse_directive"; "tcc_assemble_internal" -> "next"; "tcc_assemble_internal" -> "set_symbol"; "tcc_assemble_internal" -> "skip"; "tcc_load_dll" -> "tcc_add_dll"; "tcc_load_ldscript" -> "ld_add_file_list"; "tcc_parse_args" -> "tcc_set_options"; "tcc_set_options" -> "tcc_parse_args"; "type_decl" -> "next"; "type_decl" -> "parse_attribute"; "type_decl" -> "post_type"; "type_decl" -> "skip"; "type_decl" -> "type_decl"; "type_size" -> "type_size"; "type_to_str" -> "type_to_str"; "unary" -> "block"; "unary" -> "decl_initializer_alloc"; "unary" -> "expr_const64"; "unary" -> "expr_eq"; "unary" -> "expr_type"; "unary" -> "gexpr"; "unary" -> "next"; "unary" -> "parse_btype"; "unary" -> "parse_builtin_params"; "unary" -> "skip"; "unary" -> "skip_or_save_block"; "unary" -> "type_decl"; "unary" -> "unary"; "vcheck_cmp" -> "gv"; "vla_runtime_pointed_size" -> "vla_runtime_type_size"; "vla_runtime_type_size" -> "vpushi"; "vla_runtime_type_size" -> "vset"; "vpush64" -> "vsetc"; "vpush_global_sym" -> "vpushsym"; "vpushi" -> "vpush64"; "vpushll" -> "vpush64"; "vpush_ref" -> "vpushsym"; "vpushs" -> "vpush64"; "vpushsym" -> "vsetc"; "vrotb" -> "vcheck_cmp"; "vrote" -> "vcheck_cmp"; "vrott" -> "vrote"; "vsetc" -> "vcheck_cmp"; "vseti" -> "vset"; "vset" -> "vsetc"; "vset_VT_JMP" -> "gvtst"; "vset_VT_JMP" -> "vseti"; "vstore" -> "force_charshort_cast"; "vstore" -> "gbound"; "vstore" -> "gen_cast"; "vstore" -> "gen_op"; "vstore" -> "gfunc_call"; "vstore" -> "gv"; "vstore" -> "store_packed_bf"; "vstore" -> "vpush_global_sym"; "vstore" -> "vpushi"; "vstore" -> "vpushll"; "vstore" -> "vpushs"; "vstore" -> "vrott"; "vstore" -> "vstore"; "vstore" -> "vswap"; "vswap" -> "vcheck_cmp"; }