;;;;@@@@ GCC gengtype state
;;; DON'T EDIT THIS FILE, since generated by GCC's gengtype
;;; The format of this file is tied to a particular version of GCC.
;;; Don't parse this file wihout knowing GCC gengtype internals.
;;; This file should be parsed by the same gengtype which wrote it.

(!version  "10.2.0")
(!srcdir  "/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc")
(!languages 11 ada brig c cp d fortran go jit lto objc objcp)
(!fileslist 217
 (!srcfile 2047  "../libcpp/include/line-map.h")
 (!srcfile 2047  "../libcpp/include/cpplib.h")
 (!srcfile 2047  "input.h")
 (!srcfile 2047  "coretypes.h")
 (!file 2047  "auto-host.h")
 (!srcfile 2047  "../include/ansidecl.h")
 (!file 2047  "options.h")
 (!srcfile 2047  "config/vxworks-dummy.h")
 (!srcfile 2047  "config/dbxelf.h")
 (!srcfile 2047  "config/elfos.h")
 (!srcfile 2047  "config/arm/unknown-elf.h")
 (!srcfile 2047  "config/arm/elf.h")
 (!srcfile 2047  "config/arm/bpabi.h")
 (!srcfile 2047  "config/newlib-stdint.h")
 (!srcfile 2047  "config/arm/aout.h")
 (!srcfile 2047  "config/arm/arm.h")
 (!srcfile 2047  "config/initfini-array.h")
 (!srcfile 2047  "defaults.h")
 (!srcfile 2047  "../include/hashtab.h")
 (!srcfile 2047  "../include/splay-tree.h")
 (!srcfile 2047  "bitmap.h")
 (!srcfile 2047  "wide-int.h")
 (!srcfile 2047  "alias.h")
 (!srcfile 2047  "coverage.c")
 (!srcfile 2047  "rtl.h")
 (!srcfile 2047  "optabs.h")
 (!srcfile 2047  "tree.h")
 (!srcfile 2047  "tree-core.h")
 (!srcfile 2047  "libfuncs.h")
 (!srcfile 2047  "../libcpp/include/symtab.h")
 (!srcfile 2047  "../include/obstack.h")
 (!srcfile 2047  "real.h")
 (!srcfile 2047  "function.h")
 (!srcfile 2047  "insn-addr.h")
 (!srcfile 2047  "hwint.h")
 (!srcfile 2047  "fixed-value.h")
 (!srcfile 2047  "function-abi.h")
 (!srcfile 2047  "output.h")
 (!srcfile 2047  "cfgloop.h")
 (!srcfile 2047  "cfg.h")
 (!srcfile 2047  "profile-count.h")
 (!srcfile 2047  "cselib.h")
 (!srcfile 2047  "basic-block.h")
 (!srcfile 2047  "ipa-ref.h")
 (!srcfile 2047  "cgraph.h")
 (!srcfile 2047  "reload.h")
 (!srcfile 2047  "caller-save.c")
 (!srcfile 2047  "symtab.c")
 (!srcfile 2047  "alias.c")
 (!srcfile 2047  "bitmap.c")
 (!srcfile 2047  "cselib.c")
 (!srcfile 2047  "cgraph.c")
 (!srcfile 2047  "ipa-prop.c")
 (!srcfile 2047  "ipa-cp.c")
 (!srcfile 2047  "ipa-utils.h")
 (!srcfile 2047  "ipa-param-manipulation.h")
 (!srcfile 2047  "ipa-sra.c")
 (!srcfile 2047  "dbxout.c")
 (!srcfile 2047  "signop.h")
 (!srcfile 2047  "dwarf2out.h")
 (!srcfile 2047  "dwarf2asm.c")
 (!srcfile 2047  "dwarf2cfi.c")
 (!srcfile 2047  "dwarf2out.c")
 (!srcfile 2047  "tree-vect-generic.c")
 (!srcfile 2047  "dojump.c")
 (!srcfile 2047  "emit-rtl.h")
 (!srcfile 2047  "emit-rtl.c")
 (!srcfile 2047  "except.h")
 (!srcfile 2047  "explow.c")
 (!srcfile 2047  "expr.c")
 (!srcfile 2047  "expr.h")
 (!srcfile 2047  "function.c")
 (!srcfile 2047  "except.c")
 (!srcfile 2047  "ggc-tests.c")
 (!srcfile 2047  "gcse.c")
 (!srcfile 2047  "godump.c")
 (!srcfile 2047  "lists.c")
 (!srcfile 2047  "optabs-libfuncs.c")
 (!srcfile 2047  "profile.c")
 (!srcfile 2047  "mcf.c")
 (!srcfile 2047  "reg-stack.c")
 (!srcfile 2047  "cfgrtl.c")
 (!srcfile 2047  "stor-layout.c")
 (!srcfile 2047  "stringpool.c")
 (!srcfile 2047  "tree.c")
 (!srcfile 2047  "varasm.c")
 (!srcfile 2047  "gimple.h")
 (!srcfile 2047  "gimple-ssa.h")
 (!srcfile 2047  "tree-ssanames.c")
 (!srcfile 2047  "tree-eh.c")
 (!srcfile 2047  "tree-ssa-address.c")
 (!srcfile 2047  "tree-cfg.c")
 (!srcfile 2047  "tree-ssa-loop-ivopts.c")
 (!srcfile 2047  "tree-dfa.c")
 (!srcfile 2047  "tree-iterator.c")
 (!srcfile 2047  "gimple-expr.c")
 (!srcfile 2047  "tree-chrec.h")
 (!srcfile 2047  "tree-scalar-evolution.c")
 (!srcfile 2047  "tree-ssa-operands.h")
 (!srcfile 2047  "tree-profile.c")
 (!srcfile 2047  "tree-nested.c")
 (!srcfile 2047  "omp-offload.h")
 (!srcfile 2047  "omp-offload.c")
 (!srcfile 2047  "omp-expand.c")
 (!srcfile 2047  "omp-low.c")
 (!srcfile 2047  "targhooks.c")
 (!srcfile 2047  "config/arm/arm.c")
 (!srcfile 2047  "passes.c")
 (!srcfile 2047  "cgraphunit.c")
 (!srcfile 2047  "cgraphclones.c")
 (!srcfile 2047  "tree-phinodes.c")
 (!srcfile 2047  "tree-ssa-alias.h")
 (!srcfile 2047  "tree-ssanames.h")
 (!srcfile 2047  "tree-vrp.h")
 (!srcfile 2047  "ipa-prop.h")
 (!srcfile 2047  "trans-mem.c")
 (!srcfile 2047  "lto-streamer.h")
 (!srcfile 2047  "target-globals.h")
 (!srcfile 2047  "ipa-predicate.h")
 (!srcfile 2047  "ipa-fnsummary.h")
 (!srcfile 2047  "value-range.h")
 (!srcfile 2047  "vtable-verify.c")
 (!srcfile 2047  "asan.c")
 (!srcfile 2047  "ubsan.c")
 (!srcfile 2047  "tsan.c")
 (!srcfile 2047  "sanopt.c")
 (!srcfile 2047  "sancov.c")
 (!srcfile 2047  "ipa-devirt.c")
 (!srcfile 2047  "internal-fn.h")
 (!srcfile 2047  "hsa-common.c")
 (!srcfile 2047  "calls.c")
 (!srcfile 2047  "omp-general.h")
 (!srcfile 2047  "config/arm/arm-builtins.c")
 (!srcfile 1  "ada/gcc-interface/ada-tree.h")
 (!srcfile 1  "ada/gcc-interface/gigi.h")
 (!srcfile 1  "ada/gcc-interface/decl.c")
 (!srcfile 1  "ada/gcc-interface/trans.c")
 (!srcfile 1  "ada/gcc-interface/utils.c")
 (!srcfile 1  "ada/gcc-interface/misc.c")
 (!srcfile 2  "brig/brig-lang.c")
 (!srcfile 2  "brig/brig-c.h")
 (!srcfile 4  "c/c-lang.c")
 (!srcfile 516  "c/c-tree.h")
 (!srcfile 516  "c/c-decl.c")
 (!srcfile 1548  "c-family/c-common.c")
 (!srcfile 1548  "c-family/c-common.h")
 (!srcfile 1548  "c-family/c-objc.h")
 (!srcfile 1548  "c-family/c-cppbuiltin.c")
 (!srcfile 1548  "c-family/c-pragma.h")
 (!srcfile 1548  "c-family/c-pragma.c")
 (!srcfile 1548  "c-family/c-format.c")
 (!srcfile 516  "c/c-objc-common.c")
 (!srcfile 516  "c/c-parser.h")
 (!srcfile 516  "c/c-parser.c")
 (!srcfile 516  "c/c-lang.h")
 (!srcfile 1032  "cp/name-lookup.h")
 (!srcfile 1032  "cp/cp-tree.h")
 (!srcfile 1032  "cp/decl.h")
 (!srcfile 1032  "cp/parser.h")
 (!srcfile 1032  "cp/call.c")
 (!srcfile 1032  "cp/class.c")
 (!srcfile 1032  "cp/constexpr.c")
 (!srcfile 1032  "cp/constraint.cc")
 (!srcfile 1032  "cp/coroutines.cc")
 (!srcfile 1032  "cp/cp-gimplify.c")
 (!srcfile 8  "cp/cp-lang.c")
 (!srcfile 1032  "cp/cp-objcp-common.c")
 (!srcfile 1032  "cp/decl.c")
 (!srcfile 1032  "cp/decl2.c")
 (!srcfile 1032  "cp/except.c")
 (!srcfile 1032  "cp/friend.c")
 (!srcfile 1032  "cp/init.c")
 (!srcfile 1032  "cp/lambda.c")
 (!srcfile 1032  "cp/lex.c")
 (!srcfile 1032  "cp/logic.cc")
 (!srcfile 1032  "cp/mangle.c")
 (!srcfile 1032  "cp/method.c")
 (!srcfile 1032  "cp/name-lookup.c")
 (!srcfile 1032  "cp/parser.c")
 (!srcfile 1032  "cp/pt.c")
 (!srcfile 1032  "cp/rtti.c")
 (!srcfile 1032  "cp/semantics.c")
 (!srcfile 1032  "cp/tree.c")
 (!srcfile 1032  "cp/typeck2.c")
 (!srcfile 1032  "cp/vtable-class-hierarchy.c")
 (!srcfile 16  "d/d-tree.h")
 (!srcfile 16  "d/d-builtins.cc")
 (!srcfile 16  "d/d-lang.cc")
 (!srcfile 16  "d/modules.cc")
 (!srcfile 16  "d/typeinfo.cc")
 (!srcfile 32  "fortran/f95-lang.c")
 (!srcfile 32  "fortran/trans-decl.c")
 (!srcfile 32  "fortran/trans-intrinsic.c")
 (!srcfile 32  "fortran/trans-io.c")
 (!srcfile 32  "fortran/trans-stmt.c")
 (!srcfile 32  "fortran/trans-types.c")
 (!srcfile 32  "fortran/trans-types.h")
 (!srcfile 32  "fortran/trans.h")
 (!srcfile 32  "fortran/trans-const.h")
 (!srcfile 64  "go/go-lang.c")
 (!srcfile 64  "go/go-c.h")
 (!srcfile 128  "jit/dummy-frontend.c")
 (!srcfile 256  "lto/lto-tree.h")
 (!srcfile 256  "lto/lto-lang.c")
 (!srcfile 256  "lto/lto.c")
 (!srcfile 256  "lto/lto.h")
 (!srcfile 256  "lto/lto-common.h")
 (!srcfile 256  "lto/lto-common.c")
 (!srcfile 256  "lto/lto-dump.c")
 (!srcfile 1536  "objc/objc-map.h")
 (!srcfile 1536  "objc/objc-act.h")
 (!srcfile 1536  "objc/objc-act.c")
 (!srcfile 1536  "objc/objc-runtime-shared-support.c")
 (!srcfile 1536  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 1536  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 1536  "objc/objc-next-runtime-abi-02.c")
 (!srcfile 1024  "objcp/objcp-lang.c")
)
(!structures 1613
 
 (!type struct 1 nil  gc_used "source_range"
  (!srcfileloc  "../libcpp/include/line-map.h" 749)
  (!fields 2 
   (!pair  "m_start"
    (!type scalar_nonchar 2 
     (!type pointer 3 
      (!type pointer 4 nil  gc_unused
       (!type already_seen 3)
      )
      gc_used
      (!type already_seen 2)
     )
     gc_pointed_to)
    (!srcfileloc  "../libcpp/include/line-map.h" 321)
    nil )
   (!pair  "m_finish"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 322)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 5 nil  gc_used "line_map"
  (!srcfileloc  "../libcpp/include/line-map.h" 388)
  (!fields 1 
   (!pair  "start_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 385)
    nil )
  )
  (!options 
   (!option desc string  "MAP_ORDINARY_P (&%h) ? 1 : 2")
   (!option tag string  "0")
  )
  2047 nil nil )
 
 (!type struct 6 
  (!type pointer 7 nil  gc_unused
   (!type already_seen 6)
  )
  gc_used "line_map_ordinary"
  (!srcfileloc  "../libcpp/include/line-map.h" 718)
  (!fields 7 
   (!pair  "reason"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 408)
    nil )
   (!pair  "sysp"
    (!type scalar_char 8 
     (!type pointer 9 
      (!type pointer 10 nil  gc_unused
       (!type already_seen 9)
      )
      gc_unused
      (!type already_seen 8)
     )
     gc_used)
    (!srcfileloc  "../libcpp/include/line-map.h" 414)
    nil )
   (!pair  "m_column_and_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 418)
    nil )
   (!pair  "m_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 433)
    nil )
   (!pair  "to_file"
    (!type string 11 nil  gc_used)
    (!srcfileloc  "../libcpp/include/line-map.h" 437)
    nil )
   (!pair  "to_line"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 438)
    nil )
   (!pair  "included_from"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 443)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 5)
 )
 
 (!type struct 12 
  (!type pointer 13 
   (!type pointer 14 nil  gc_unused
    (!type already_seen 13)
   )
   gc_unused
   (!type already_seen 12)
  )
  gc_used "cpp_hashnode"
  (!srcfileloc  "../libcpp/include/cpplib.h" 901)
  (!fields 7 
   (!pair  "ident"
    (!type struct 15 
     (!type pointer 16 
      (!type pointer 17 nil  gc_unused
       (!type already_seen 16)
      )
      gc_unused
      (!type already_seen 15)
     )
     gc_used "ht_identifier"
     (!srcfileloc  "../libcpp/include/symtab.h" 35)
     (!fields 3 
      (!pair  "str"
       (!type already_seen 11)
       (!srcfileloc  "../libcpp/include/symtab.h" 32)
       nil )
      (!pair  "len"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/symtab.h" 33)
       nil )
      (!pair  "hash_value"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/symtab.h" 34)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "../libcpp/include/cpplib.h" 889)
    nil )
   (!pair  "is_directive"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 890)
    nil )
   (!pair  "directive_index"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 891)
    nil )
   (!pair  "rid_code"
    (!type already_seen 8)
    (!srcfileloc  "../libcpp/include/cpplib.h" 894)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 895)
    nil )
   (!pair  "flags"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 896)
    nil )
   (!pair  "value"
    (!type union 18 nil  gc_used "_cpp_hashnode_value"
     (!srcfileloc  "../libcpp/include/cpplib.h" 886)
     (!fields 4 
      (!pair  "answers"
       (!type pointer 19 nil  gc_used
        (!type struct 20 
         (!type already_seen 19)
         gc_pointed_to "cpp_macro"
         (!srcfileloc  "../libcpp/include/cpplib.h" 819)
         (!fields 12 
          (!pair  "parm"
           (!type union 21 nil  gc_used "cpp_parm_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 772)
            (!fields 2 
             (!pair  "params"
              (!type already_seen 14)
              (!srcfileloc  "../libcpp/include/cpplib.h" 768)
              (!options 
               (!option length string  "%1.paramc")
               (!option nested_ptr nested 
                (!type union 22 
                 (!type pointer 23 
                  (!type pointer 24 nil  gc_used
                   (!type already_seen 23)
                  )
                  gc_pointed_to
                  (!type already_seen 22)
                 )
                 gc_pointed_to "tree_node"
                 (!srcfileloc  "tree-core.h" 2014)
                 (!fields 39 
                  (!pair  "base"
                   (!type struct 25 nil  gc_used "tree_base"
                    (!srcfileloc  "tree-core.h" 1074)
                    (!fields 18 
                     (!pair  "code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 966)
                      nil )
                     (!pair  "side_effects_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 968)
                      nil )
                     (!pair  "constant_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 969)
                      nil )
                     (!pair  "addressable_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 970)
                      nil )
                     (!pair  "volatile_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 971)
                      nil )
                     (!pair  "readonly_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 972)
                      nil )
                     (!pair  "asm_written_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 973)
                      nil )
                     (!pair  "nowarning_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 974)
                      nil )
                     (!pair  "visited"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 975)
                      nil )
                     (!pair  "used_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 977)
                      nil )
                     (!pair  "nothrow_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 978)
                      nil )
                     (!pair  "static_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 979)
                      nil )
                     (!pair  "public_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 980)
                      nil )
                     (!pair  "private_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 981)
                      nil )
                     (!pair  "protected_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 982)
                      nil )
                     (!pair  "deprecated_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 983)
                      nil )
                     (!pair  "default_def_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 984)
                      nil )
                     (!pair  "u"
                      (!type union 26 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:986"
                       (!srcfileloc  "tree-core.h" 1073)
                       (!fields 9 
                        (!pair  "bits"
                         (!type struct 27 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:989"
                          (!srcfileloc  "tree-core.h" 1012)
                          (!fields 16 
                           (!pair  "lang_flag_0"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 990)
                            nil )
                           (!pair  "lang_flag_1"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 991)
                            nil )
                           (!pair  "lang_flag_2"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 992)
                            nil )
                           (!pair  "lang_flag_3"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 993)
                            nil )
                           (!pair  "lang_flag_4"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 994)
                            nil )
                           (!pair  "lang_flag_5"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 995)
                            nil )
                           (!pair  "lang_flag_6"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 996)
                            nil )
                           (!pair  "saturating_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 997)
                            nil )
                           (!pair  "unsigned_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 999)
                            nil )
                           (!pair  "packed_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1000)
                            nil )
                           (!pair  "user_align"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1001)
                            nil )
                           (!pair  "nameless_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1002)
                            nil )
                           (!pair  "atomic_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1003)
                            nil )
                           (!pair  "spare0"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1004)
                            nil )
                           (!pair  "spare1"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1006)
                            nil )
                           (!pair  "address_space"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1011)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1012)
                         nil )
                        (!pair  "int_length"
                         (!type struct 28 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1019"
                          (!srcfileloc  "tree-core.h" 1033)
                          (!fields 3 
                           (!pair  "unextended"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1022)
                            nil )
                           (!pair  "extended"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1026)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1032)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1033)
                         nil )
                        (!pair  "length"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1036)
                         nil )
                        (!pair  "vector_cst"
                         (!type struct 29 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1039"
                          (!srcfileloc  "tree-core.h" 1048)
                          (!fields 3 
                           (!pair  "log2_npatterns"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1041)
                            nil )
                           (!pair  "nelts_per_pattern"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1044)
                            nil )
                           (!pair  "unused"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1047)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1048)
                         nil )
                        (!pair  "version"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1051)
                         nil )
                        (!pair  "chrec_var"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1054)
                         nil )
                        (!pair  "ifn"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1057)
                         nil )
                        (!pair  "omp_atomic_memory_order"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1060)
                         nil )
                        (!pair  "dependence_info"
                         (!type struct 30 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1069"
                          (!srcfileloc  "tree-core.h" 1072)
                          (!fields 2 
                           (!pair  "clique"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1070)
                            nil )
                           (!pair  "base"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1071)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1072)
                         nil )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1073)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1971)
                   (!options 
                    (!option tag string  "TS_BASE")
                   )
                  )
                  (!pair  "typed"
                   (!type struct 31 nil  gc_used "tree_typed"
                    (!srcfileloc  "tree-core.h" 1377)
                    (!fields 2 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1375)
                      nil )
                     (!pair  "type"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1376)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1972)
                   (!options 
                    (!option tag string  "TS_TYPED")
                   )
                  )
                  (!pair  "common"
                   (!type struct 32 nil  gc_used "tree_common"
                    (!srcfileloc  "tree-core.h" 1382)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1380)
                      nil )
                     (!pair  "chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1381)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1973)
                   (!options 
                    (!option tag string  "TS_COMMON")
                   )
                  )
                  (!pair  "int_cst"
                   (!type struct 33 nil  gc_used "tree_int_cst"
                    (!srcfileloc  "tree-core.h" 1387)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1385)
                      nil )
                     (!pair  "val"
                      (!type array 34 nil  gc_used "1" 
                       (!type already_seen 2)
                      )
                      (!srcfileloc  "tree-core.h" 1386)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1974)
                   (!options 
                    (!option tag string  "TS_INT_CST")
                   )
                  )
                  (!pair  "poly_int_cst"
                   (!type struct 35 nil  gc_used "tree_poly_int_cst"
                    (!srcfileloc  "tree-core.h" 1420)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1418)
                      nil )
                     (!pair  "coeffs"
                      (!type array 36 nil  gc_used "NUM_POLY_INT_COEFFS" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1419)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1975)
                   (!options 
                    (!option tag string  "TS_POLY_INT_CST")
                   )
                  )
                  (!pair  "real_cst"
                   (!type struct 37 nil  gc_used "tree_real_cst"
                    (!srcfileloc  "tree-core.h" 1393)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1391)
                      nil )
                     (!pair  "real_cst_ptr"
                      (!type pointer 38 nil  gc_used
                       (!type struct 39 
                        (!type already_seen 38)
                        gc_pointed_to "real_value"
                        (!srcfileloc  "real.h" 57)
                        (!fields 7 
                         (!pair  "cl"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 43)
                          nil )
                         (!pair  "decimal"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 45)
                          nil )
                         (!pair  "sign"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 47)
                          nil )
                         (!pair  "signalling"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 49)
                          nil )
                         (!pair  "canonical"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 52)
                          nil )
                         (!pair  "uexp"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 54)
                          nil )
                         (!pair  "sig"
                          (!type array 40 nil  gc_used "SIGSZ" 
                           (!type already_seen 2)
                          )
                          (!srcfileloc  "real.h" 56)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1392)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1976)
                   (!options 
                    (!option tag string  "TS_REAL_CST")
                   )
                  )
                  (!pair  "fixed_cst"
                   (!type struct 41 nil  gc_used "tree_fixed_cst"
                    (!srcfileloc  "tree-core.h" 1398)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1396)
                      nil )
                     (!pair  "fixed_cst_ptr"
                      (!type pointer 42 nil  gc_used
                       (!type struct 43 
                        (!type already_seen 42)
                        gc_pointed_to "fixed_value"
                        (!srcfileloc  "fixed-value.h" 27)
                        (!fields 2 
                         (!pair  "data"
                          (!type already_seen 2)
                          (!srcfileloc  "fixed-value.h" 25)
                          nil )
                         (!pair  "mode"
                          (!type user_struct 44 nil  gc_used "pod_mode<scalar_mode>"
                           (!srcfileloc  "coretypes.h" 69)
                           (!fields 1 
                            (!pair  "scalar_mode"
                             (!type struct 45 nil  gc_used "scalar_mode"
                              (!srcfileloc  "coretypes.h" 65)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "coretypes.h" 69)
                             nil )
                           )
                          )
                          (!srcfileloc  "fixed-value.h" 26)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1397)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1977)
                   (!options 
                    (!option tag string  "TS_FIXED_CST")
                   )
                  )
                  (!pair  "vector"
                   (!type struct 46 nil  gc_used "tree_vector"
                    (!srcfileloc  "tree-core.h" 1415)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1413)
                      nil )
                     (!pair  "elts"
                      (!type array 47 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1414)
                      (!options 
                       (!option length string  "vector_cst_encoded_nelts ((tree) &%h)")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1978)
                   (!options 
                    (!option tag string  "TS_VECTOR")
                   )
                  )
                  (!pair  "string"
                   (!type struct 48 nil  gc_used "tree_string"
                    (!srcfileloc  "tree-core.h" 1404)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1401)
                      nil )
                     (!pair  "length"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1402)
                      nil )
                     (!pair  "str"
                      (!type array 49 nil  gc_used "1" 
                       (!type already_seen 8)
                      )
                      (!srcfileloc  "tree-core.h" 1403)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1979)
                   (!options 
                    (!option tag string  "TS_STRING")
                   )
                  )
                  (!pair  "complex"
                   (!type struct 50 nil  gc_used "tree_complex"
                    (!srcfileloc  "tree-core.h" 1410)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1407)
                      nil )
                     (!pair  "real"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1408)
                      nil )
                     (!pair  "imag"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1409)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1980)
                   (!options 
                    (!option tag string  "TS_COMPLEX")
                   )
                  )
                  (!pair  "identifier"
                   (!type struct 51 nil  gc_used "tree_identifier"
                    (!srcfileloc  "tree-core.h" 1425)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1423)
                      nil )
                     (!pair  "id"
                      (!type already_seen 15)
                      (!srcfileloc  "tree-core.h" 1424)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1981)
                   (!options 
                    (!option tag string  "TS_IDENTIFIER")
                   )
                  )
                  (!pair  "decl_minimal"
                   (!type struct 52 nil  gc_used "tree_decl_minimal"
                    (!srcfileloc  "tree-core.h" 1685)
                    (!fields 5 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1680)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1681)
                      nil )
                     (!pair  "uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1682)
                      nil )
                     (!pair  "name"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1683)
                      nil )
                     (!pair  "context"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1684)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1982)
                   (!options 
                    (!option tag string  "TS_DECL_MINIMAL")
                   )
                  )
                  (!pair  "decl_common"
                   (!type struct 53 nil  gc_used "tree_decl_common"
                    (!srcfileloc  "tree-core.h" 1758)
                    (!fields 36 
                     (!pair  "common"
                      (!type already_seen 52)
                      (!srcfileloc  "tree-core.h" 1688)
                      nil )
                     (!pair  "size"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1689)
                      nil )
                     (!pair  "mode"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1691)
                      nil )
                     (!pair  "nonlocal_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1693)
                      nil )
                     (!pair  "virtual_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1694)
                      nil )
                     (!pair  "ignored_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1695)
                      nil )
                     (!pair  "abstract_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1696)
                      nil )
                     (!pair  "artificial_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1697)
                      nil )
                     (!pair  "preserve_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1698)
                      nil )
                     (!pair  "debug_expr_is_from"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1699)
                      nil )
                     (!pair  "lang_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1701)
                      nil )
                     (!pair  "lang_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1702)
                      nil )
                     (!pair  "lang_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1703)
                      nil )
                     (!pair  "lang_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1704)
                      nil )
                     (!pair  "lang_flag_4"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1705)
                      nil )
                     (!pair  "lang_flag_5"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1706)
                      nil )
                     (!pair  "lang_flag_6"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1707)
                      nil )
                     (!pair  "lang_flag_7"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1708)
                      nil )
                     (!pair  "lang_flag_8"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1709)
                      nil )
                     (!pair  "decl_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1714)
                      nil )
                     (!pair  "decl_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1718)
                      nil )
                     (!pair  "decl_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1722)
                      nil )
                     (!pair  "decl_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1724)
                      nil )
                     (!pair  "gimple_reg_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1727)
                      nil )
                     (!pair  "decl_by_reference_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1729)
                      nil )
                     (!pair  "decl_read_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1731)
                      nil )
                     (!pair  "decl_nonshareable_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1734)
                      nil )
                     (!pair  "off_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1737)
                      nil )
                     (!pair  "align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1740)
                      nil )
                     (!pair  "warn_if_not_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1744)
                      nil )
                     (!pair  "pt_uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1749)
                      nil )
                     (!pair  "size_unit"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1751)
                      nil )
                     (!pair  "initial"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1752)
                      nil )
                     (!pair  "attributes"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1753)
                      nil )
                     (!pair  "abstract_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1754)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 54 nil  gc_used
                       (!type lang_struct 55 
                        (!type already_seen 54)
                        gc_pointed_to "lang_decl"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 56 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "lto/lto-tree.h" 32)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "lto/lto-tree.h" 31)
                            nil )
                          )
                          nil 256 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 57 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "jit/dummy-frontend.c" 45)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "jit/dummy-frontend.c" 44)
                            nil )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          128 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 58 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "go/go-lang.c" 58)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "go/go-lang.c" 57)
                            nil )
                          )
                          nil 64 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 59 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "fortran/trans.h" 1016)
                          (!fields 8 
                           (!pair  "saved_descriptor"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1004)
                            nil )
                           (!pair  "stringlen"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1009)
                            nil )
                           (!pair  "addr"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1010)
                            nil )
                           (!pair  "token"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1012)
                            nil )
                           (!pair  "caf_offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1012)
                            nil )
                           (!pair  "scalar_allocatable"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1013)
                            nil )
                           (!pair  "scalar_pointer"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1014)
                            nil )
                           (!pair  "optional_arg"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1015)
                            nil )
                          )
                          nil 32 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 60 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "d/d-tree.h" 270)
                          (!fields 7 
                           (!pair  "decl"
                            (!type pointer 61 nil  gc_unused
                             (!type struct 62 
                              (!type already_seen 61)
                              gc_unused "Declaration"
                              (!srcfileloc  "d/d-tree.h" 205)
                              (!fields 0 )
                              nil 16 nil nil )
                            )
                            (!srcfileloc  "d/d-tree.h" 251)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "frame_field"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 254)
                            nil )
                           (!pair  "named_result"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 257)
                            nil )
                           (!pair  "thunks"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 260)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 2)
                            (!srcfileloc  "d/d-tree.h" 263)
                            nil )
                           (!pair  "intrinsic"
                            (!type already_seen 2)
                            (!srcfileloc  "d/d-tree.h" 266)
                            nil )
                           (!pair  "frame_info"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 269)
                            nil )
                          )
                          nil 16 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 63 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "cp/cp-tree.h" 2811)
                          (!fields 1 
                           (!pair  "u"
                            (!type union 64 nil  gc_used "lang_decl_u"
                             (!srcfileloc  "cp/cp-tree.h" 2810)
                             (!fields 6 
                              (!pair  "base"
                               (!type struct 65 nil  gc_used "lang_decl_base"
                                (!srcfileloc  "cp/cp-tree.h" 2670)
                                (!fields 14 
                                 (!pair  "selector"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2654)
                                  nil )
                                 (!pair  "language"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2655)
                                  nil )
                                 (!pair  "use_template"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2656)
                                  nil )
                                 (!pair  "not_really_extern"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2657)
                                  nil )
                                 (!pair  "initialized_in_class"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2658)
                                  nil )
                                 (!pair  "threadprivate_or_deleted_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2659)
                                  nil )
                                 (!pair  "anticipated_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2660)
                                  nil )
                                 (!pair  "friend_or_tls"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2662)
                                  nil )
                                 (!pair  "unknown_bound_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2663)
                                  nil )
                                 (!pair  "odr_used"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2664)
                                  nil )
                                 (!pair  "spare"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2665)
                                  nil )
                                 (!pair  "concept_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2666)
                                  nil )
                                 (!pair  "var_declared_inline_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2667)
                                  nil )
                                 (!pair  "dependent_init_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2668)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2804)
                               (!options 
                                (!option default string  "")
                               )
                              )
                              (!pair  "min"
                               (!type struct 66 nil  gc_used "lang_decl_min"
                                (!srcfileloc  "cp/cp-tree.h" 2700)
                                (!fields 3 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2685)
                                  nil )
                                 (!pair  "template_info"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2692)
                                  nil )
                                 (!pair  "access"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2699)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2805)
                               (!options 
                                (!option tag string  "lds_min")
                               )
                              )
                              (!pair  "fn"
                               (!type struct 67 nil  gc_used "lang_decl_fn"
                                (!srcfileloc  "cp/cp-tree.h" 2763)
                                (!fields 24 
                                 (!pair  "min"
                                  (!type already_seen 66)
                                  (!srcfileloc  "cp/cp-tree.h" 2705)
                                  nil )
                                 (!pair  "ovl_op_code"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2708)
                                  nil )
                                 (!pair  "global_ctor_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2709)
                                  nil )
                                 (!pair  "global_dtor_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2710)
                                  nil )
                                 (!pair  "static_function"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2712)
                                  nil )
                                 (!pair  "pure_virtual"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2713)
                                  nil )
                                 (!pair  "defaulted_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2714)
                                  nil )
                                 (!pair  "has_in_charge_parm_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2715)
                                  nil )
                                 (!pair  "has_vtt_parm_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2716)
                                  nil )
                                 (!pair  "pending_inline_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2717)
                                  nil )
                                 (!pair  "nonconverting"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2718)
                                  nil )
                                 (!pair  "thunk_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2719)
                                  nil )
                                 (!pair  "this_thunk_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2721)
                                  nil )
                                 (!pair  "hidden_friend_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2722)
                                  nil )
                                 (!pair  "omp_declare_reduction_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2723)
                                  nil )
                                 (!pair  "has_dependent_explicit_spec_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2724)
                                  nil )
                                 (!pair  "immediate_fn_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2725)
                                  nil )
                                 (!pair  "maybe_deleted"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2726)
                                  nil )
                                 (!pair  "coroutine_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2727)
                                  nil )
                                 (!pair  "spare"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2729)
                                  nil )
                                 (!pair  "befriending_classes"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2736)
                                  nil )
                                 (!pair  "context"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2744)
                                  nil )
                                 (!pair  "u5"
                                  (!type union 68 nil  gc_used "lang_decl_u5"
                                   (!srcfileloc  "cp/cp-tree.h" 2755)
                                   (!fields 2 
                                    (!pair  "cloned_function"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/cp-tree.h" 2750)
                                     (!options 
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "fixed_offset"
                                     (!type already_seen 2)
                                     (!srcfileloc  "cp/cp-tree.h" 2754)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 1032 nil )
                                  (!srcfileloc  "cp/cp-tree.h" 2755)
                                  (!options 
                                   (!option desc string  "%1.thunk_p")
                                  )
                                 )
                                 (!pair  "u"
                                  (!type union 69 nil  gc_used "lang_decl_u3"
                                   (!srcfileloc  "cp/cp-tree.h" 2761)
                                   (!fields 2 
                                    (!pair  "pending_inline_info"
                                     (!type pointer 70 nil  gc_used
                                      (!type struct 71 
                                       (!type already_seen 70)
                                       gc_pointed_to "cp_token_cache"
                                       (!srcfileloc  "cp/parser.h" 132)
                                       (!fields 2 
                                        (!pair  "first"
                                         (!type pointer 72 nil  gc_unused
                                          (!type struct 73 
                                           (!type already_seen 72)
                                           gc_used "cp_token"
                                           (!srcfileloc  "cp/parser.h" 86)
                                           (!fields 9 
                                            (!pair  "type"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 44)
                                             nil )
                                            (!pair  "keyword"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 47)
                                             nil )
                                            (!pair  "flags"
                                             (!type already_seen 8)
                                             (!srcfileloc  "cp/parser.h" 49)
                                             nil )
                                            (!pair  "implicit_extern_c"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 51)
                                             nil )
                                            (!pair  "error_reported"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 55)
                                             nil )
                                            (!pair  "purged_p"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 59)
                                             nil )
                                            (!pair  "tree_check_p"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 60)
                                             nil )
                                            (!pair  "location"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 64)
                                             nil )
                                            (!pair  "u"
                                             (!type union 74 nil  gc_used "cp_token_value"
                                              (!srcfileloc  "cp/parser.h" 71)
                                              (!fields 2 
                                               (!pair  "tree_check_value"
                                                (!type pointer 75 nil  gc_used
                                                 (!type struct 76 
                                                  (!type already_seen 75)
                                                  gc_pointed_to "tree_check"
                                                  (!srcfileloc  "cp/parser.h" 38)
                                                  (!fields 3 
                                                   (!pair  "value"
                                                    (!type already_seen 23)
                                                    (!srcfileloc  "cp/parser.h" 32)
                                                    nil )
                                                   (!pair  "checks"
                                                    (!type pointer 77 nil  gc_used
                                                     (!type user_struct 78 
                                                      (!type already_seen 77)
                                                      gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                      (!srcfileloc  "cp/parser.h" 34)
                                                      (!fields 2 
                                                       (!pair  "va_gc"
                                                        (!type undefined 79 nil  gc_unused "va_gc"
                                                         (!srcfileloc  "rtl.h" 267)
                                                        )
                                                        (!srcfileloc  "cp/parser.h" 34)
                                                        nil )
                                                       (!pair  "deferred_access_check"
                                                        (!type struct 80 nil  gc_used "deferred_access_check"
                                                         (!srcfileloc  "cp/parser.h" 34)
                                                         (!fields 4 
                                                          (!pair  "binfo"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7102)
                                                           nil )
                                                          (!pair  "decl"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7104)
                                                           nil )
                                                          (!pair  "diag_decl"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7106)
                                                           nil )
                                                          (!pair  "loc"
                                                           (!type already_seen 2)
                                                           (!srcfileloc  "cp/cp-tree.h" 7108)
                                                           nil )
                                                         )
                                                         nil 1032 nil nil )
                                                        (!srcfileloc  "cp/parser.h" 34)
                                                        nil )
                                                      )
                                                     )
                                                    )
                                                    (!srcfileloc  "cp/parser.h" 34)
                                                    nil )
                                                   (!pair  "qualifying_scope"
                                                    (!type already_seen 23)
                                                    (!srcfileloc  "cp/parser.h" 37)
                                                    nil )
                                                  )
                                                  nil 1032 nil nil )
                                                )
                                                (!srcfileloc  "cp/parser.h" 68)
                                                (!options 
                                                 (!option tag string  "true")
                                                )
                                               )
                                               (!pair  "value"
                                                (!type already_seen 23)
                                                (!srcfileloc  "cp/parser.h" 70)
                                                (!options 
                                                 (!option tag string  "false")
                                                )
                                               )
                                              )
                                              nil 1032 nil )
                                             (!srcfileloc  "cp/parser.h" 71)
                                             (!options 
                                              (!option desc string  "%1.tree_check_p")
                                             )
                                            )
                                           )
                                           nil 1032 nil nil )
                                         )
                                         (!srcfileloc  "cp/parser.h" 126)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "last"
                                         (!type already_seen 72)
                                         (!srcfileloc  "cp/parser.h" 129)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 1032 nil nil )
                                     )
                                     (!srcfileloc  "cp/cp-tree.h" 2759)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                    (!pair  "saved_auto_return_type"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/cp-tree.h" 2760)
                                     (!options 
                                      (!option tag string  "0")
                                     )
                                    )
                                   )
                                   nil 1032 nil )
                                  (!srcfileloc  "cp/cp-tree.h" 2761)
                                  (!options 
                                   (!option desc string  "%1.pending_inline_p")
                                  )
                                 )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2806)
                               (!options 
                                (!option tag string  "lds_fn")
                               )
                              )
                              (!pair  "ns"
                               (!type struct 81 nil  gc_used "lang_decl_ns"
                                (!srcfileloc  "cp/cp-tree.h" 2778)
                                (!fields 4 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2768)
                                  nil )
                                 (!pair  "level"
                                  (!type pointer 82 nil  gc_used
                                   (!type struct 83 
                                    (!type already_seen 82)
                                    gc_pointed_to "cp_binding_level"
                                    (!srcfileloc  "cp/name-lookup.h" 240)
                                    (!fields 16 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 177)
                                      nil )
                                     (!pair  "using_directives"
                                      (!type pointer 84 nil  gc_used
                                       (!type user_struct 85 
                                        (!type already_seen 84)
                                        gc_pointed_to "vec<tree,va_gc>"
                                        (!srcfileloc  "tree-core.h" 1583)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 79)
                                          (!srcfileloc  "tree-core.h" 1583)
                                          nil )
                                         (!pair  "tree"
                                          (!type already_seen 23)
                                          (!srcfileloc  "tree-core.h" 1583)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/name-lookup.h" 180)
                                      nil )
                                     (!pair  "class_shadowed"
                                      (!type pointer 86 nil  gc_used
                                       (!type user_struct 87 
                                        (!type already_seen 86)
                                        gc_pointed_to "vec<cp_class_binding,va_gc>"
                                        (!srcfileloc  "cp/name-lookup.h" 184)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 79)
                                          (!srcfileloc  "cp/name-lookup.h" 184)
                                          nil )
                                         (!pair  "cp_class_binding"
                                          (!type struct 88 nil  gc_used "cp_class_binding"
                                           (!srcfileloc  "cp/name-lookup.h" 184)
                                           (!fields 2 
                                            (!pair  "base"
                                             (!type pointer 89 nil  gc_used
                                              (!type struct 90 
                                               (!type already_seen 89)
                                               gc_pointed_to "cxx_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 76)
                                               (!fields 6 
                                                (!pair  "previous"
                                                 (!type already_seen 89)
                                                 (!srcfileloc  "cp/name-lookup.h" 67)
                                                 nil )
                                                (!pair  "value"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "cp/name-lookup.h" 69)
                                                 nil )
                                                (!pair  "type"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "cp/name-lookup.h" 71)
                                                 nil )
                                                (!pair  "scope"
                                                 (!type already_seen 82)
                                                 (!srcfileloc  "cp/name-lookup.h" 73)
                                                 nil )
                                                (!pair  "value_is_inherited"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "cp/name-lookup.h" 74)
                                                 nil )
                                                (!pair  "is_local"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "cp/name-lookup.h" 75)
                                                 nil )
                                               )
                                               nil 1032 nil nil )
                                             )
                                             (!srcfileloc  "cp/name-lookup.h" 146)
                                             nil )
                                            (!pair  "identifier"
                                             (!type already_seen 23)
                                             (!srcfileloc  "cp/name-lookup.h" 148)
                                             nil )
                                           )
                                           nil 1032 nil nil )
                                          (!srcfileloc  "cp/name-lookup.h" 184)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/name-lookup.h" 184)
                                      nil )
                                     (!pair  "type_shadowed"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 191)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 196)
                                      nil )
                                     (!pair  "this_entity"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 200)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 82)
                                      (!srcfileloc  "cp/name-lookup.h" 203)
                                      nil )
                                     (!pair  "statement_list"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 207)
                                      nil )
                                     (!pair  "binding_depth"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 210)
                                      nil )
                                     (!pair  "kind"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 215)
                                      nil )
                                     (!pair  "explicit_spec_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 219)
                                      nil )
                                     (!pair  "keep"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 222)
                                      nil )
                                     (!pair  "more_cleanups_ok"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 226)
                                      nil )
                                     (!pair  "have_cleanups"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 227)
                                      nil )
                                     (!pair  "defining_class_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 234)
                                      nil )
                                     (!pair  "immediate_fn_ctx_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 237)
                                      nil )
                                    )
                                    nil 1032 nil nil )
                                  )
                                  (!srcfileloc  "cp/cp-tree.h" 2769)
                                  nil )
                                 (!pair  "inlinees"
                                  (!type already_seen 84)
                                  (!srcfileloc  "cp/cp-tree.h" 2772)
                                  nil )
                                 (!pair  "bindings"
                                  (!type pointer 91 nil  gc_used
                                   (!type user_struct 92 
                                    (!type already_seen 91)
                                    gc_pointed_to "hash_table<named_decl_hash>"
                                    (!srcfileloc  "cp/cp-tree.h" 2777)
                                    (!fields 1 
                                     (!pair  "named_decl_hash"
                                      (!type struct 93 nil  gc_used "named_decl_hash"
                                       (!srcfileloc  "cp/cp-tree.h" 2777)
                                       (!fields 0 )
                                       nil 1032 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 2777)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "cp/cp-tree.h" 2777)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2807)
                               (!options 
                                (!option tag string  "lds_ns")
                               )
                              )
                              (!pair  "parm"
                               (!type struct 94 nil  gc_used "lang_decl_parm"
                                (!srcfileloc  "cp/cp-tree.h" 2786)
                                (!fields 3 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2783)
                                  nil )
                                 (!pair  "level"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2784)
                                  nil )
                                 (!pair  "index"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2785)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2808)
                               (!options 
                                (!option tag string  "lds_parm")
                               )
                              )
                              (!pair  "decomp"
                               (!type struct 95 nil  gc_used "lang_decl_decomp"
                                (!srcfileloc  "cp/cp-tree.h" 2795)
                                (!fields 2 
                                 (!pair  "min"
                                  (!type already_seen 66)
                                  (!srcfileloc  "cp/cp-tree.h" 2791)
                                  nil )
                                 (!pair  "base"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2794)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2809)
                               (!options 
                                (!option tag string  "lds_decomp")
                               )
                              )
                             )
                             (!options 
                              (!option desc string  "%h.base.selector")
                             )
                             1032 nil )
                            (!srcfileloc  "cp/cp-tree.h" 2810)
                            nil )
                          )
                          nil 1032 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 96 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "c/c-lang.h" 46)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "c/c-lang.h" 45)
                            nil )
                          )
                          nil 516 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 97 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "brig/brig-lang.c" 78)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "brig/brig-lang.c" 77)
                            nil )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          2 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 98 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                          (!fields 1 
                           (!pair  "t"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                            nil )
                          )
                          nil 1 
                          (!type already_seen 55)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1757)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1983)
                   (!options 
                    (!option tag string  "TS_DECL_COMMON")
                   )
                  )
                  (!pair  "decl_with_rtl"
                   (!type struct 99 nil  gc_used "tree_decl_with_rtl"
                    (!srcfileloc  "tree-core.h" 1763)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1761)
                      nil )
                     (!pair  "rtl"
                      (!type pointer 100 
                       (!type pointer 101 nil  gc_used
                        (!type already_seen 100)
                       )
                       gc_pointed_to
                       (!type struct 102 
                        (!type already_seen 100)
                        gc_pointed_to "rtx_def"
                        (!srcfileloc  "rtl.h" 453)
                        (!fields 12 
                         (!pair  "code"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 313)
                          nil )
                         (!pair  "mode"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 316)
                          nil )
                         (!pair  "jump"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 329)
                          nil )
                         (!pair  "call"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 336)
                          nil )
                         (!pair  "unchanging"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 348)
                          nil )
                         (!pair  "volatil"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 362)
                          nil )
                         (!pair  "in_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 377)
                          nil )
                         (!pair  "used"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 386)
                          nil )
                         (!pair  "frame_related"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 395)
                          nil )
                         (!pair  "return_val"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 402)
                          nil )
                         (!pair  "u2"
                          (!type union 103 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/rtl.h:404"
                           (!srcfileloc  "rtl.h" 438)
                           (!fields 6 
                            (!pair  "original_regno"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 411)
                             nil )
                            (!pair  "insn_uid"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 414)
                             nil )
                            (!pair  "symbol_ref_flags"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 417)
                             nil )
                            (!pair  "var_location_status"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 420)
                             nil )
                            (!pair  "num_elem"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 424)
                             nil )
                            (!pair  "const_vector"
                             (!type struct 104 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/rtl.h:428"
                              (!srcfileloc  "rtl.h" 437)
                              (!fields 3 
                               (!pair  "npatterns"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 430)
                                nil )
                               (!pair  "nelts_per_pattern"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 433)
                                nil )
                               (!pair  "unused"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 436)
                                nil )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "rtl.h" 437)
                             nil )
                           )
                           nil 2047 nil )
                          (!srcfileloc  "rtl.h" 438)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "u"
                          (!type union 105 nil  gc_used "rtx_def_subunion"
                           (!srcfileloc  "rtl.h" 452)
                           (!fields 151 
                            (!pair  ""
                             (!type struct 106 nil  gc_used "rtx_def_debug_marker"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_MARKER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 107 nil  gc_used "rtx_def_debug_parameter_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_PARAMETER_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 108 nil  gc_used "rtx_def_entry_value"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ENTRY_VALUE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 109 nil  gc_used "rtx_def_debug_implicit_ptr"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_IMPLICIT_PTR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 110 nil  gc_used "rtx_def_var_location"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VAR_LOCATION")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 111 nil  gc_used "rtx_def_fma"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FMA")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 112 nil  gc_used "rtx_def_us_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 113 nil  gc_used "rtx_def_ss_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 114 nil  gc_used "rtx_def_us_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 115 nil  gc_used "rtx_def_us_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 116 nil  gc_used "rtx_def_ss_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 117 nil  gc_used "rtx_def_ss_abs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_ABS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 118 nil  gc_used "rtx_def_us_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 119 nil  gc_used "rtx_def_ss_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 120 nil  gc_used "rtx_def_ss_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 121 nil  gc_used "rtx_def_us_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 122 nil  gc_used "rtx_def_ss_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 123 nil  gc_used "rtx_def_vec_series"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_SERIES")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 124 nil  gc_used "rtx_def_vec_duplicate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_DUPLICATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 125 nil  gc_used "rtx_def_vec_concat"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_CONCAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 126 nil  gc_used "rtx_def_vec_select"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_SELECT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 127 nil  gc_used "rtx_def_vec_merge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_MERGE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 128 nil  gc_used "rtx_def_lo_sum"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LO_SUM")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 129 nil  gc_used "rtx_def_high"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "HIGH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 130 nil  gc_used "rtx_def_zero_extract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ZERO_EXTRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 131 nil  gc_used "rtx_def_sign_extract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIGN_EXTRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 132 nil  gc_used "rtx_def_parity"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PARITY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 133 nil  gc_used "rtx_def_popcount"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POPCOUNT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 134 nil  gc_used "rtx_def_ctz"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CTZ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 135 nil  gc_used "rtx_def_clz"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLZ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 136 nil  gc_used "rtx_def_clrsb"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLRSB")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 137 nil  gc_used "rtx_def_ffs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FFS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 138 nil  gc_used "rtx_def_bswap"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "BSWAP")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 139 nil  gc_used "rtx_def_sqrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SQRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 140 nil  gc_used "rtx_def_abs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ABS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 141 nil  gc_used "rtx_def_unsigned_sat_fract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_SAT_FRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 142 nil  gc_used "rtx_def_sat_fract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SAT_FRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 143 nil  gc_used "rtx_def_unsigned_fract_convert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FRACT_CONVERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 144 nil  gc_used "rtx_def_fract_convert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FRACT_CONVERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 145 nil  gc_used "rtx_def_unsigned_fix"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FIX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 146 nil  gc_used "rtx_def_unsigned_float"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FLOAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 147 nil  gc_used "rtx_def_fix"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FIX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 148 nil  gc_used "rtx_def_float"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 149 nil  gc_used "rtx_def_float_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 150 nil  gc_used "rtx_def_float_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 151 nil  gc_used "rtx_def_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 152 nil  gc_used "rtx_def_zero_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ZERO_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 153 nil  gc_used "rtx_def_sign_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIGN_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 154 nil  gc_used "rtx_def_unlt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNLT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 155 nil  gc_used "rtx_def_unle"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNLE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 156 nil  gc_used "rtx_def_ungt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNGT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 157 nil  gc_used "rtx_def_unge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNGE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 158 nil  gc_used "rtx_def_uneq"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNEQ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 159 nil  gc_used "rtx_def_ordered"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ORDERED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 160 nil  gc_used "rtx_def_unordered"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNORDERED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 161 nil  gc_used "rtx_def_ltu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LTU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 162 nil  gc_used "rtx_def_leu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LEU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 163 nil  gc_used "rtx_def_gtu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GTU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 164 nil  gc_used "rtx_def_geu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GEU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 165 nil  gc_used "rtx_def_ltgt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LTGT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 166 nil  gc_used "rtx_def_lt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 167 nil  gc_used "rtx_def_le"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 168 nil  gc_used "rtx_def_gt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 169 nil  gc_used "rtx_def_ge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 170 nil  gc_used "rtx_def_eq"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EQ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 171 nil  gc_used "rtx_def_ne"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 172 nil  gc_used "rtx_def_post_modify"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_MODIFY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 173 nil  gc_used "rtx_def_pre_modify"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_MODIFY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 174 nil  gc_used "rtx_def_post_inc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_INC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 175 nil  gc_used "rtx_def_post_dec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_DEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 176 nil  gc_used "rtx_def_pre_inc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_INC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 177 nil  gc_used "rtx_def_pre_dec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_DEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 178 nil  gc_used "rtx_def_umax"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMAX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 179 nil  gc_used "rtx_def_umin"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMIN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 180 nil  gc_used "rtx_def_smax"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SMAX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 181 nil  gc_used "rtx_def_smin"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SMIN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 182 nil  gc_used "rtx_def_rotatert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ROTATERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 183 nil  gc_used "rtx_def_lshiftrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LSHIFTRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 184 nil  gc_used "rtx_def_ashiftrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASHIFTRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 185 nil  gc_used "rtx_def_rotate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ROTATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 186 nil  gc_used "rtx_def_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 187 nil  gc_used "rtx_def_not"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NOT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 188 nil  gc_used "rtx_def_xor"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "XOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 189 nil  gc_used "rtx_def_ior"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "IOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 190 nil  gc_used "rtx_def_and"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "AND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 191 nil  gc_used "rtx_def_umod"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMOD")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 192 nil  gc_used "rtx_def_udiv"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UDIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 193 nil  gc_used "rtx_def_mod"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MOD")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 194 nil  gc_used "rtx_def_us_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 195 nil  gc_used "rtx_def_ss_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 196 nil  gc_used "rtx_def_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 197 nil  gc_used "rtx_def_us_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 198 nil  gc_used "rtx_def_ss_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 199 nil  gc_used "rtx_def_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 200 nil  gc_used "rtx_def_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 201 nil  gc_used "rtx_def_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 202 nil  gc_used "rtx_def_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 203 nil  gc_used "rtx_def_compare"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "COMPARE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 204 nil  gc_used "rtx_def_if_then_else"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "IF_THEN_ELSE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 205 nil  gc_used "rtx_def_cc0"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CC0")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 206 nil  gc_used "rtx_def_symbol_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  "block_sym"
                                (!type union 207 nil  gc_used "fake_union_1"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 1 
                                  (!pair  ""
                                   (!type struct 208 nil  gc_used "block_symbol"
                                    (!srcfileloc  "rtl.h" 245)
                                    (!fields 3 
                                     (!pair  "fld"
                                      (!type array 209 nil  gc_unused "2" 
                                       (!type undefined 210 nil  gc_unused "rtunion"
                                        (!srcfileloc  "rtl.h" 237)
                                       )
                                      )
                                      (!srcfileloc  "rtl.h" 237)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "block"
                                      (!type pointer 211 nil  gc_used
                                       (!type struct 212 
                                        (!type already_seen 211)
                                        gc_pointed_to "object_block"
                                        (!srcfileloc  "rtl.h" 278)
                                        (!fields 5 
                                         (!pair  "sect"
                                          (!type pointer 213 nil  gc_used
                                           (!type union 214 
                                            (!type already_seen 213)
                                            gc_pointed_to "section"
                                            (!srcfileloc  "output.h" 498)
                                            (!fields 4 
                                             (!pair  "common"
                                              (!type struct 215 nil  gc_used "section_common"
                                               (!srcfileloc  "output.h" 440)
                                               (!fields 1 
                                                (!pair  "flags"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 439)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 494)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                             (!pair  "named"
                                              (!type struct 216 nil  gc_used "named_section"
                                               (!srcfileloc  "output.h" 452)
                                               (!fields 3 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 444)
                                                 nil )
                                                (!pair  "name"
                                                 (!type already_seen 11)
                                                 (!srcfileloc  "output.h" 447)
                                                 nil )
                                                (!pair  "decl"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "output.h" 451)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 495)
                                              (!options 
                                               (!option tag string  "SECTION_NAMED")
                                              )
                                             )
                                             (!pair  "unnamed"
                                              (!type struct 217 nil  gc_used "unnamed_section"
                                               (!srcfileloc  "output.h" 469)
                                               (!fields 4 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 460)
                                                 nil )
                                                (!pair  "callback"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 464)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                                (!pair  "data"
                                                 (!type already_seen 3)
                                                 (!srcfileloc  "output.h" 465)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                                (!pair  "next"
                                                 (!type already_seen 213)
                                                 (!srcfileloc  "output.h" 468)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 496)
                                              (!options 
                                               (!option tag string  "SECTION_UNNAMED")
                                              )
                                             )
                                             (!pair  "noswitch"
                                              (!type struct 218 nil  gc_used "noswitch_section"
                                               (!srcfileloc  "output.h" 490)
                                               (!fields 2 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 486)
                                                 nil )
                                                (!pair  "callback"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 489)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 497)
                                              (!options 
                                               (!option tag string  "SECTION_NOSWITCH")
                                              )
                                             )
                                            )
                                            (!options 
                                             (!option for_user string  "")
                                             (!option desc string  "SECTION_STYLE (&(%h))")
                                            )
                                            2047 nil )
                                          )
                                          (!srcfileloc  "rtl.h" 251)
                                          nil )
                                         (!pair  "alignment"
                                          (!type already_seen 2)
                                          (!srcfileloc  "rtl.h" 254)
                                          nil )
                                         (!pair  "size"
                                          (!type already_seen 2)
                                          (!srcfileloc  "rtl.h" 257)
                                          nil )
                                         (!pair  "objects"
                                          (!type pointer 219 nil  gc_used
                                           (!type user_struct 220 
                                            (!type already_seen 219)
                                            gc_pointed_to "vec<rtx,va_gc>"
                                            (!srcfileloc  "rtl.h" 267)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 79)
                                              (!srcfileloc  "rtl.h" 267)
                                              nil )
                                             (!pair  "rtx"
                                              (!type already_seen 100)
                                              (!srcfileloc  "rtl.h" 267)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "rtl.h" 267)
                                          nil )
                                         (!pair  "anchors"
                                          (!type already_seen 219)
                                          (!srcfileloc  "rtl.h" 277)
                                          nil )
                                        )
                                        (!options 
                                         (!option for_user string  "")
                                        )
                                        2047 nil nil )
                                      )
                                      (!srcfileloc  "rtl.h" 240)
                                      nil )
                                     (!pair  "offset"
                                      (!type already_seen 2)
                                      (!srcfileloc  "rtl.h" 244)
                                      nil )
                                    )
                                    nil 2047 nil nil )
                                   (!srcfileloc  "gengtype.c" 1010)
                                   (!options 
                                    (!option tag string  "1")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1354)
                                (!options 
                                 (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                                )
                               )
                               (!pair  ".fld[1]."
                                (!type union 221 nil  gc_used "rtx_def_symbol_subunion"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 2 
                                  (!pair  "rt_constant"
                                   (!type pointer 222 nil  gc_used
                                    (!type struct 223 
                                     (!type already_seen 222)
                                     gc_pointed_to "constant_descriptor_rtx"
                                     (!srcfileloc  "varasm.c" 3655)
                                     (!fields 10 
                                      (!pair  "next"
                                       (!type already_seen 222)
                                       (!srcfileloc  "varasm.c" 3645)
                                       nil )
                                      (!pair  "mem"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3646)
                                       nil )
                                      (!pair  "sym"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3647)
                                       nil )
                                      (!pair  "constant"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3648)
                                       nil )
                                      (!pair  "offset"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3649)
                                       nil )
                                      (!pair  "hash"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3650)
                                       nil )
                                      (!pair  "mode"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3651)
                                       nil )
                                      (!pair  "align"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3652)
                                       nil )
                                      (!pair  "labelno"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3653)
                                       nil )
                                      (!pair  "mark"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3654)
                                       nil )
                                     )
                                     (!options 
                                      (!option for_user string  "")
                                      (!option chain_next string  "%h.next")
                                     )
                                     2047 nil nil )
                                   )
                                   (!srcfileloc  "gengtype.c" 1214)
                                   (!options 
                                    (!option tag string  "1")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1212)
                                   (!options 
                                    (!option default string  "")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SYMBOL_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 224 nil  gc_used "rtx_def_label_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LABEL_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 225 nil  gc_used "rtx_def_mem"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_mem"
                                (!type pointer 226 nil  gc_used
                                 (!type struct 227 
                                  (!type already_seen 226)
                                  gc_pointed_to "mem_attrs"
                                  (!srcfileloc  "rtl.h" 184)
                                  (!fields 8 
                                   (!pair  "expr"
                                    (!type already_seen 23)
                                    (!srcfileloc  "rtl.h" 158)
                                    nil )
                                   (!pair  "offset"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 162)
                                    nil )
                                   (!pair  "size"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 166)
                                    nil )
                                   (!pair  "alias"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 169)
                                    nil )
                                   (!pair  "align"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 174)
                                    nil )
                                   (!pair  "addrspace"
                                    (!type already_seen 8)
                                    (!srcfileloc  "rtl.h" 177)
                                    nil )
                                   (!pair  "offset_known_p"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 180)
                                    nil )
                                   (!pair  "size_known_p"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 183)
                                    nil )
                                  )
                                  nil 2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MEM")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 228 nil  gc_used "rtx_def_concatn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type pointer 229 nil  gc_used
                                 (!type struct 230 
                                  (!type already_seen 229)
                                  gc_pointed_to "rtvec_def"
                                  (!srcfileloc  "rtl.h" 738)
                                  (!fields 2 
                                   (!pair  "num_elem"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 736)
                                    nil )
                                   (!pair  "elem"
                                    (!type array 231 nil  gc_used "1" 
                                     (!type already_seen 100)
                                    )
                                    (!srcfileloc  "rtl.h" 737)
                                    (!options 
                                     (!option length string  "%h.num_elem")
                                    )
                                   )
                                  )
                                  nil 2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONCATN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 232 nil  gc_used "rtx_def_concat"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONCAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 233 nil  gc_used "rtx_def_strict_low_part"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "STRICT_LOW_PART")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 234 nil  gc_used "rtx_def_subreg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_subreg"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SUBREG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 235 nil  gc_used "rtx_def_scratch"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SCRATCH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 236 nil  gc_used "rtx_def_reg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  "reg.attrs"
                                (!type pointer 237 nil  gc_used
                                 (!type struct 238 
                                  (!type already_seen 237)
                                  gc_pointed_to "reg_attrs"
                                  (!srcfileloc  "rtl.h" 229)
                                  (!fields 2 
                                   (!pair  "decl"
                                    (!type already_seen 23)
                                    (!srcfileloc  "rtl.h" 195)
                                    nil )
                                   (!pair  "offset"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 196)
                                    nil )
                                  )
                                  (!options 
                                   (!option for_user string  "")
                                  )
                                  2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1346)
                                nil )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "REG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 239 nil  gc_used "rtx_def_pc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 240 nil  gc_used "rtx_def_const"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 241 nil  gc_used "rtx_def_const_string"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_STRING")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 242 nil  gc_used "rtx_def_const_vector"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_VECTOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 243 nil  gc_used "rtx_def_const_double"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_DOUBLE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 244 nil  gc_used "rtx_def_const_fixed"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_FIXED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 245 nil  gc_used "rtx_def_const_poly_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_POLY_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 246 nil  gc_used "rtx_def_const_wide_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_WIDE_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 247 nil  gc_used "rtx_def_const_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 248 nil  gc_used "rtx_def_trap_if"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "TRAP_IF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 249 nil  gc_used "rtx_def_eh_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EH_RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 250 nil  gc_used "rtx_def_simple_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIMPLE_RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 251 nil  gc_used "rtx_def_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 252 nil  gc_used "rtx_def_call"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CALL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 253 nil  gc_used "rtx_def_clobber"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLOBBER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 254 nil  gc_used "rtx_def_use"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "USE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 255 nil  gc_used "rtx_def_set"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SET")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 256 nil  gc_used "rtx_def_prefetch"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PREFETCH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 257 nil  gc_used "rtx_def_addr_diff_vec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 5 
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDR_DIFF_VEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 258 nil  gc_used "rtx_def_addr_vec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDR_VEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 259 nil  gc_used "rtx_def_unspec_volatile"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSPEC_VOLATILE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 260 nil  gc_used "rtx_def_unspec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSPEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 261 nil  gc_used "rtx_def_asm_operands"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASM_OPERANDS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 262 nil  gc_used "rtx_def_asm_input"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASM_INPUT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 263 nil  gc_used "rtx_def_parallel"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PARALLEL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 264 nil  gc_used "rtx_def_cond_exec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "COND_EXEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 265 nil  gc_used "rtx_def_note"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 6 
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3]."
                                (!type union 266 nil  gc_used "rtx_def_note_subunion"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 19 
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option default string  "")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_UPDATE_SJLJ_CONTEXT")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_CFI_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_CFI")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_INLINE_ENTRY")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BEGIN_STMT")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_rtx"
                                   (!type already_seen 100)
                                   (!srcfileloc  "gengtype.c" 1190)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_VAR_LOCATION")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EH_REGION_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_PROLOGUE_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1186)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BLOCK_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1186)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BLOCK_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option desc string  "NOTE_KIND (&%0)")
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type pointer 267 nil  gc_used
                                 (!type struct 268 
                                  (!type already_seen 267)
                                  gc_pointed_to "basic_block_def"
                                  (!srcfileloc  "basic-block.h" 156)
                                  (!fields 12 
                                   (!pair  "preds"
                                    (!type pointer 269 nil  gc_used
                                     (!type user_struct 270 
                                      (!type already_seen 269)
                                      gc_pointed_to "vec<edge,va_gc>"
                                      (!srcfileloc  "basic-block.h" 119)
                                      (!fields 2 
                                       (!pair  "va_gc"
                                        (!type already_seen 79)
                                        (!srcfileloc  "basic-block.h" 119)
                                        nil )
                                       (!pair  "edge"
                                        (!type pointer 271 nil  gc_used
                                         (!type user_struct 272 
                                          (!type already_seen 271)
                                          gc_pointed_to "edge_def"
                                          (!srcfileloc  "basic-block.h" 53)
                                          (!fields 0 )
                                         )
                                        )
                                        (!srcfileloc  "basic-block.h" 119)
                                        nil )
                                      )
                                     )
                                    )
                                    (!srcfileloc  "basic-block.h" 119)
                                    nil )
                                   (!pair  "succs"
                                    (!type already_seen 269)
                                    (!srcfileloc  "basic-block.h" 120)
                                    nil )
                                   (!pair  "aux"
                                    (!type already_seen 3)
                                    (!srcfileloc  "basic-block.h" 123)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "loop_father"
                                    (!type pointer 273 nil  gc_used
                                     (!type struct 274 
                                      (!type already_seen 273)
                                      gc_pointed_to "loop"
                                      (!srcfileloc  "cfgloop.h" 275)
                                      (!fields 37 
                                       (!pair  "num"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 121)
                                        nil )
                                       (!pair  "ninsns"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 124)
                                        nil )
                                       (!pair  "header"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 127)
                                        nil )
                                       (!pair  "latch"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 130)
                                        nil )
                                       (!pair  "lpt_decision"
                                        (!type struct 275 nil  gc_used "lpt_decision"
                                         (!srcfileloc  "cfgloop.h" 37)
                                         (!fields 2 
                                          (!pair  "decision"
                                           (!type already_seen 2)
                                           (!srcfileloc  "cfgloop.h" 35)
                                           nil )
                                          (!pair  "times"
                                           (!type already_seen 2)
                                           (!srcfileloc  "cfgloop.h" 36)
                                           nil )
                                         )
                                         nil 2047 nil nil )
                                        (!srcfileloc  "cfgloop.h" 133)
                                        nil )
                                       (!pair  "av_ninsns"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 136)
                                        nil )
                                       (!pair  "num_nodes"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 139)
                                        nil )
                                       (!pair  "superloops"
                                        (!type pointer 276 nil  gc_used
                                         (!type user_struct 277 
                                          (!type already_seen 276)
                                          gc_pointed_to "vec<loop_p,va_gc>"
                                          (!srcfileloc  "cfgloop.h" 142)
                                          (!fields 2 
                                           (!pair  "va_gc"
                                            (!type already_seen 79)
                                            (!srcfileloc  "cfgloop.h" 142)
                                            nil )
                                           (!pair  "loop_p"
                                            (!type already_seen 273)
                                            (!srcfileloc  "cfgloop.h" 142)
                                            nil )
                                          )
                                         )
                                        )
                                        (!srcfileloc  "cfgloop.h" 142)
                                        nil )
                                       (!pair  "inner"
                                        (!type already_seen 273)
                                        (!srcfileloc  "cfgloop.h" 145)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 273)
                                        (!srcfileloc  "cfgloop.h" 148)
                                        nil )
                                       (!pair  "aux"
                                        (!type already_seen 3)
                                        (!srcfileloc  "cfgloop.h" 151)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                       (!pair  "nb_iterations"
                                        (!type already_seen 23)
                                        (!srcfileloc  "cfgloop.h" 160)
                                        nil )
                                       (!pair  "nb_iterations_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 164)
                                        nil )
                                       (!pair  "nb_iterations_likely_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 166)
                                        nil )
                                       (!pair  "nb_iterations_estimate"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 171)
                                        nil )
                                       (!pair  "safelen"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 177)
                                        nil )
                                       (!pair  "simdlen"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 180)
                                        nil )
                                       (!pair  "constraints"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 203)
                                        nil )
                                       (!pair  "estimate_state"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 207)
                                        nil )
                                       (!pair  "any_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 209)
                                        nil )
                                       (!pair  "any_estimate"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 210)
                                        nil )
                                       (!pair  "any_likely_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 211)
                                        nil )
                                       (!pair  "can_be_parallel"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 214)
                                        nil )
                                       (!pair  "warned_aggressive_loop_optimizations"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 218)
                                        nil )
                                       (!pair  "dont_vectorize"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 221)
                                        nil )
                                       (!pair  "force_vectorize"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 224)
                                        nil )
                                       (!pair  "in_oacc_kernels_region"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 227)
                                        nil )
                                       (!pair  "finite_p"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 231)
                                        nil )
                                       (!pair  "unroll"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 237)
                                        nil )
                                       (!pair  "owned_clique"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 241)
                                        nil )
                                       (!pair  "simduid"
                                        (!type already_seen 23)
                                        (!srcfileloc  "cfgloop.h" 246)
                                        nil )
                                       (!pair  "orig_loop_num"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 256)
                                        nil )
                                       (!pair  "bounds"
                                        (!type pointer 278 nil  gc_used
                                         (!type struct 279 
                                          (!type already_seen 278)
                                          gc_pointed_to "nb_iter_bound"
                                          (!srcfileloc  "cfgloop.h" 70)
                                          (!fields 4 
                                           (!pair  "stmt"
                                            (!type pointer 280 nil  gc_used
                                             (!type struct 281 
                                              (!type already_seen 280)
                                              gc_pointed_to "gimple"
                                              (!srcfileloc  "gimple.h" 285)
                                              (!fields 15 
                                               (!pair  "code"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 226)
                                                nil )
                                               (!pair  "no_warning"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 229)
                                                nil )
                                               (!pair  "visited"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 233)
                                                nil )
                                               (!pair  "nontemporal_move"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 236)
                                                nil )
                                               (!pair  "plf"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 243)
                                                nil )
                                               (!pair  "modified"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 247)
                                                nil )
                                               (!pair  "has_volatile_ops"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 250)
                                                nil )
                                               (!pair  "pad"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 253)
                                                nil )
                                               (!pair  "subcode"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 259)
                                                nil )
                                               (!pair  "uid"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 264)
                                                nil )
                                               (!pair  "location"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 268)
                                                nil )
                                               (!pair  "num_ops"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 271)
                                                nil )
                                               (!pair  "bb"
                                                (!type already_seen 267)
                                                (!srcfileloc  "gimple.h" 275)
                                                nil )
                                               (!pair  "next"
                                                (!type already_seen 280)
                                                (!srcfileloc  "gimple.h" 283)
                                                nil )
                                               (!pair  "prev"
                                                (!type already_seen 280)
                                                (!srcfileloc  "gimple.h" 284)
                                                (!options 
                                                 (!option skip string  "")
                                                )
                                               )
                                              )
                                              (!options 
                                               (!option variable_size string  "")
                                               (!option chain_next string  "%h.next")
                                               (!option tag string  "GSS_BASE")
                                               (!option desc string  "gimple_statement_structure (&%h)")
                                              )
                                              2047 nil nil )
                                            )
                                            (!srcfileloc  "cfgloop.h" 52)
                                            nil )
                                           (!pair  "bound"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 61)
                                            nil )
                                           (!pair  "is_exit"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 66)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 278)
                                            (!srcfileloc  "cfgloop.h" 69)
                                            nil )
                                          )
                                          (!options 
                                           (!option chain_next string  "%h.next")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 259)
                                        nil )
                                       (!pair  "control_ivs"
                                        (!type pointer 282 nil  gc_used
                                         (!type struct 283 
                                          (!type already_seen 282)
                                          gc_pointed_to "control_iv"
                                          (!srcfileloc  "cfgloop.h" 114)
                                          (!fields 3 
                                           (!pair  "base"
                                            (!type already_seen 23)
                                            (!srcfileloc  "cfgloop.h" 111)
                                            nil )
                                           (!pair  "step"
                                            (!type already_seen 23)
                                            (!srcfileloc  "cfgloop.h" 112)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 282)
                                            (!srcfileloc  "cfgloop.h" 113)
                                            nil )
                                          )
                                          (!options 
                                           (!option chain_next string  "%h.next")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 262)
                                        nil )
                                       (!pair  "exits"
                                        (!type pointer 284 nil  gc_used
                                         (!type struct 285 
                                          (!type already_seen 284)
                                          gc_pointed_to "loop_exit"
                                          (!srcfileloc  "cfgloop.h" 84)
                                          (!fields 4 
                                           (!pair  "e"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 76)
                                            nil )
                                           (!pair  "prev"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 79)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 80)
                                            nil )
                                           (!pair  "next_e"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 83)
                                            nil )
                                          )
                                          (!options 
                                           (!option for_user string  "")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 265)
                                        nil )
                                       (!pair  "simple_loop_desc"
                                        (!type pointer 286 nil  gc_used
                                         (!type struct 287 
                                          (!type already_seen 286)
                                          gc_pointed_to "niter_desc"
                                          (!srcfileloc  "cfgloop.h" 497)
                                          (!fields 11 
                                           (!pair  "out_edge"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 464)
                                            nil )
                                           (!pair  "in_edge"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 467)
                                            nil )
                                           (!pair  "simple_p"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 471)
                                            nil )
                                           (!pair  "const_iter"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 474)
                                            nil )
                                           (!pair  "niter"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 477)
                                            nil )
                                           (!pair  "assumptions"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 480)
                                            nil )
                                           (!pair  "noloop_assumptions"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 484)
                                            nil )
                                           (!pair  "infinite"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 487)
                                            nil )
                                           (!pair  "signed_p"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 490)
                                            nil )
                                           (!pair  "mode"
                                            (!type struct 288 nil  gc_used "scalar_int_mode"
                                             (!srcfileloc  "coretypes.h" 66)
                                             (!fields 0 )
                                             nil 2047 nil nil )
                                            (!srcfileloc  "cfgloop.h" 493)
                                            nil )
                                           (!pair  "niter_expr"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 496)
                                            nil )
                                          )
                                          nil 2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 268)
                                        nil )
                                       (!pair  "former_header"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 274)
                                        nil )
                                      )
                                      (!options 
                                       (!option chain_next string  "%h.next")
                                      )
                                      2047 nil nil )
                                    )
                                    (!srcfileloc  "basic-block.h" 126)
                                    nil )
                                   (!pair  "dom"
                                    (!type array 289 nil  gc_unused "2" 
                                     (!type pointer 290 nil  gc_unused
                                      (!type struct 291 
                                       (!type already_seen 290)
                                       gc_unused "et_node"nil 
                                       (!fields 0 )
                                       nil 0 nil nil )
                                     )
                                    )
                                    (!srcfileloc  "basic-block.h" 129)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "prev_bb"
                                    (!type already_seen 267)
                                    (!srcfileloc  "basic-block.h" 132)
                                    nil )
                                   (!pair  "next_bb"
                                    (!type already_seen 267)
                                    (!srcfileloc  "basic-block.h" 133)
                                    nil )
                                   (!pair  "il"
                                    (!type union 292 nil  gc_used "basic_block_il_dependent"
                                     (!srcfileloc  "basic-block.h" 141)
                                     (!fields 2 
                                      (!pair  "gimple"
                                       (!type struct 293 nil  gc_used "gimple_bb_info"
                                        (!srcfileloc  "basic-block.h" 89)
                                        (!fields 2 
                                         (!pair  "seq"
                                          (!type already_seen 280)
                                          (!srcfileloc  "basic-block.h" 85)
                                          nil )
                                         (!pair  "phi_nodes"
                                          (!type already_seen 280)
                                          (!srcfileloc  "basic-block.h" 88)
                                          nil )
                                        )
                                        nil 2047 nil nil )
                                       (!srcfileloc  "basic-block.h" 136)
                                       (!options 
                                        (!option tag string  "0")
                                       )
                                      )
                                      (!pair  "x"
                                       (!type struct 294 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/basic-block.h:137"
                                        (!srcfileloc  "basic-block.h" 140)
                                        (!fields 2 
                                         (!pair  "head_"
                                          (!type pointer 295 nil  gc_used
                                           (!type struct 296 
                                            (!type already_seen 295)
                                            gc_pointed_to "rtx_insn"
                                            (!srcfileloc  "rtl.h" 574)
                                            (!fields 0 )
                                            nil 2047 nil 
                                            (!type already_seen 102)
                                           )
                                          )
                                          (!srcfileloc  "basic-block.h" 138)
                                          nil )
                                         (!pair  "rtl"
                                          (!type pointer 297 nil  gc_used
                                           (!type struct 298 
                                            (!type already_seen 297)
                                            gc_pointed_to "rtl_bb_info"
                                            (!srcfileloc  "basic-block.h" 81)
                                            (!fields 3 
                                             (!pair  "end_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 75)
                                              nil )
                                             (!pair  "header_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 79)
                                              nil )
                                             (!pair  "footer_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 80)
                                              nil )
                                            )
                                            nil 2047 nil nil )
                                          )
                                          (!srcfileloc  "basic-block.h" 139)
                                          nil )
                                        )
                                        nil 2047 nil nil )
                                       (!srcfileloc  "basic-block.h" 140)
                                       (!options 
                                        (!option tag string  "1")
                                       )
                                      )
                                     )
                                     nil 2047 nil )
                                    (!srcfileloc  "basic-block.h" 141)
                                    (!options 
                                     (!option desc string  "((%1.flags & BB_RTL) != 0)")
                                    )
                                   )
                                   (!pair  "flags"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 144)
                                    nil )
                                   (!pair  "index"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 147)
                                    nil )
                                   (!pair  "count"
                                    (!type struct 299 nil  gc_used "profile_count"
                                     (!srcfileloc  "profile-count.h" 1243)
                                     (!fields 2 
                                      (!pair  "UINT64_BIT_FIELD_ALIGN"
                                       (!type already_seen 2)
                                       (!srcfileloc  "profile-count.h" 711)
                                       nil )
                                      (!pair  "m_quality"
                                       (!type already_seen 2)
                                       (!srcfileloc  "profile-count.h" 713)
                                       nil )
                                     )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "basic-block.h" 150)
                                    nil )
                                   (!pair  "discriminator"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 155)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_prev string  "%h.prev_bb")
                                   (!option chain_next string  "%h.next_bb")
                                  )
                                  2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NOTE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 300 nil  gc_used "rtx_def_code_label"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CODE_LABEL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 301 nil  gc_used "rtx_def_barrier"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "BARRIER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 302 nil  gc_used "rtx_def_jump_table_data"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "JUMP_TABLE_DATA")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 303 nil  gc_used "rtx_def_call_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CALL_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 304 nil  gc_used "rtx_def_jump_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "JUMP_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 305 nil  gc_used "rtx_def_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 306 nil  gc_used "rtx_def_debug_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 307 nil  gc_used "rtx_def_address"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDRESS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 308 nil  gc_used "rtx_def_sequence"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SEQUENCE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 309 nil  gc_used "rtx_def_int_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INT_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 310 nil  gc_used "rtx_def_insn_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INSN_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 311 nil  gc_used "rtx_def_expr_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EXPR_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 312 nil  gc_used "rtx_def_debug_expr"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_EXPR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 313 nil  gc_used "rtx_def_value"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VALUE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 314 nil  gc_used "rtx_def_UnKnown"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNKNOWN")
                              (!option dot string  "")
                             )
                            )
                           )
                           (!options 
                            (!option dot string  "")
                           )
                           2047 nil )
                          (!srcfileloc  "rtl.h" 452)
                          (!options 
                           (!option desc string  "GET_CODE (&%0)")
                           (!option special string  "rtx_def")
                          )
                         )
                        )
                        (!options 
                         (!option chain_prev string  "RTX_PREV (&%h)")
                         (!option chain_next string  "RTX_NEXT (&%h)")
                         (!option tag string  "0")
                         (!option desc string  "0")
                        )
                        2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1762)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1984)
                   (!options 
                    (!option tag string  "TS_DECL_WRTL")
                   )
                  )
                  (!pair  "decl_non_common"
                   (!type struct 315 nil  gc_used "tree_decl_non_common"
                    (!srcfileloc  "tree-core.h" 1838)
                    (!fields 2 
                     (!pair  "common"
                      (!type struct 316 nil  gc_used "tree_decl_with_vis"
                       (!srcfileloc  "tree-core.h" 1828)
                       (!fields 20 
                        (!pair  "common"
                         (!type already_seen 99)
                         (!srcfileloc  "tree-core.h" 1795)
                         nil )
                        (!pair  "assembler_name"
                         (!type already_seen 23)
                         (!srcfileloc  "tree-core.h" 1796)
                         nil )
                        (!pair  "symtab_node"
                         (!type pointer 317 nil  gc_used
                          (!type struct 318 
                           (!type already_seen 317)
                           gc_pointed_to "symtab_node"
                           (!srcfileloc  "cgraph.h" 661)
                           (!fields 41 
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 161)
                             nil )
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 164)
                             nil )
                            (!pair  "type"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 473)
                             nil )
                            (!pair  "resolution"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 476)
                             nil )
                            (!pair  "definition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 482)
                             nil )
                            (!pair  "alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 485)
                             nil )
                            (!pair  "transparent_alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 507)
                             nil )
                            (!pair  "weakref"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 509)
                             nil )
                            (!pair  "cpp_implicit_alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 516)
                             nil )
                            (!pair  "symver"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 518)
                             nil )
                            (!pair  "analyzed"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 521)
                             nil )
                            (!pair  "writeonly"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 523)
                             nil )
                            (!pair  "refuse_visibility_changes"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 526)
                             nil )
                            (!pair  "externally_visible"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 531)
                             nil )
                            (!pair  "no_reorder"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 533)
                             nil )
                            (!pair  "force_output"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 536)
                             nil )
                            (!pair  "forced_by_abi"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 540)
                             nil )
                            (!pair  "unique_name"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 542)
                             nil )
                            (!pair  "implicit_section"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 545)
                             nil )
                            (!pair  "body_removed"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 548)
                             nil )
                            (!pair  "used_from_other_partition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 555)
                             nil )
                            (!pair  "in_other_partition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 559)
                             nil )
                            (!pair  "address_taken"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 566)
                             nil )
                            (!pair  "in_init_priority_hash"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 568)
                             nil )
                            (!pair  "need_lto_streaming"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 572)
                             nil )
                            (!pair  "offloadable"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 575)
                             nil )
                            (!pair  "ifunc_resolver"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 578)
                             nil )
                            (!pair  "order"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 582)
                             nil )
                            (!pair  "decl"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 585)
                             nil )
                            (!pair  "next"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 588)
                             nil )
                            (!pair  "previous"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 589)
                             nil )
                            (!pair  "next_sharing_asm_name"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 600)
                             nil )
                            (!pair  "previous_sharing_asm_name"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 601)
                             nil )
                            (!pair  "same_comdat_group"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 604)
                             nil )
                            (!pair  "ref_list"
                             (!type struct 319 
                              (!type pointer 320 nil  gc_unused
                               (!type already_seen 319)
                              )
                              gc_used "ipa_ref_list"
                              (!srcfileloc  "cgraph.h" 607)
                              (!fields 2 
                               (!pair  "references"
                                (!type pointer 321 nil  gc_used
                                 (!type user_struct 322 
                                  (!type already_seen 321)
                                  gc_pointed_to "vec<ipa_ref_t,va_gc>"
                                  (!srcfileloc  "ipa-ref.h" 134)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 79)
                                    (!srcfileloc  "ipa-ref.h" 134)
                                    nil )
                                   (!pair  "ipa_ref_t"
                                    (!type struct 323 
                                     (!type pointer 324 nil  gc_unused
                                      (!type already_seen 323)
                                     )
                                     gc_used "ipa_ref"
                                     (!srcfileloc  "cgraph.h" 169)
                                     (!fields 8 
                                      (!pair  "referring"
                                       (!type already_seen 317)
                                       (!srcfileloc  "ipa-ref.h" 58)
                                       nil )
                                      (!pair  "referred"
                                       (!type already_seen 317)
                                       (!srcfileloc  "ipa-ref.h" 59)
                                       nil )
                                      (!pair  "stmt"
                                       (!type already_seen 280)
                                       (!srcfileloc  "ipa-ref.h" 60)
                                       nil )
                                      (!pair  "lto_stmt_uid"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 61)
                                       nil )
                                      (!pair  "speculative_id"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 64)
                                       nil )
                                      (!pair  "referred_index"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 65)
                                       nil )
                                      (!pair  "use"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 66)
                                       nil )
                                      (!pair  "speculative"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 67)
                                       nil )
                                     )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "ipa-ref.h" 134)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "ipa-ref.h" 134)
                                nil )
                               (!pair  "referring"
                                (!type user_struct 325 nil  gc_unused "vec<ipa_ref_ptr>"
                                 (!srcfileloc  "ipa-ref.h" 137)
                                 (!fields 1 
                                  (!pair  "ipa_ref_ptr"
                                   (!type already_seen 324)
                                   (!srcfileloc  "ipa-ref.h" 137)
                                   nil )
                                 )
                                )
                                (!srcfileloc  "ipa-ref.h" 137)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "cgraph.h" 607)
                             nil )
                            (!pair  "alias_target"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 612)
                             nil )
                            (!pair  "lto_file_data"
                             (!type pointer 326 
                              (!type pointer 327 nil  gc_used
                               (!type already_seen 326)
                              )
                              gc_pointed_to
                              (!type struct 328 
                               (!type already_seen 326)
                               gc_pointed_to "lto_file_decl_data"
                               (!srcfileloc  "lto-streamer.h" 632)
                               (!fields 18 
                                (!pair  "current_decl_state"
                                 (!type pointer 329 nil  gc_used
                                  (!type struct 330 
                                   (!type already_seen 329)
                                   gc_pointed_to "lto_in_decl_state"
                                   (!srcfileloc  "lto-streamer.h" 527)
                                   (!fields 3 
                                    (!pair  "streams"
                                     (!type array 331 nil  gc_used "LTO_N_DECL_STREAMS" 
                                      (!type already_seen 84)
                                     )
                                     (!srcfileloc  "lto-streamer.h" 519)
                                     nil )
                                    (!pair  "fn_decl"
                                     (!type already_seen 23)
                                     (!srcfileloc  "lto-streamer.h" 523)
                                     nil )
                                    (!pair  "compressed"
                                     (!type already_seen 2)
                                     (!srcfileloc  "lto-streamer.h" 526)
                                     nil )
                                   )
                                   (!options 
                                    (!option for_user string  "")
                                   )
                                   2047 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 584)
                                 nil )
                                (!pair  "global_decl_state"
                                 (!type already_seen 329)
                                 (!srcfileloc  "lto-streamer.h" 588)
                                 nil )
                                (!pair  "symtab_node_encoder"
                                 (!type pointer 332 nil  gc_unused
                                  (!type struct 333 
                                   (!type already_seen 332)
                                   gc_unused "lto_symtab_encoder_d"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 591)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "function_decl_states"
                                 (!type pointer 334 nil  gc_used
                                  (!type user_struct 335 
                                   (!type already_seen 334)
                                   gc_pointed_to "hash_table<decl_state_hasher>"
                                   (!srcfileloc  "lto-streamer.h" 594)
                                   (!fields 1 
                                    (!pair  "decl_state_hasher"
                                     (!type struct 336 nil  gc_used "decl_state_hasher"
                                      (!srcfileloc  "lto-streamer.h" 594)
                                      (!fields 0 )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "lto-streamer.h" 594)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 594)
                                 nil )
                                (!pair  "file_name"
                                 (!type already_seen 11)
                                 (!srcfileloc  "lto-streamer.h" 597)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "section_hash_table"
                                 (!type pointer 337 nil  gc_unused
                                  (!type struct 338 
                                   (!type already_seen 337)
                                   gc_unused "htab"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 600)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "renaming_hash_table"
                                 (!type already_seen 337)
                                 (!srcfileloc  "lto-streamer.h" 603)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "next"
                                 (!type already_seen 326)
                                 (!srcfileloc  "lto-streamer.h" 606)
                                 nil )
                                (!pair  "order"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 609)
                                 nil )
                                (!pair  "id"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 612)
                                 nil )
                                (!pair  "respairs"
                                 (!type user_struct 339 nil  gc_unused "vec<res_pair>"
                                  (!srcfileloc  "lto-streamer.h" 615)
                                  (!fields 1 
                                   (!pair  "res_pair"
                                    (!type struct 340 nil  gc_unused "res_pair"
                                     (!srcfileloc  "lto-streamer.h" 615)
                                     (!fields 0 )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "lto-streamer.h" 615)
                                    nil )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 615)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "max_index"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 616)
                                 nil )
                                (!pair  "profile_info"
                                 (!type undefined 341 nil  gc_unused "gcov_summary"
                                  (!srcfileloc  "lto-streamer.h" 618)
                                 )
                                 (!srcfileloc  "lto-streamer.h" 618)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "resolution_map"
                                 (!type pointer 342 nil  gc_unused
                                  (!type user_struct 343 
                                   (!type already_seen 342)
                                   gc_unused "hash_map<tree,ld_plugin_symbol_resolution>"
                                   (!srcfileloc  "lto-streamer.h" 621)
                                   (!fields 2 
                                    (!pair  "ld_plugin_symbol_resolution"
                                     (!type undefined 344 nil  gc_unused "ld_plugin_symbol_resolution"
                                      (!srcfileloc  "lto-streamer.h" 621)
                                     )
                                     (!srcfileloc  "lto-streamer.h" 621)
                                     nil )
                                    (!pair  "tree"
                                     (!type already_seen 23)
                                     (!srcfileloc  "lto-streamer.h" 621)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 621)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "mode_table"
                                 (!type already_seen 11)
                                 (!srcfileloc  "lto-streamer.h" 624)
                                 nil )
                                (!pair  "lto_section_header"
                                 (!type struct 345 nil  gc_used "lto_section"
                                  (!srcfileloc  "lto-streamer.h" 627)
                                  (!fields 0 )
                                  nil 2047 nil nil )
                                 (!srcfileloc  "lto-streamer.h" 627)
                                 nil )
                                (!pair  "order_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 629)
                                 nil )
                                (!pair  "unit_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 631)
                                 nil )
                               )
                               nil 2047 nil nil )
                             )
                             (!srcfileloc  "cgraph.h" 615)
                             nil )
                            (!pair  "aux"
                             (!type already_seen 3)
                             (!srcfileloc  "cgraph.h" 617)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                            (!pair  "x_comdat_group"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 620)
                             nil )
                            (!pair  "x_section"
                             (!type pointer 346 nil  gc_used
                              (!type struct 347 
                               (!type already_seen 346)
                               gc_pointed_to "section_hash_entry"
                               (!srcfileloc  "cgraph.h" 623)
                               (!fields 2 
                                (!pair  "ref_count"
                                 (!type already_seen 2)
                                 (!srcfileloc  "cgraph.h" 54)
                                 nil )
                                (!pair  "name"
                                 (!type already_seen 11)
                                 (!srcfileloc  "cgraph.h" 55)
                                 nil )
                               )
                               (!options 
                                (!option for_user string  "")
                               )
                               2047 nil nil )
                             )
                             (!srcfileloc  "cgraph.h" 623)
                             nil )
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 630)
                             nil )
                           )
                           (!options 
                            (!option chain_prev string  "%h.previous")
                            (!option chain_next string  "%h.next")
                            (!option tag string  "SYMTAB_SYMBOL")
                            (!option desc string  "%h.type")
                           )
                           2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1797)
                         nil )
                        (!pair  "defer_output"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1800)
                         nil )
                        (!pair  "hard_register"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1801)
                         nil )
                        (!pair  "common_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1802)
                         nil )
                        (!pair  "in_text_section"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1803)
                         nil )
                        (!pair  "in_constant_pool"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1804)
                         nil )
                        (!pair  "dllimport_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1805)
                         nil )
                        (!pair  "weak_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1807)
                         nil )
                        (!pair  "seen_in_bind_expr"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1809)
                         nil )
                        (!pair  "comdat_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1810)
                         nil )
                        (!pair  "visibility"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1812)
                         nil )
                        (!pair  "visibility_specified"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1813)
                         nil )
                        (!pair  "init_priority_p"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1816)
                         nil )
                        (!pair  "shadowed_for_var_p"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1818)
                         nil )
                        (!pair  "cxx_constructor"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1820)
                         nil )
                        (!pair  "cxx_destructor"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1822)
                         nil )
                        (!pair  "final"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1824)
                         nil )
                        (!pair  "regdecl_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1826)
                         nil )
                       )
                       nil 2047 nil nil )
                      (!srcfileloc  "tree-core.h" 1835)
                      nil )
                     (!pair  "result"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1837)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1986)
                   (!options 
                    (!option tag string  "TS_DECL_NON_COMMON")
                   )
                  )
                  (!pair  "parm_decl"
                   (!type struct 348 nil  gc_used "tree_parm_decl"
                    (!srcfileloc  "tree-core.h" 1792)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1790)
                      nil )
                     (!pair  "incoming_rtl"
                      (!type already_seen 100)
                      (!srcfileloc  "tree-core.h" 1791)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1987)
                   (!options 
                    (!option tag string  "TS_PARM_DECL")
                   )
                  )
                  (!pair  "decl_with_vis"
                   (!type already_seen 316)
                   (!srcfileloc  "tree-core.h" 1988)
                   (!options 
                    (!option tag string  "TS_DECL_WITH_VIS")
                   )
                  )
                  (!pair  "var_decl"
                   (!type struct 349 nil  gc_used "tree_var_decl"
                    (!srcfileloc  "tree-core.h" 1832)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 316)
                      (!srcfileloc  "tree-core.h" 1831)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1989)
                   (!options 
                    (!option tag string  "TS_VAR_DECL")
                   )
                  )
                  (!pair  "field_decl"
                   (!type struct 350 nil  gc_used "tree_field_decl"
                    (!srcfileloc  "tree-core.h" 1773)
                    (!fields 6 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1766)
                      nil )
                     (!pair  "offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1768)
                      nil )
                     (!pair  "bit_field_type"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1769)
                      nil )
                     (!pair  "qualifier"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1770)
                      nil )
                     (!pair  "bit_offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1771)
                      nil )
                     (!pair  "fcontext"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1772)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1990)
                   (!options 
                    (!option tag string  "TS_FIELD_DECL")
                   )
                  )
                  (!pair  "label_decl"
                   (!type struct 351 nil  gc_used "tree_label_decl"
                    (!srcfileloc  "tree-core.h" 1779)
                    (!fields 3 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1776)
                      nil )
                     (!pair  "label_decl_uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1777)
                      nil )
                     (!pair  "eh_landing_pad_nr"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1778)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1991)
                   (!options 
                    (!option tag string  "TS_LABEL_DECL")
                   )
                  )
                  (!pair  "result_decl"
                   (!type struct 352 nil  gc_used "tree_result_decl"
                    (!srcfileloc  "tree-core.h" 1783)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1782)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1992)
                   (!options 
                    (!option tag string  "TS_RESULT_DECL")
                   )
                  )
                  (!pair  "const_decl"
                   (!type struct 353 nil  gc_used "tree_const_decl"
                    (!srcfileloc  "tree-core.h" 1787)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1786)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1993)
                   (!options 
                    (!option tag string  "TS_CONST_DECL")
                   )
                  )
                  (!pair  "type_decl"
                   (!type struct 354 nil  gc_used "tree_type_decl"
                    (!srcfileloc  "tree-core.h" 1916)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 315)
                      (!srcfileloc  "tree-core.h" 1914)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1994)
                   (!options 
                    (!option tag string  "TS_TYPE_DECL")
                   )
                  )
                  (!pair  "function_decl"
                   (!type struct 355 nil  gc_used "tree_function_decl"
                    (!srcfileloc  "tree-core.h" 1903)
                    (!fields 28 
                     (!pair  "common"
                      (!type already_seen 315)
                      (!srcfileloc  "tree-core.h" 1858)
                      nil )
                     (!pair  "f"
                      (!type pointer 356 nil  gc_used
                       (!type struct 357 
                        (!type already_seen 356)
                        gc_pointed_to "function"
                        (!srcfileloc  "function.h" 424)
                        (!fields 48 
                         (!pair  "eh"
                          (!type pointer 358 nil  gc_used
                           (!type struct 359 
                            (!type already_seen 358)
                            gc_pointed_to "eh_status"
                            (!srcfileloc  "except.h" 218)
                            (!fields 6 
                             (!pair  "region_tree"
                              (!type pointer 360 nil  gc_used
                               (!type struct 361 
                                (!type already_seen 360)
                                gc_pointed_to "eh_region_d"
                                (!srcfileloc  "except.h" 180)
                                (!fields 10 
                                 (!pair  "outer"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 121)
                                  nil )
                                 (!pair  "inner"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 124)
                                  nil )
                                 (!pair  "next_peer"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 125)
                                  nil )
                                 (!pair  "index"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 128)
                                  nil )
                                 (!pair  "type"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 131)
                                  nil )
                                 (!pair  "u"
                                  (!type union 362 nil  gc_used "eh_region_u"
                                   (!srcfileloc  "except.h" 167)
                                   (!fields 3 
                                    (!pair  "eh_try"
                                     (!type struct 363 nil  gc_used "eh_region_u_try"
                                      (!srcfileloc  "except.h" 139)
                                      (!fields 2 
                                       (!pair  "first_catch"
                                        (!type pointer 364 nil  gc_used
                                         (!type struct 365 
                                          (!type already_seen 364)
                                          gc_pointed_to "eh_catch_d"
                                          (!srcfileloc  "except.h" 114)
                                          (!fields 5 
                                           (!pair  "next_catch"
                                            (!type already_seen 364)
                                            (!srcfileloc  "except.h" 98)
                                            nil )
                                           (!pair  "prev_catch"
                                            (!type already_seen 364)
                                            (!srcfileloc  "except.h" 99)
                                            nil )
                                           (!pair  "type_list"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 103)
                                            nil )
                                           (!pair  "filter_list"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 108)
                                            nil )
                                           (!pair  "label"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 113)
                                            nil )
                                          )
                                          nil 2047 nil nil )
                                        )
                                        (!srcfileloc  "except.h" 137)
                                        nil )
                                       (!pair  "last_catch"
                                        (!type already_seen 364)
                                        (!srcfileloc  "except.h" 138)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 139)
                                     (!options 
                                      (!option tag string  "ERT_TRY")
                                     )
                                    )
                                    (!pair  "allowed"
                                     (!type struct 366 nil  gc_used "eh_region_u_allowed"
                                      (!srcfileloc  "except.h" 153)
                                      (!fields 3 
                                       (!pair  "type_list"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 143)
                                        nil )
                                       (!pair  "label"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 147)
                                        nil )
                                       (!pair  "filter"
                                        (!type already_seen 2)
                                        (!srcfileloc  "except.h" 152)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 153)
                                     (!options 
                                      (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                                     )
                                    )
                                    (!pair  "must_not_throw"
                                     (!type struct 367 nil  gc_used "eh_region_u_must_not_throw"
                                      (!srcfileloc  "except.h" 166)
                                      (!fields 2 
                                       (!pair  "failure_decl"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 163)
                                        nil )
                                       (!pair  "failure_loc"
                                        (!type already_seen 2)
                                        (!srcfileloc  "except.h" 165)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 166)
                                     (!options 
                                      (!option tag string  "ERT_MUST_NOT_THROW")
                                     )
                                    )
                                   )
                                   nil 2047 nil )
                                  (!srcfileloc  "except.h" 167)
                                  (!options 
                                   (!option desc string  "%0.type")
                                  )
                                 )
                                 (!pair  "landing_pads"
                                  (!type pointer 368 nil  gc_used
                                   (!type struct 369 
                                    (!type already_seen 368)
                                    gc_pointed_to "eh_landing_pad_d"
                                    (!srcfileloc  "except.h" 91)
                                    (!fields 5 
                                     (!pair  "next_lp"
                                      (!type already_seen 368)
                                      (!srcfileloc  "except.h" 72)
                                      nil )
                                     (!pair  "region"
                                      (!type already_seen 360)
                                      (!srcfileloc  "except.h" 75)
                                      nil )
                                     (!pair  "post_landing_pad"
                                      (!type already_seen 23)
                                      (!srcfileloc  "except.h" 80)
                                      nil )
                                     (!pair  "landing_pad"
                                      (!type pointer 370 nil  gc_used
                                       (!type struct 371 
                                        (!type already_seen 370)
                                        gc_pointed_to "rtx_code_label"
                                        (!srcfileloc  "function.h" 140)
                                        (!fields 0 )
                                        nil 2047 nil 
                                        (!type already_seen 296)
                                       )
                                      )
                                      (!srcfileloc  "except.h" 87)
                                      nil )
                                     (!pair  "index"
                                      (!type already_seen 2)
                                      (!srcfileloc  "except.h" 90)
                                      nil )
                                    )
                                    nil 2047 nil nil )
                                  )
                                  (!srcfileloc  "except.h" 170)
                                  nil )
                                 (!pair  "exc_ptr_reg"
                                  (!type already_seen 100)
                                  (!srcfileloc  "except.h" 175)
                                  nil )
                                 (!pair  "filter_reg"
                                  (!type already_seen 100)
                                  (!srcfileloc  "except.h" 175)
                                  nil )
                                 (!pair  "use_cxa_end_cleanup"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 179)
                                  nil )
                                )
                                nil 2047 nil nil )
                              )
                              (!srcfileloc  "except.h" 194)
                              nil )
                             (!pair  "region_array"
                              (!type pointer 372 nil  gc_used
                               (!type user_struct 373 
                                (!type already_seen 372)
                                gc_pointed_to "vec<eh_region,va_gc>"
                                (!srcfileloc  "except.h" 197)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "except.h" 197)
                                  nil )
                                 (!pair  "eh_region"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 197)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 197)
                              nil )
                             (!pair  "lp_array"
                              (!type pointer 374 nil  gc_used
                               (!type user_struct 375 
                                (!type already_seen 374)
                                gc_pointed_to "vec<eh_landing_pad,va_gc>"
                                (!srcfileloc  "except.h" 200)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "except.h" 200)
                                  nil )
                                 (!pair  "eh_landing_pad"
                                  (!type already_seen 368)
                                  (!srcfileloc  "except.h" 200)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 200)
                              nil )
                             (!pair  "throw_stmt_table"
                              (!type pointer 376 nil  gc_used
                               (!type user_struct 377 
                                (!type already_seen 376)
                                gc_pointed_to "hash_map<gimple*,int>"
                                (!srcfileloc  "except.h" 204)
                                (!fields 2 
                                 (!pair  "int"
                                  (!type undefined 378 nil  gc_unused "int"
                                   (!srcfileloc  "coretypes.h" 352)
                                  )
                                  (!srcfileloc  "except.h" 204)
                                  nil )
                                 (!pair  "gimple"
                                  (!type already_seen 280)
                                  (!srcfileloc  "except.h" 204)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 204)
                              nil )
                             (!pair  "ttype_data"
                              (!type already_seen 84)
                              (!srcfileloc  "except.h" 208)
                              nil )
                             (!pair  "ehspec_data"
                              (!type union 379 nil  gc_used "eh_status_u"
                               (!srcfileloc  "except.h" 217)
                               (!fields 2 
                                (!pair  "arm_eabi"
                                 (!type already_seen 84)
                                 (!srcfileloc  "except.h" 215)
                                 (!options 
                                  (!option tag string  "1")
                                 )
                                )
                                (!pair  "other"
                                 (!type pointer 380 nil  gc_used
                                  (!type user_struct 381 
                                   (!type already_seen 380)
                                   gc_pointed_to "vec<uchar,va_gc>"
                                   (!srcfileloc  "function.h" 145)
                                   (!fields 2 
                                    (!pair  "va_gc"
                                     (!type already_seen 79)
                                     (!srcfileloc  "function.h" 145)
                                     nil )
                                    (!pair  "uchar"
                                     (!type already_seen 8)
                                     (!srcfileloc  "function.h" 145)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "except.h" 216)
                                 (!options 
                                  (!option tag string  "0")
                                 )
                                )
                               )
                               nil 2047 nil )
                              (!srcfileloc  "except.h" 217)
                              (!options 
                               (!option desc string  "targetm.arm_eabi_unwinder")
                              )
                             )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 249)
                          nil )
                         (!pair  "cfg"
                          (!type pointer 382 nil  gc_used
                           (!type struct 383 
                            (!type already_seen 382)
                            gc_pointed_to "control_flow_graph"
                            (!srcfileloc  "cfg.h" 81)
                            (!fields 15 
                             (!pair  "x_entry_block_ptr"
                              (!type already_seen 267)
                              (!srcfileloc  "cfg.h" 41)
                              nil )
                             (!pair  "x_exit_block_ptr"
                              (!type already_seen 267)
                              (!srcfileloc  "cfg.h" 42)
                              nil )
                             (!pair  "x_basic_block_info"
                              (!type pointer 384 nil  gc_used
                               (!type user_struct 385 
                                (!type already_seen 384)
                                gc_pointed_to "vec<basic_block,va_gc>"
                                (!srcfileloc  "cfg.h" 45)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "cfg.h" 45)
                                  nil )
                                 (!pair  "basic_block"
                                  (!type already_seen 267)
                                  (!srcfileloc  "cfg.h" 45)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "cfg.h" 45)
                              nil )
                             (!pair  "x_n_basic_blocks"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 48)
                              nil )
                             (!pair  "x_n_edges"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 51)
                              nil )
                             (!pair  "x_last_basic_block"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 54)
                              nil )
                             (!pair  "last_label_uid"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 57)
                              nil )
                             (!pair  "x_label_to_block_map"
                              (!type already_seen 384)
                              (!srcfileloc  "cfg.h" 61)
                              nil )
                             (!pair  "x_profile_status"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 63)
                              nil )
                             (!pair  "x_dom_computed"
                              (!type array 386 nil  gc_used "2" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "cfg.h" 66)
                              nil )
                             (!pair  "x_n_bbs_in_dom_tree"
                              (!type array 387 nil  gc_used "2" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "cfg.h" 69)
                              nil )
                             (!pair  "max_jumptable_ents"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 73)
                              nil )
                             (!pair  "count_max"
                              (!type already_seen 299)
                              (!srcfileloc  "cfg.h" 76)
                              nil )
                             (!pair  "edge_flags_allocated"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 79)
                              nil )
                             (!pair  "bb_flags_allocated"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 80)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 252)
                          nil )
                         (!pair  "gimple_body"
                          (!type already_seen 280)
                          (!srcfileloc  "function.h" 255)
                          nil )
                         (!pair  "gimple_df"
                          (!type pointer 388 nil  gc_used
                           (!type struct 389 
                            (!type already_seen 388)
                            gc_pointed_to "gimple_df"
                            (!srcfileloc  "gimple-ssa.h" 115)
                            (!fields 13 
                             (!pair  "ssa_names"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 74)
                              nil )
                             (!pair  "vop"
                              (!type already_seen 23)
                              (!srcfileloc  "gimple-ssa.h" 77)
                              nil )
                             (!pair  "escaped"
                              (!type struct 390 nil  gc_used "pt_solution"
                               (!srcfileloc  "tree-ssa-alias.h" 65)
                               (!fields 11 
                                (!pair  "anything"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 32)
                                 nil )
                                (!pair  "nonlocal"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 36)
                                 nil )
                                (!pair  "escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 40)
                                 nil )
                                (!pair  "ipa_escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 44)
                                 nil )
                                (!pair  "null"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 48)
                                 nil )
                                (!pair  "vars_contains_nonlocal"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 51)
                                 nil )
                                (!pair  "vars_contains_escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 53)
                                 nil )
                                (!pair  "vars_contains_escaped_heap"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 56)
                                 nil )
                                (!pair  "vars_contains_restrict"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 59)
                                 nil )
                                (!pair  "vars_contains_interposable"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 61)
                                 nil )
                                (!pair  "vars"
                                 (!type pointer 391 nil  gc_used
                                  (!type struct 392 
                                   (!type already_seen 391)
                                   gc_pointed_to "bitmap_head"
                                   (!srcfileloc  "bitmap.h" 361)
                                   (!fields 7 
                                    (!pair  "indx"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 335)
                                     nil )
                                    (!pair  "tree_form"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 338)
                                     nil )
                                    (!pair  "padding"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 340)
                                     nil )
                                    (!pair  "alloc_descriptor"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 342)
                                     nil )
                                    (!pair  "first"
                                     (!type pointer 393 nil  gc_used
                                      (!type struct 394 
                                       (!type already_seen 393)
                                       gc_pointed_to "bitmap_element"
                                       (!srcfileloc  "bitmap.h" 345)
                                       (!fields 4 
                                        (!pair  "next"
                                         (!type already_seen 393)
                                         (!srcfileloc  "bitmap.h" 313)
                                         nil )
                                        (!pair  "prev"
                                         (!type already_seen 393)
                                         (!srcfileloc  "bitmap.h" 316)
                                         nil )
                                        (!pair  "indx"
                                         (!type already_seen 2)
                                         (!srcfileloc  "bitmap.h" 318)
                                         nil )
                                        (!pair  "bits"
                                         (!type array 395 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                          (!type already_seen 2)
                                         )
                                         (!srcfileloc  "bitmap.h" 320)
                                         nil )
                                       )
                                       (!options 
                                        (!option chain_next string  "%h.next")
                                       )
                                       2047 nil nil )
                                     )
                                     (!srcfileloc  "bitmap.h" 345)
                                     nil )
                                    (!pair  "current"
                                     (!type already_seen 393)
                                     (!srcfileloc  "bitmap.h" 347)
                                     (!options 
                                      (!option skip string  "")
                                     )
                                    )
                                    (!pair  "obstack"
                                     (!type pointer 396 nil  gc_unused
                                      (!type struct 397 
                                       (!type already_seen 396)
                                       gc_unused "bitmap_obstack"
                                       (!srcfileloc  "bitmap.h" 349)
                                       (!fields 0 )
                                       nil 2047 nil nil )
                                     )
                                     (!srcfileloc  "bitmap.h" 349)
                                     (!options 
                                      (!option skip string  "")
                                     )
                                    )
                                   )
                                   nil 2047 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-alias.h" 64)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "gimple-ssa.h" 80)
                              nil )
                             (!pair  "decls_to_pointers"
                              (!type pointer 398 nil  gc_used
                               (!type user_struct 399 
                                (!type already_seen 398)
                                gc_pointed_to "hash_map<tree,tree>"
                                (!srcfileloc  "gimple-ssa.h" 84)
                                (!fields 2 
                                 (!pair  "tree"
                                  (!type already_seen 23)
                                  (!srcfileloc  "gimple-ssa.h" 84)
                                  nil )
                                 (!pair  "tree"
                                  (!type already_seen 23)
                                  (!srcfileloc  "gimple-ssa.h" 84)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 84)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "free_ssanames"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 87)
                              nil )
                             (!pair  "free_ssanames_queue"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 90)
                              nil )
                             (!pair  "default_defs"
                              (!type pointer 400 nil  gc_used
                               (!type user_struct 401 
                                (!type already_seen 400)
                                gc_pointed_to "hash_table<ssa_name_hasher>"
                                (!srcfileloc  "gimple-ssa.h" 96)
                                (!fields 1 
                                 (!pair  "ssa_name_hasher"
                                  (!type struct 402 nil  gc_used "ssa_name_hasher"
                                   (!srcfileloc  "gimple-ssa.h" 96)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "gimple-ssa.h" 96)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 96)
                              nil )
                             (!pair  "ssa_renaming_needed"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 99)
                              nil )
                             (!pair  "rename_vops"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 102)
                              nil )
                             (!pair  "in_ssa_p"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 105)
                              nil )
                             (!pair  "ipa_pta"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 108)
                              nil )
                             (!pair  "ssa_operands"
                              (!type struct 403 nil  gc_used "ssa_operands"
                               (!srcfileloc  "tree-ssa-operands.h" 63)
                               (!fields 5 
                                (!pair  "operand_memory"
                                 (!type pointer 404 nil  gc_used
                                  (!type struct 405 
                                   (!type already_seen 404)
                                   gc_pointed_to "ssa_operand_memory_d"
                                   (!srcfileloc  "tree-ssa-operands.h" 51)
                                   (!fields 2 
                                    (!pair  "next"
                                     (!type already_seen 404)
                                     (!srcfileloc  "tree-ssa-operands.h" 49)
                                     nil )
                                    (!pair  "mem"
                                     (!type array 406 nil  gc_used "1" 
                                      (!type already_seen 8)
                                     )
                                     (!srcfileloc  "tree-ssa-operands.h" 50)
                                     nil )
                                   )
                                   (!options 
                                    (!option chain_next string  "%h.next")
                                   )
                                   2047 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-operands.h" 55)
                                 nil )
                                (!pair  "operand_memory_index"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 56)
                                 nil )
                                (!pair  "ssa_operand_mem_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 58)
                                 nil )
                                (!pair  "ops_active"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 60)
                                 nil )
                                (!pair  "free_uses"
                                 (!type pointer 407 nil  gc_unused
                                  (!type struct 408 
                                   (!type already_seen 407)
                                   gc_unused "use_optype_d"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-operands.h" 62)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "gimple-ssa.h" 110)
                              nil )
                             (!pair  "tm_restart"
                              (!type pointer 409 nil  gc_used
                               (!type user_struct 410 
                                (!type already_seen 409)
                                gc_pointed_to "hash_table<tm_restart_hasher>"
                                (!srcfileloc  "gimple-ssa.h" 114)
                                (!fields 1 
                                 (!pair  "tm_restart_hasher"
                                  (!type struct 411 nil  gc_used "tm_restart_hasher"
                                   (!srcfileloc  "gimple-ssa.h" 114)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "gimple-ssa.h" 114)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 114)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 258)
                          nil )
                         (!pair  "x_current_loops"
                          (!type pointer 412 nil  gc_used
                           (!type struct 413 
                            (!type already_seen 412)
                            gc_pointed_to "loops"
                            (!srcfileloc  "cfgloop.h" 335)
                            (!fields 4 
                             (!pair  "state"
                              (!type already_seen 2)
                              (!srcfileloc  "cfgloop.h" 323)
                              nil )
                             (!pair  "larray"
                              (!type already_seen 276)
                              (!srcfileloc  "cfgloop.h" 326)
                              nil )
                             (!pair  "exits"
                              (!type pointer 414 nil  gc_used
                               (!type user_struct 415 
                                (!type already_seen 414)
                                gc_pointed_to "hash_table<loop_exit_hasher>"
                                (!srcfileloc  "cfgloop.h" 331)
                                (!fields 1 
                                 (!pair  "loop_exit_hasher"
                                  (!type struct 416 nil  gc_used "loop_exit_hasher"
                                   (!srcfileloc  "cfgloop.h" 331)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "cfgloop.h" 331)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "cfgloop.h" 331)
                              nil )
                             (!pair  "tree_root"
                              (!type already_seen 273)
                              (!srcfileloc  "cfgloop.h" 334)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 261)
                          nil )
                         (!pair  "pass_startwith"
                          (!type already_seen 11)
                          (!srcfileloc  "function.h" 264)
                          nil )
                         (!pair  "su"
                          (!type pointer 417 nil  gc_used
                           (!type struct 418 
                            (!type already_seen 417)
                            gc_pointed_to "stack_usage"
                            (!srcfileloc  "function.h" 234)
                            (!fields 6 
                             (!pair  "static_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 213)
                              nil )
                             (!pair  "dynamic_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 217)
                              nil )
                             (!pair  "pushed_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 222)
                              nil )
                             (!pair  "has_unbounded_dynamic_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 226)
                              nil )
                             (!pair  "callees"
                              (!type pointer 419 nil  gc_used
                               (!type user_struct 420 
                                (!type already_seen 419)
                                gc_pointed_to "vec<callinfo_callee,va_gc>"
                                (!srcfileloc  "function.h" 229)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "function.h" 229)
                                  nil )
                                 (!pair  "callinfo_callee"
                                  (!type struct 421 nil  gc_used "callinfo_callee"
                                   (!srcfileloc  "function.h" 229)
                                   (!fields 2 
                                    (!pair  "location"
                                     (!type already_seen 2)
                                     (!srcfileloc  "function.h" 198)
                                     nil )
                                    (!pair  "decl"
                                     (!type already_seen 23)
                                     (!srcfileloc  "function.h" 199)
                                     nil )
                                   )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "function.h" 229)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "function.h" 229)
                              nil )
                             (!pair  "dallocs"
                              (!type pointer 422 nil  gc_used
                               (!type user_struct 423 
                                (!type already_seen 422)
                                gc_pointed_to "vec<callinfo_dalloc,va_gc>"
                                (!srcfileloc  "function.h" 233)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "function.h" 233)
                                  nil )
                                 (!pair  "callinfo_dalloc"
                                  (!type struct 424 nil  gc_used "callinfo_dalloc"
                                   (!srcfileloc  "function.h" 233)
                                   (!fields 2 
                                    (!pair  "location"
                                     (!type already_seen 2)
                                     (!srcfileloc  "function.h" 205)
                                     nil )
                                    (!pair  "name"
                                     (!type already_seen 11)
                                     (!srcfileloc  "function.h" 206)
                                     nil )
                                   )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "function.h" 233)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "function.h" 233)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 267)
                          nil )
                         (!pair  "value_histograms"
                          (!type already_seen 337)
                          (!srcfileloc  "function.h" 270)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "decl"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 275)
                          nil )
                         (!pair  "static_chain_decl"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 279)
                          nil )
                         (!pair  "nonlocal_goto_save_area"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 284)
                          nil )
                         (!pair  "local_decls"
                          (!type already_seen 84)
                          (!srcfileloc  "function.h" 287)
                          nil )
                         (!pair  "machine"
                          (!type pointer 425 nil  gc_unused
                           (!type struct 426 
                            (!type already_seen 425)
                            gc_maybe_pointed_to "machine_function"
                            (!srcfileloc  "config/arm/arm.h" 1521)
                            (!fields 17 
                             (!pair  "eh_epilogue_sp_ofs"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1484)
                              nil )
                             (!pair  "far_jump_used"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1486)
                              nil )
                             (!pair  "arg_pointer_live"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1488)
                              nil )
                             (!pair  "lr_save_eliminated"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1490)
                              nil )
                             (!pair  "stack_offsets"
                              (!type struct 427 nil  gc_used "arm_stack_offsets"
                               (!srcfileloc  "config/arm/arm.h" 1475)
                               (!fields 7 
                                (!pair  "saved_args"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1468)
                                 nil )
                                (!pair  "frame"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1469)
                                 nil )
                                (!pair  "saved_regs"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1470)
                                 nil )
                                (!pair  "soft_frame"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1471)
                                 nil )
                                (!pair  "locals_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1472)
                                 nil )
                                (!pair  "outgoing_args"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1473)
                                 nil )
                                (!pair  "saved_regs_mask"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1474)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "config/arm/arm.h" 1492)
                              nil )
                             (!pair  "func_type"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1494)
                              nil )
                             (!pair  "uses_anonymous_args"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1496)
                              nil )
                             (!pair  "sibcall_blocked"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1499)
                              nil )
                             (!pair  "pic_reg"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1501)
                              nil )
                             (!pair  "call_via"
                              (!type array 428 nil  gc_used "14" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "config/arm/arm.h" 1505)
                              nil )
                             (!pair  "return_used_this_function"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1508)
                              nil )
                             (!pair  "thumb1_cc_insn"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1511)
                              nil )
                             (!pair  "thumb1_cc_op0"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1512)
                              nil )
                             (!pair  "thumb1_cc_op1"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1513)
                              nil )
                             (!pair  "thumb1_cc_mode"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1515)
                              nil )
                             (!pair  "after_arm_reorg"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1517)
                              nil )
                             (!pair  "static_chain_stack_bytes"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1520)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 292)
                          (!options 
                           (!option maybe_undef string  "")
                          )
                         )
                         (!pair  "language"
                          (!type pointer 429 nil  gc_used
                           (!type lang_struct 430 
                            (!type already_seen 429)
                            gc_pointed_to "language_function"
                            (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                            (!fields 0 )
                            nil 2047 
                            (!homotypes 9
                             (!type struct 431 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "lto/lto-tree.h" 42)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "lto/lto-tree.h" 41)
                                nil )
                              )
                              nil 256 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 432 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "jit/dummy-frontend.c" 71)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "jit/dummy-frontend.c" 70)
                                nil )
                              )
                              nil 128 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 433 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "go/go-lang.c" 84)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "go/go-lang.c" 83)
                                nil )
                              )
                              nil 64 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 434 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "fortran/f95-lang.c" 68)
                              (!fields 1 
                               (!pair  "binding_level"
                                (!type pointer 435 nil  gc_used
                                 (!type lang_struct 436 
                                  (!type already_seen 435)
                                  gc_pointed_to "binding_level"
                                  (!srcfileloc  "d/d-tree.h" 117)
                                  (!fields 0 )
                                  (!options 
                                   (!option chain_next string  "%h.level_chain")
                                  )
                                  48 
                                  (!homotypes 2
                                   (!type struct 437 nil  gc_pointed_to "binding_level"
                                    (!srcfileloc  "fortran/f95-lang.c" 304)
                                    (!fields 4 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "fortran/f95-lang.c" 295)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "fortran/f95-lang.c" 298)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 435)
                                      (!srcfileloc  "fortran/f95-lang.c" 300)
                                      nil )
                                     (!pair  "reversed"
                                      (!type already_seen 2)
                                      (!srcfileloc  "fortran/f95-lang.c" 303)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 436)
                                    nil )
                                   
                                   (!type struct 438 nil  gc_pointed_to "binding_level"
                                    (!srcfileloc  "d/d-tree.h" 117)
                                    (!fields 4 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "d/d-tree.h" 106)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "d/d-tree.h" 110)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 435)
                                      (!srcfileloc  "d/d-tree.h" 113)
                                      nil )
                                     (!pair  "kind"
                                      (!type already_seen 2)
                                      (!srcfileloc  "d/d-tree.h" 116)
                                      nil )
                                    )
                                    (!options 
                                     (!option chain_next string  "%h.level_chain")
                                    )
                                    16 
                                    (!type already_seen 436)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "fortran/f95-lang.c" 67)
                                nil )
                              )
                              nil 32 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 439 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "d/d-tree.h" 244)
                              (!fields 6 
                               (!pair  "function"
                                (!type pointer 440 nil  gc_unused
                                 (!type struct 441 
                                  (!type already_seen 440)
                                  gc_unused "FuncDeclaration"
                                  (!srcfileloc  "d/d-tree.h" 229)
                                  (!fields 0 )
                                  nil 16 nil nil )
                                )
                                (!srcfileloc  "d/d-tree.h" 229)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "module"
                                (!type pointer 442 nil  gc_unused
                                 (!type struct 443 
                                  (!type already_seen 442)
                                  gc_unused "Module"
                                  (!srcfileloc  "d/d-tree.h" 230)
                                  (!fields 0 )
                                  nil 16 nil nil )
                                )
                                (!srcfileloc  "d/d-tree.h" 230)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "static_chain"
                                (!type already_seen 23)
                                (!srcfileloc  "d/d-tree.h" 233)
                                nil )
                               (!pair  "stmt_list"
                                (!type already_seen 84)
                                (!srcfileloc  "d/d-tree.h" 237)
                                nil )
                               (!pair  "vars_in_scope"
                                (!type already_seen 84)
                                (!srcfileloc  "d/d-tree.h" 240)
                                nil )
                               (!pair  "labels"
                                (!type pointer 444 nil  gc_used
                                 (!type user_struct 445 
                                  (!type already_seen 444)
                                  gc_pointed_to "hash_map<Statement*,d_label_entry>"
                                  (!srcfileloc  "d/d-tree.h" 243)
                                  (!fields 2 
                                   (!pair  "d_label_entry"
                                    (!type struct 446 nil  gc_used "d_label_entry"
                                     (!srcfileloc  "d/d-tree.h" 243)
                                     (!fields 7 
                                      (!pair  "label"
                                       (!type already_seen 23)
                                       (!srcfileloc  "d/d-tree.h" 146)
                                       nil )
                                      (!pair  "statement"
                                       (!type pointer 447 nil  gc_used
                                        (!type struct 448 
                                         (!type already_seen 447)
                                         gc_pointed_to "Statement"
                                         (!srcfileloc  "d/d-tree.h" 131)
                                         (!fields 0 )
                                         nil 16 nil nil )
                                       )
                                       (!srcfileloc  "d/d-tree.h" 149)
                                       (!options 
                                        (!option skip string  "")
                                       )
                                      )
                                      (!pair  "level"
                                       (!type already_seen 435)
                                       (!srcfileloc  "d/d-tree.h" 154)
                                       nil )
                                      (!pair  "fwdrefs"
                                       (!type pointer 449 nil  gc_used
                                        (!type struct 450 
                                         (!type already_seen 449)
                                         gc_pointed_to "d_label_use_entry"
                                         (!srcfileloc  "d/d-tree.h" 137)
                                         (!fields 3 
                                          (!pair  "next"
                                           (!type already_seen 449)
                                           (!srcfileloc  "d/d-tree.h" 128)
                                           nil )
                                          (!pair  "statement"
                                           (!type already_seen 447)
                                           (!srcfileloc  "d/d-tree.h" 131)
                                           (!options 
                                            (!option skip string  "")
                                           )
                                          )
                                          (!pair  "level"
                                           (!type already_seen 435)
                                           (!srcfileloc  "d/d-tree.h" 136)
                                           nil )
                                         )
                                         (!options 
                                          (!option chain_next string  "%h.next")
                                         )
                                         16 nil nil )
                                       )
                                       (!srcfileloc  "d/d-tree.h" 157)
                                       nil )
                                      (!pair  "in_try_scope"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 162)
                                       nil )
                                      (!pair  "in_catch_scope"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 163)
                                       nil )
                                      (!pair  "bc_label"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 166)
                                       nil )
                                     )
                                     nil 16 nil nil )
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                   (!pair  "Statement"
                                    (!type already_seen 447)
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "d/d-tree.h" 243)
                                nil )
                              )
                              nil 16 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 451 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "cp/cp-tree.h" 1930)
                              (!fields 21 
                               (!pair  "base"
                                (!type struct 452 nil  gc_used "c_language_function"
                                 (!srcfileloc  "c-family/c-common.h" 582)
                                 (!fields 2 
                                  (!pair  "x_stmt_tree"
                                   (!type struct 453 
                                    (!type pointer 454 nil  gc_unused
                                     (!type already_seen 453)
                                    )
                                    gc_used "stmt_tree_s"
                                    (!srcfileloc  "c-family/c-common.h" 567)
                                    (!fields 2 
                                     (!pair  "x_cur_stmt_list"
                                      (!type already_seen 84)
                                      (!srcfileloc  "c-family/c-common.h" 555)
                                      nil )
                                     (!pair  "stmts_are_full_exprs_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "c-family/c-common.h" 566)
                                      nil )
                                    )
                                    nil 1548 nil nil )
                                   (!srcfileloc  "c-family/c-common.h" 577)
                                   nil )
                                  (!pair  "local_typedefs"
                                   (!type already_seen 84)
                                   (!srcfileloc  "c-family/c-common.h" 581)
                                   nil )
                                 )
                                 nil 1548 nil nil )
                                (!srcfileloc  "cp/cp-tree.h" 1899)
                                nil )
                               (!pair  "x_cdtor_label"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1901)
                                nil )
                               (!pair  "x_current_class_ptr"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1902)
                                nil )
                               (!pair  "x_current_class_ref"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1903)
                                nil )
                               (!pair  "x_eh_spec_block"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1904)
                                nil )
                               (!pair  "x_in_charge_parm"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1905)
                                nil )
                               (!pair  "x_vtt_parm"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1906)
                                nil )
                               (!pair  "x_return_value"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1907)
                                nil )
                               (!pair  "returns_value"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1909)
                                nil )
                               (!pair  "returns_null"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1910)
                                nil )
                               (!pair  "returns_abnormally"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1911)
                                nil )
                               (!pair  "infinite_loop"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1912)
                                nil )
                               (!pair  "x_in_function_try_handler"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1913)
                                nil )
                               (!pair  "x_in_base_initializer"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1914)
                                nil )
                               (!pair  "can_throw"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1917)
                                nil )
                               (!pair  "invalid_constexpr"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1919)
                                nil )
                               (!pair  "throwing_cleanup"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1920)
                                nil )
                               (!pair  "x_named_labels"
                                (!type pointer 455 nil  gc_used
                                 (!type user_struct 456 
                                  (!type already_seen 455)
                                  gc_pointed_to "hash_table<named_label_hash>"
                                  (!srcfileloc  "cp/cp-tree.h" 1922)
                                  (!fields 1 
                                   (!pair  "named_label_hash"
                                    (!type struct 457 nil  gc_used "named_label_hash"
                                     (!srcfileloc  "cp/cp-tree.h" 1922)
                                     (!fields 0 )
                                     nil 1032 nil nil )
                                    (!srcfileloc  "cp/cp-tree.h" 1922)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 1922)
                                nil )
                               (!pair  "bindings"
                                (!type already_seen 82)
                                (!srcfileloc  "cp/cp-tree.h" 1924)
                                nil )
                               (!pair  "infinite_loops"
                                (!type already_seen 84)
                                (!srcfileloc  "cp/cp-tree.h" 1928)
                                nil )
                               (!pair  "extern_decl_map"
                                (!type pointer 458 nil  gc_used
                                 (!type user_struct 459 
                                  (!type already_seen 458)
                                  gc_pointed_to "hash_table<cxx_int_tree_map_hasher>"
                                  (!srcfileloc  "cp/cp-tree.h" 1929)
                                  (!fields 1 
                                   (!pair  "cxx_int_tree_map_hasher"
                                    (!type struct 460 nil  gc_used "cxx_int_tree_map_hasher"
                                     (!srcfileloc  "cp/cp-tree.h" 1929)
                                     (!fields 0 )
                                     nil 1032 nil nil )
                                    (!srcfileloc  "cp/cp-tree.h" 1929)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 1929)
                                nil )
                              )
                              nil 1032 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 461 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "c/c-lang.h" 62)
                              (!fields 9 
                               (!pair  "base"
                                (!type already_seen 452)
                                (!srcfileloc  "c/c-lang.h" 53)
                                nil )
                               (!pair  "x_break_label"
                                (!type already_seen 23)
                                (!srcfileloc  "c/c-lang.h" 54)
                                nil )
                               (!pair  "x_cont_label"
                                (!type already_seen 23)
                                (!srcfileloc  "c/c-lang.h" 55)
                                nil )
                               (!pair  "x_switch_stack"
                                (!type pointer 462 nil  gc_unused
                                 (!type struct 463 
                                  (!type already_seen 462)
                                  gc_unused "c_switch"nil 
                                  (!fields 0 )
                                  nil 0 nil nil )
                                )
                                (!srcfileloc  "c/c-lang.h" 56)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "arg_info"
                                (!type pointer 464 nil  gc_unused
                                 (!type struct 465 
                                  (!type already_seen 464)
                                  gc_unused "c_arg_info"nil 
                                  (!fields 0 )
                                  nil 0 nil nil )
                                )
                                (!srcfileloc  "c/c-lang.h" 57)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "returns_value"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 58)
                                nil )
                               (!pair  "returns_null"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 59)
                                nil )
                               (!pair  "returns_abnormally"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 60)
                                nil )
                               (!pair  "warn_about_return_type"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 61)
                                nil )
                              )
                              nil 516 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 466 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "brig/brig-lang.c" 104)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "brig/brig-lang.c" 103)
                                nil )
                              )
                              nil 2 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 467 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                              (!fields 4 
                               (!pair  "parm_attr_cache"
                                (!type pointer 468 nil  gc_used
                                 (!type user_struct 469 
                                  (!type already_seen 468)
                                  gc_pointed_to "vec<parm_attr,va_gc>"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 79)
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                    nil )
                                   (!pair  "parm_attr"
                                    (!type pointer 470 nil  gc_used
                                     (!type struct 471 
                                      (!type already_seen 470)
                                      gc_pointed_to "parm_attr_d"
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 110)
                                      (!fields 5 
                                       (!pair  "id"
                                        (!type already_seen 2)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 105)
                                        nil )
                                       (!pair  "dim"
                                        (!type already_seen 2)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 106)
                                        nil )
                                       (!pair  "first"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 107)
                                        nil )
                                       (!pair  "last"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 108)
                                        nil )
                                       (!pair  "length"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 109)
                                        nil )
                                      )
                                      nil 1 nil nil )
                                    )
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                nil )
                               (!pair  "named_ret_val"
                                (!type already_seen 391)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 117)
                                nil )
                               (!pair  "other_ret_val"
                                (!type already_seen 84)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 118)
                                nil )
                               (!pair  "gnat_ret"
                                (!type already_seen 2)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 119)
                                nil )
                              )
                              nil 1 
                              (!type already_seen 430)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 295)
                          nil )
                         (!pair  "used_types_hash"
                          (!type pointer 472 nil  gc_used
                           (!type user_struct 473 
                            (!type already_seen 472)
                            gc_pointed_to "hash_set<tree>"
                            (!srcfileloc  "function.h" 298)
                            (!fields 1 
                             (!pair  "tree"
                              (!type already_seen 23)
                              (!srcfileloc  "function.h" 298)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 298)
                          nil )
                         (!pair  "fde"
                          (!type pointer 474 nil  gc_used
                           (!type struct 475 
                            (!type already_seen 474)
                            gc_pointed_to "dw_fde_node"
                            (!srcfileloc  "dwarf2out.h" 111)
                            (!fields 22 
                             (!pair  "decl"
                              (!type already_seen 23)
                              (!srcfileloc  "dwarf2out.h" 79)
                              nil )
                             (!pair  "dw_fde_begin"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 80)
                              nil )
                             (!pair  "dw_fde_current_label"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 81)
                              nil )
                             (!pair  "dw_fde_end"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 82)
                              nil )
                             (!pair  "dw_fde_vms_end_prologue"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 83)
                              nil )
                             (!pair  "dw_fde_vms_begin_epilogue"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 84)
                              nil )
                             (!pair  "dw_fde_second_begin"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 85)
                              nil )
                             (!pair  "dw_fde_second_end"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 86)
                              nil )
                             (!pair  "dw_fde_cfi"
                              (!type pointer 476 nil  gc_used
                               (!type user_struct 477 
                                (!type already_seen 476)
                                gc_pointed_to "vec<dw_cfi_ref,va_gc>"
                                (!srcfileloc  "dwarf2out.h" 68)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "dwarf2out.h" 68)
                                  nil )
                                 (!pair  "dw_cfi_ref"
                                  (!type pointer 478 nil  gc_used
                                   (!type struct 479 
                                    (!type already_seen 478)
                                    gc_pointed_to "dw_cfi_node"
                                    (!srcfileloc  "dwarf2out.h" 65)
                                    (!fields 3 
                                     (!pair  "dw_cfi_opc"
                                      (!type already_seen 2)
                                      (!srcfileloc  "dwarf2out.h" 60)
                                      nil )
                                     (!pair  "dw_cfi_oprnd1"
                                      (!type union 480 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/dwarf2out.h:50"
                                       (!srcfileloc  "dwarf2out.h" 57)
                                       (!fields 5 
                                        (!pair  "dw_cfi_reg_num"
                                         (!type already_seen 2)
                                         (!srcfileloc  "dwarf2out.h" 51)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_reg_num")
                                         )
                                        )
                                        (!pair  "dw_cfi_offset"
                                         (!type already_seen 2)
                                         (!srcfileloc  "dwarf2out.h" 52)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_offset")
                                         )
                                        )
                                        (!pair  "dw_cfi_addr"
                                         (!type already_seen 11)
                                         (!srcfileloc  "dwarf2out.h" 53)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_addr")
                                         )
                                        )
                                        (!pair  "dw_cfi_loc"
                                         (!type pointer 481 nil  gc_used
                                          (!type struct 482 
                                           (!type already_seen 481)
                                           gc_pointed_to "dw_loc_descr_node"
                                           (!srcfileloc  "dwarf2out.h" 258)
                                           (!fields 7 
                                            (!pair  "dw_loc_next"
                                             (!type already_seen 481)
                                             (!srcfileloc  "dwarf2out.h" 246)
                                             nil )
                                            (!pair  "dw_loc_opc"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 247)
                                             nil )
                                            (!pair  "dtprel"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 250)
                                             nil )
                                            (!pair  "frame_offset_rel"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 254)
                                             nil )
                                            (!pair  "dw_loc_addr"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 255)
                                             nil )
                                            (!pair  "dw_loc_oprnd1"
                                             (!type struct 483 
                                              (!type pointer 484 nil  gc_unused
                                               (!type already_seen 483)
                                              )
                                              gc_used "dw_val_node"
                                              (!srcfileloc  "dwarf2out.h" 256)
                                              (!fields 3 
                                               (!pair  "val_class"
                                                (!type already_seen 2)
                                                (!srcfileloc  "dwarf2out.h" 201)
                                                nil )
                                               (!pair  "val_entry"
                                                (!type pointer 485 nil  gc_used
                                                 (!type struct 486 
                                                  (!type already_seen 485)
                                                  gc_pointed_to "addr_table_entry"
                                                  (!srcfileloc  "dwarf2out.c" 1308)
                                                  (!fields 4 
                                                   (!pair  "kind"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1289)
                                                    nil )
                                                   (!pair  "refcount"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1290)
                                                    nil )
                                                   (!pair  "index"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1291)
                                                    nil )
                                                   (!pair  "addr"
                                                    (!type union 487 nil  gc_used "addr_table_entry_struct_union"
                                                     (!srcfileloc  "dwarf2out.c" 1296)
                                                     (!fields 2 
                                                      (!pair  "rtl"
                                                       (!type already_seen 100)
                                                       (!srcfileloc  "dwarf2out.c" 1294)
                                                       (!options 
                                                        (!option tag string  "0")
                                                       )
                                                      )
                                                      (!pair  "label"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1295)
                                                       (!options 
                                                        (!option tag string  "1")
                                                       )
                                                      )
                                                     )
                                                     nil 2047 nil )
                                                    (!srcfileloc  "dwarf2out.c" 1297)
                                                    (!options 
                                                     (!option desc string  "%1.kind")
                                                    )
                                                   )
                                                  )
                                                  (!options 
                                                   (!option for_user string  "")
                                                  )
                                                  2047 nil nil )
                                                )
                                                (!srcfileloc  "dwarf2out.h" 202)
                                                nil )
                                               (!pair  "v"
                                                (!type union 488 nil  gc_used "dw_val_struct_union"
                                                 (!srcfileloc  "dwarf2out.h" 238)
                                                 (!fields 23 
                                                  (!pair  "val_addr"
                                                   (!type already_seen 100)
                                                   (!srcfileloc  "dwarf2out.h" 205)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_addr")
                                                   )
                                                  )
                                                  (!pair  "val_offset"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 206)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_offset")
                                                   )
                                                  )
                                                  (!pair  "val_loc_list"
                                                   (!type pointer 489 nil  gc_used
                                                    (!type struct 490 
                                                     (!type already_seen 489)
                                                     gc_pointed_to "dw_loc_list_struct"
                                                     (!srcfileloc  "dwarf2out.c" 1334)
                                                     (!fields 18 
                                                      (!pair  "dw_loc_next"
                                                       (!type already_seen 489)
                                                       (!srcfileloc  "dwarf2out.c" 1306)
                                                       nil )
                                                      (!pair  "begin"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1307)
                                                       nil )
                                                      (!pair  "begin_entry"
                                                       (!type already_seen 485)
                                                       (!srcfileloc  "dwarf2out.c" 1308)
                                                       nil )
                                                      (!pair  "end"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1309)
                                                       nil )
                                                      (!pair  "ll_symbol"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1310)
                                                       nil )
                                                      (!pair  "vl_symbol"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1312)
                                                       nil )
                                                      (!pair  "section"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1313)
                                                       nil )
                                                      (!pair  "expr"
                                                       (!type already_seen 481)
                                                       (!srcfileloc  "dwarf2out.c" 1314)
                                                       nil )
                                                      (!pair  "vbegin"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1315)
                                                       nil )
                                                      (!pair  "vend"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1315)
                                                       nil )
                                                      (!pair  "hash"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1316)
                                                       nil )
                                                      (!pair  "resolved_addr"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1319)
                                                       nil )
                                                      (!pair  "replaced"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1321)
                                                       nil )
                                                      (!pair  "emitted"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1324)
                                                       nil )
                                                      (!pair  "num_assigned"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1326)
                                                       nil )
                                                      (!pair  "offset_emitted"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1328)
                                                       nil )
                                                      (!pair  "noted_variable_value"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1330)
                                                       nil )
                                                      (!pair  "force"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1333)
                                                       nil )
                                                     )
                                                     nil 2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 207)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_loc_list")
                                                   )
                                                  )
                                                  (!pair  "val_view_list"
                                                   (!type pointer 491 nil  gc_used
                                                    (!type struct 492 
                                                     (!type already_seen 491)
                                                     gc_pointed_to "die_struct"
                                                     (!srcfileloc  "dwarf2out.c" 3104)
                                                     (!fields 15 
                                                      (!pair  "die_id"
                                                       (!type union 493 nil  gc_used "die_symbol_or_type_node"
                                                        (!srcfileloc  "dwarf2out.c" 3081)
                                                        (!fields 2 
                                                         (!pair  "die_symbol"
                                                          (!type already_seen 11)
                                                          (!srcfileloc  "dwarf2out.c" 3079)
                                                          (!options 
                                                           (!option tag string  "0")
                                                          )
                                                         )
                                                         (!pair  "die_type_node"
                                                          (!type pointer 494 nil  gc_used
                                                           (!type struct 495 
                                                            (!type already_seen 494)
                                                            gc_pointed_to "comdat_type_node"
                                                            (!srcfileloc  "dwarf2out.c" 3174)
                                                            (!fields 5 
                                                             (!pair  "root_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3169)
                                                              nil )
                                                             (!pair  "type_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3170)
                                                              nil )
                                                             (!pair  "skeleton_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3171)
                                                              nil )
                                                             (!pair  "signature"
                                                              (!type array 496 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                               (!type already_seen 8)
                                                              )
                                                              (!srcfileloc  "dwarf2out.c" 3172)
                                                              nil )
                                                             (!pair  "next"
                                                              (!type already_seen 494)
                                                              (!srcfileloc  "dwarf2out.c" 3173)
                                                              nil )
                                                            )
                                                            nil 2047 nil nil )
                                                          )
                                                          (!srcfileloc  "dwarf2out.c" 3080)
                                                          (!options 
                                                           (!option tag string  "1")
                                                          )
                                                         )
                                                        )
                                                        nil 2047 nil )
                                                       (!srcfileloc  "dwarf2out.c" 3082)
                                                       (!options 
                                                        (!option desc string  "%0.comdat_type_p")
                                                       )
                                                      )
                                                      (!pair  "die_attr"
                                                       (!type pointer 497 nil  gc_used
                                                        (!type user_struct 498 
                                                         (!type already_seen 497)
                                                         gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                         (!srcfileloc  "dwarf2out.c" 3083)
                                                         (!fields 2 
                                                          (!pair  "va_gc"
                                                           (!type already_seen 79)
                                                           (!srcfileloc  "dwarf2out.c" 3083)
                                                           nil )
                                                          (!pair  "dw_attr_node"
                                                           (!type struct 499 nil  gc_used "dw_attr_struct"
                                                            (!srcfileloc  "dwarf2out.c" 3068)
                                                            (!fields 2 
                                                             (!pair  "dw_attr"
                                                              (!type already_seen 2)
                                                              (!srcfileloc  "dwarf2out.c" 3066)
                                                              nil )
                                                             (!pair  "dw_attr_val"
                                                              (!type already_seen 483)
                                                              (!srcfileloc  "dwarf2out.c" 3067)
                                                              nil )
                                                            )
                                                            nil 2047 nil nil )
                                                           (!srcfileloc  "dwarf2out.c" 3083)
                                                           nil )
                                                         )
                                                        )
                                                       )
                                                       (!srcfileloc  "dwarf2out.c" 3083)
                                                       nil )
                                                      (!pair  "die_parent"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3084)
                                                       nil )
                                                      (!pair  "die_child"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3085)
                                                       nil )
                                                      (!pair  "die_sib"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3086)
                                                       nil )
                                                      (!pair  "die_definition"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3087)
                                                       nil )
                                                      (!pair  "die_offset"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3088)
                                                       nil )
                                                      (!pair  "die_abbrev"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3089)
                                                       nil )
                                                      (!pair  "die_mark"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3090)
                                                       nil )
                                                      (!pair  "decl_id"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3091)
                                                       nil )
                                                      (!pair  "die_tag"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3092)
                                                       nil )
                                                      (!pair  "die_perennial_p"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3094)
                                                       nil )
                                                      (!pair  "comdat_type_p"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3095)
                                                       nil )
                                                      (!pair  "with_offset"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3098)
                                                       nil )
                                                      (!pair  "removed"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3102)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                      (!option chain_circular string  "%h.die_sib")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 208)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_view_list")
                                                   )
                                                  )
                                                  (!pair  "val_loc"
                                                   (!type already_seen 481)
                                                   (!srcfileloc  "dwarf2out.h" 209)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_loc")
                                                   )
                                                  )
                                                  (!pair  "val_int"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 210)
                                                   (!options 
                                                    (!option default string  "")
                                                   )
                                                  )
                                                  (!pair  "val_unsigned"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 212)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_unsigned_const")
                                                   )
                                                  )
                                                  (!pair  "val_double"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 213)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_const_double")
                                                   )
                                                  )
                                                  (!pair  "val_wide"
                                                   (!type pointer 500 nil  gc_used
                                                    (!type user_struct 501 
                                                     (!type already_seen 500)
                                                     gc_pointed_to "generic_wide_int<wide_int_storage>"
                                                     (!srcfileloc  "wide-int.h" 322)
                                                     (!fields 1 
                                                      (!pair  "wide_int_storage"
                                                       (!type struct 502 nil  gc_used "wide_int_storage"
                                                        (!srcfileloc  "wide-int.h" 1088)
                                                        (!fields 3 
                                                         (!pair  "val"
                                                          (!type array 503 nil  gc_used "WIDE_INT_MAX_ELTS" 
                                                           (!type already_seen 2)
                                                          )
                                                          (!srcfileloc  "wide-int.h" 1062)
                                                          nil )
                                                         (!pair  "len"
                                                          (!type already_seen 2)
                                                          (!srcfileloc  "wide-int.h" 1063)
                                                          nil )
                                                         (!pair  "precision"
                                                          (!type already_seen 2)
                                                          (!srcfileloc  "wide-int.h" 1064)
                                                          nil )
                                                        )
                                                        nil 2047 nil nil )
                                                       (!srcfileloc  "wide-int.h" 322)
                                                       nil )
                                                     )
                                                    )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 214)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_wide_int")
                                                   )
                                                  )
                                                  (!pair  "val_vec"
                                                   (!type struct 504 nil  gc_used "dw_vec_const"
                                                    (!srcfileloc  "dwarf2out.h" 215)
                                                    (!fields 3 
                                                     (!pair  "array"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.h" 171)
                                                      (!options 
                                                       (!option atomic string  "")
                                                      )
                                                     )
                                                     (!pair  "length"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 172)
                                                      nil )
                                                     (!pair  "elt_size"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 173)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 215)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_vec")
                                                   )
                                                  )
                                                  (!pair  "val_die_ref"
                                                   (!type struct 505 nil  gc_used "dw_val_die_union"
                                                    (!srcfileloc  "dwarf2out.h" 220)
                                                    (!fields 2 
                                                     (!pair  "die"
                                                      (!type already_seen 491)
                                                      (!srcfileloc  "dwarf2out.h" 218)
                                                      nil )
                                                     (!pair  "external"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 219)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 220)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_die_ref")
                                                   )
                                                  )
                                                  (!pair  "val_fde_index"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 221)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_fde_ref")
                                                   )
                                                  )
                                                  (!pair  "val_str"
                                                   (!type pointer 506 nil  gc_used
                                                    (!type struct 507 
                                                     (!type already_seen 506)
                                                     gc_pointed_to "indirect_string_node"
                                                     (!srcfileloc  "dwarf2out.c" 221)
                                                     (!fields 5 
                                                      (!pair  "str"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 216)
                                                       nil )
                                                      (!pair  "refcount"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 217)
                                                       nil )
                                                      (!pair  "form"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 218)
                                                       nil )
                                                      (!pair  "label"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 219)
                                                       nil )
                                                      (!pair  "index"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 220)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 222)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_str")
                                                   )
                                                  )
                                                  (!pair  "val_lbl_id"
                                                   (!type already_seen 11)
                                                   (!srcfileloc  "dwarf2out.h" 223)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_lbl_id")
                                                   )
                                                  )
                                                  (!pair  "val_flag"
                                                   (!type already_seen 8)
                                                   (!srcfileloc  "dwarf2out.h" 224)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_flag")
                                                   )
                                                  )
                                                  (!pair  "val_file"
                                                   (!type pointer 508 nil  gc_used
                                                    (!type struct 509 
                                                     (!type already_seen 508)
                                                     gc_pointed_to "dwarf_file_data"
                                                     (!srcfileloc  "dwarf2out.c" 1278)
                                                     (!fields 2 
                                                      (!pair  "filename"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1276)
                                                       nil )
                                                      (!pair  "emitted_number"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1277)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 225)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file")
                                                   )
                                                  )
                                                  (!pair  "val_file_implicit"
                                                   (!type already_seen 508)
                                                   (!srcfileloc  "dwarf2out.h" 227)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file_implicit")
                                                   )
                                                  )
                                                  (!pair  "val_data8"
                                                   (!type array 510 nil  gc_used "8" 
                                                    (!type already_seen 8)
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 228)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_data8")
                                                   )
                                                  )
                                                  (!pair  "val_decl_ref"
                                                   (!type already_seen 23)
                                                   (!srcfileloc  "dwarf2out.h" 229)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_decl_ref")
                                                   )
                                                  )
                                                  (!pair  "val_vms_delta"
                                                   (!type struct 511 nil  gc_used "dw_val_vms_delta_union"
                                                    (!srcfileloc  "dwarf2out.h" 234)
                                                    (!fields 2 
                                                     (!pair  "lbl1"
                                                      (!type already_seen 11)
                                                      (!srcfileloc  "dwarf2out.h" 232)
                                                      nil )
                                                     (!pair  "lbl2"
                                                      (!type already_seen 11)
                                                      (!srcfileloc  "dwarf2out.h" 233)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 234)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_vms_delta")
                                                   )
                                                  )
                                                  (!pair  "val_discr_value"
                                                   (!type struct 512 nil  gc_used "dw_discr_value"
                                                    (!srcfileloc  "dwarf2out.h" 235)
                                                    (!fields 2 
                                                     (!pair  "pos"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 186)
                                                      nil )
                                                     (!pair  "v"
                                                      (!type union 513 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/dwarf2out.h:188"
                                                       (!srcfileloc  "dwarf2out.h" 191)
                                                       (!fields 2 
                                                        (!pair  "sval"
                                                         (!type already_seen 2)
                                                         (!srcfileloc  "dwarf2out.h" 189)
                                                         (!options 
                                                          (!option tag string  "0")
                                                         )
                                                        )
                                                        (!pair  "uval"
                                                         (!type already_seen 2)
                                                         (!srcfileloc  "dwarf2out.h" 190)
                                                         (!options 
                                                          (!option tag string  "1")
                                                         )
                                                        )
                                                       )
                                                       nil 2047 nil )
                                                      (!srcfileloc  "dwarf2out.h" 192)
                                                      (!options 
                                                       (!option desc string  "%1.pos")
                                                      )
                                                     )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 235)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_discr_value")
                                                   )
                                                  )
                                                  (!pair  "val_discr_list"
                                                   (!type pointer 514 nil  gc_used
                                                    (!type struct 515 
                                                     (!type already_seen 514)
                                                     gc_pointed_to "dw_discr_list_node"
                                                     (!srcfileloc  "dwarf2out.h" 273)
                                                     (!fields 4 
                                                      (!pair  "dw_discr_next"
                                                       (!type already_seen 514)
                                                       (!srcfileloc  "dwarf2out.h" 265)
                                                       nil )
                                                      (!pair  "dw_discr_lower_bound"
                                                       (!type already_seen 512)
                                                       (!srcfileloc  "dwarf2out.h" 267)
                                                       nil )
                                                      (!pair  "dw_discr_upper_bound"
                                                       (!type already_seen 512)
                                                       (!srcfileloc  "dwarf2out.h" 268)
                                                       nil )
                                                      (!pair  "dw_discr_range"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.h" 272)
                                                       nil )
                                                     )
                                                     nil 2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 236)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_discr_list")
                                                   )
                                                  )
                                                  (!pair  "val_symbolic_view"
                                                   (!type already_seen 11)
                                                   (!srcfileloc  "dwarf2out.h" 237)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_symview")
                                                   )
                                                  )
                                                 )
                                                 nil 2047 nil )
                                                (!srcfileloc  "dwarf2out.h" 239)
                                                (!options 
                                                 (!option desc string  "%1.val_class")
                                                )
                                               )
                                              )
                                              nil 2047 nil nil )
                                             (!srcfileloc  "dwarf2out.h" 256)
                                             nil )
                                            (!pair  "dw_loc_oprnd2"
                                             (!type already_seen 483)
                                             (!srcfileloc  "dwarf2out.h" 257)
                                             nil )
                                           )
                                           (!options 
                                            (!option chain_next string  "%h.dw_loc_next")
                                           )
                                           2047 nil nil )
                                         )
                                         (!srcfileloc  "dwarf2out.h" 54)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_loc")
                                         )
                                        )
                                        (!pair  "dw_cfi_cfa_loc"
                                         (!type pointer 516 nil  gc_used
                                          (!type struct 517 
                                           (!type already_seen 516)
                                           gc_pointed_to "dw_cfa_location"
                                           (!srcfileloc  "dwarf2cfi.c" 66)
                                           (!fields 5 
                                            (!pair  "offset"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 120)
                                             nil )
                                            (!pair  "base_offset"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 121)
                                             nil )
                                            (!pair  "reg"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 123)
                                             nil )
                                            (!pair  "indirect"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 124)
                                             nil )
                                            (!pair  "in_use"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 125)
                                             nil )
                                           )
                                           nil 2047 nil nil )
                                         )
                                         (!srcfileloc  "dwarf2out.h" 56)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_cfa_loc")
                                         )
                                        )
                                       )
                                       nil 2047 nil )
                                      (!srcfileloc  "dwarf2out.h" 62)
                                      (!options 
                                       (!option desc string  "dw_cfi_oprnd1_desc (%1.dw_cfi_opc)")
                                      )
                                     )
                                     (!pair  "dw_cfi_oprnd2"
                                      (!type already_seen 480)
                                      (!srcfileloc  "dwarf2out.h" 64)
                                      (!options 
                                       (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                                      )
                                     )
                                    )
                                    nil 2047 nil nil )
                                  )
                                  (!srcfileloc  "dwarf2out.h" 68)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "dwarf2out.h" 87)
                              nil )
                             (!pair  "dw_fde_switch_cfi_index"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 88)
                              nil )
                             (!pair  "stack_realignment"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 89)
                              nil )
                             (!pair  "funcdef_number"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 91)
                              nil )
                             (!pair  "fde_index"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 92)
                              nil )
                             (!pair  "drap_reg"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 95)
                              nil )
                             (!pair  "vdrap_reg"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 97)
                              nil )
                             (!pair  "all_throwers_are_sibcalls"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 99)
                              nil )
                             (!pair  "uses_eh_lsda"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 100)
                              nil )
                             (!pair  "nothrow"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 101)
                              nil )
                             (!pair  "stack_realign"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 103)
                              nil )
                             (!pair  "drap_reg_saved"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 105)
                              nil )
                             (!pair  "in_std_section"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 107)
                              nil )
                             (!pair  "second_in_std_section"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 110)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 303)
                          nil )
                         (!pair  "last_stmt_uid"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 306)
                          nil )
                         (!pair  "debug_marker_count"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 312)
                          nil )
                         (!pair  "funcdef_no"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 315)
                          nil )
                         (!pair  "function_start_locus"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 318)
                          nil )
                         (!pair  "function_end_locus"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 321)
                          nil )
                         (!pair  "curr_properties"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 324)
                          nil )
                         (!pair  "last_verified"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 325)
                          nil )
                         (!pair  "cannot_be_copied_reason"
                          (!type already_seen 11)
                          (!srcfileloc  "function.h" 330)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "last_clique"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 333)
                          nil )
                         (!pair  "va_list_gpr_size"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 340)
                          nil )
                         (!pair  "va_list_fpr_size"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 344)
                          nil )
                         (!pair  "calls_setjmp"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 347)
                          nil )
                         (!pair  "calls_alloca"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 351)
                          nil )
                         (!pair  "calls_eh_return"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 354)
                          nil )
                         (!pair  "has_nonlocal_label"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 358)
                          nil )
                         (!pair  "has_forced_label_in_static"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 362)
                          nil )
                         (!pair  "cannot_be_copied_set"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 367)
                          nil )
                         (!pair  "stdarg"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 370)
                          nil )
                         (!pair  "after_inlining"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 372)
                          nil )
                         (!pair  "always_inline_functions_inlined"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 373)
                          nil )
                         (!pair  "can_throw_non_call_exceptions"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 377)
                          nil )
                         (!pair  "can_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 381)
                          nil )
                         (!pair  "returns_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 388)
                          nil )
                         (!pair  "returns_pcc_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 392)
                          nil )
                         (!pair  "has_local_explicit_reg_vars"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 396)
                          nil )
                         (!pair  "is_thunk"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 402)
                          nil )
                         (!pair  "has_force_vectorize_loops"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 406)
                          nil )
                         (!pair  "has_simduid_loops"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 410)
                          nil )
                         (!pair  "tail_call_marked"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 413)
                          nil )
                         (!pair  "has_unroll"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 416)
                          nil )
                         (!pair  "debug_nonbind_markers"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 420)
                          nil )
                         (!pair  "coroutine_component"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 423)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1860)
                      nil )
                     (!pair  "arguments"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1863)
                      nil )
                     (!pair  "personality"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1865)
                      nil )
                     (!pair  "function_specific_target"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1868)
                      nil )
                     (!pair  "function_specific_optimization"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1869)
                      nil )
                     (!pair  "saved_tree"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1872)
                      nil )
                     (!pair  "vindex"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1874)
                      nil )
                     (!pair  "function_code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1877)
                      nil )
                     (!pair  "built_in_class"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1879)
                      nil )
                     (!pair  "static_ctor_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1880)
                      nil )
                     (!pair  "static_dtor_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1881)
                      nil )
                     (!pair  "uninlinable"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1882)
                      nil )
                     (!pair  "possibly_inlined"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1883)
                      nil )
                     (!pair  "novops_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1884)
                      nil )
                     (!pair  "returns_twice_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1885)
                      nil )
                     (!pair  "malloc_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1887)
                      nil )
                     (!pair  "declared_inline_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1888)
                      nil )
                     (!pair  "no_inline_warning_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1889)
                      nil )
                     (!pair  "no_instrument_function_entry_exit"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1890)
                      nil )
                     (!pair  "no_limit_stack"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1891)
                      nil )
                     (!pair  "disregard_inline_limits"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1892)
                      nil )
                     (!pair  "pure_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1893)
                      nil )
                     (!pair  "looping_const_or_pure_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1894)
                      nil )
                     (!pair  "decl_type"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1897)
                      nil )
                     (!pair  "has_debug_args_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1898)
                      nil )
                     (!pair  "versioned_function"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1899)
                      nil )
                     (!pair  "replaceable_operator"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1900)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1995)
                   (!options 
                    (!option tag string  "TS_FUNCTION_DECL")
                   )
                  )
                  (!pair  "translation_unit_decl"
                   (!type struct 518 nil  gc_used "tree_translation_unit_decl"
                    (!srcfileloc  "tree-core.h" 1911)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1906)
                      nil )
                     (!pair  "language"
                      (!type already_seen 11)
                      (!srcfileloc  "tree-core.h" 1908)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1997)
                   (!options 
                    (!option tag string  "TS_TRANSLATION_UNIT_DECL")
                   )
                  )
                  (!pair  "type_common"
                   (!type struct 519 nil  gc_used "tree_type_common"
                    (!srcfileloc  "tree-core.h" 1647)
                    (!fields 36 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1596)
                      nil )
                     (!pair  "size"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1597)
                      nil )
                     (!pair  "size_unit"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1598)
                      nil )
                     (!pair  "attributes"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1599)
                      nil )
                     (!pair  "uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1600)
                      nil )
                     (!pair  "precision"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1602)
                      nil )
                     (!pair  "no_force_blk_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1603)
                      nil )
                     (!pair  "needs_constructing_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1604)
                      nil )
                     (!pair  "transparent_aggr_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1605)
                      nil )
                     (!pair  "restrict_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1606)
                      nil )
                     (!pair  "contains_placeholder_bits"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1607)
                      nil )
                     (!pair  "mode"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1609)
                      nil )
                     (!pair  "string_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1613)
                      nil )
                     (!pair  "lang_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1614)
                      nil )
                     (!pair  "lang_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1615)
                      nil )
                     (!pair  "lang_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1616)
                      nil )
                     (!pair  "lang_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1617)
                      nil )
                     (!pair  "lang_flag_4"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1618)
                      nil )
                     (!pair  "lang_flag_5"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1619)
                      nil )
                     (!pair  "lang_flag_6"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1620)
                      nil )
                     (!pair  "lang_flag_7"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1621)
                      nil )
                     (!pair  "align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1628)
                      nil )
                     (!pair  "warn_if_not_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1629)
                      nil )
                     (!pair  "typeless_storage"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1630)
                      nil )
                     (!pair  "empty_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1631)
                      nil )
                     (!pair  "indivisible_p"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1632)
                      nil )
                     (!pair  "spare"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1633)
                      nil )
                     (!pair  "alias_set"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1635)
                      nil )
                     (!pair  "pointer_to"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1636)
                      nil )
                     (!pair  "reference_to"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1637)
                      nil )
                     (!pair  "symtab"
                      (!type union 520 nil  gc_used "tree_type_symtab"
                       (!srcfileloc  "tree-core.h" 1641)
                       (!fields 2 
                        (!pair  "address"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1639)
                         (!options 
                          (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                         )
                        )
                        (!pair  "die"
                         (!type already_seen 491)
                         (!srcfileloc  "tree-core.h" 1640)
                         (!options 
                          (!option tag string  "TYPE_SYMTAB_IS_DIE")
                         )
                        )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1641)
                      (!options 
                       (!option desc string  "debug_hooks->tree_type_symtab_field")
                      )
                     )
                     (!pair  "canonical"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1642)
                      nil )
                     (!pair  "next_variant"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1643)
                      nil )
                     (!pair  "main_variant"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1644)
                      nil )
                     (!pair  "context"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1645)
                      nil )
                     (!pair  "name"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1646)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1998)
                   (!options 
                    (!option tag string  "TS_TYPE_COMMON")
                   )
                  )
                  (!pair  "type_with_lang_specific"
                   (!type struct 521 nil  gc_used "tree_type_with_lang_specific"
                    (!srcfileloc  "tree-core.h" 1653)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 519)
                      (!srcfileloc  "tree-core.h" 1650)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 522 nil  gc_used
                       (!type lang_struct 523 
                        (!type already_seen 522)
                        gc_pointed_to "lang_type"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 524 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "lto/lto-tree.h" 37)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "lto/lto-tree.h" 36)
                            nil )
                          )
                          nil 256 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 525 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "jit/dummy-frontend.c" 38)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "jit/dummy-frontend.c" 37)
                            nil )
                          )
                          nil 128 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 526 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "go/go-lang.c" 51)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "go/go-lang.c" 50)
                            nil )
                          )
                          nil 64 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 527 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "fortran/trans.h" 1000)
                          (!fields 14 
                           (!pair  "rank"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 987)
                            nil )
                           (!pair  "corank"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 987)
                            nil )
                           (!pair  "akind"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 988)
                            nil )
                           (!pair  "lbound"
                            (!type array 528 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 989)
                            nil )
                           (!pair  "ubound"
                            (!type array 529 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 990)
                            nil )
                           (!pair  "stride"
                            (!type array 530 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 991)
                            nil )
                           (!pair  "size"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 992)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 993)
                            nil )
                           (!pair  "dtype"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 994)
                            nil )
                           (!pair  "dataptr_type"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 995)
                            nil )
                           (!pair  "base_decl"
                            (!type array 531 nil  gc_used "2" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 996)
                            nil )
                           (!pair  "nonrestricted_type"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 997)
                            nil )
                           (!pair  "caf_token"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 998)
                            nil )
                           (!pair  "caf_offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 999)
                            nil )
                          )
                          nil 32 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 532 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "d/d-tree.h" 312)
                          (!fields 1 
                           (!pair  "type"
                            (!type pointer 533 nil  gc_unused
                             (!type struct 534 
                              (!type already_seen 533)
                              gc_unused "Type"
                              (!srcfileloc  "d/d-tree.h" 311)
                              (!fields 0 )
                              nil 16 nil nil )
                            )
                            (!srcfileloc  "d/d-tree.h" 311)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                          )
                          nil 16 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 535 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "cp/cp-tree.h" 2235)
                          (!fields 66 
                           (!pair  "align"
                            (!type already_seen 8)
                            (!srcfileloc  "cp/cp-tree.h" 2148)
                            nil )
                           (!pair  "has_type_conversion"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2150)
                            nil )
                           (!pair  "has_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2151)
                            nil )
                           (!pair  "has_default_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2152)
                            nil )
                           (!pair  "const_needs_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2153)
                            nil )
                           (!pair  "ref_needs_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2154)
                            nil )
                           (!pair  "has_const_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2155)
                            nil )
                           (!pair  "use_template"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2156)
                            nil )
                           (!pair  "has_mutable"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2158)
                            nil )
                           (!pair  "com_interface"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2159)
                            nil )
                           (!pair  "non_pod_class"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2160)
                            nil )
                           (!pair  "nearly_empty_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2161)
                            nil )
                           (!pair  "user_align"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2162)
                            nil )
                           (!pair  "has_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2163)
                            nil )
                           (!pair  "has_new"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2164)
                            nil )
                           (!pair  "has_array_new"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2165)
                            nil )
                           (!pair  "gets_delete"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2167)
                            nil )
                           (!pair  "interface_only"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2168)
                            nil )
                           (!pair  "interface_unknown"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2169)
                            nil )
                           (!pair  "contains_empty_class_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2170)
                            nil )
                           (!pair  "anon_aggr"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2171)
                            nil )
                           (!pair  "non_zero_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2172)
                            nil )
                           (!pair  "empty_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2173)
                            nil )
                           (!pair  "vec_new_uses_cookie"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2176)
                            nil )
                           (!pair  "declared_class"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2177)
                            nil )
                           (!pair  "diamond_shaped"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2178)
                            nil )
                           (!pair  "repeated_base"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2179)
                            nil )
                           (!pair  "being_defined"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2180)
                            nil )
                           (!pair  "debug_requested"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2181)
                            nil )
                           (!pair  "fields_readonly"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2182)
                            nil )
                           (!pair  "ptrmemfunc_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2183)
                            nil )
                           (!pair  "lazy_default_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2185)
                            nil )
                           (!pair  "lazy_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2186)
                            nil )
                           (!pair  "lazy_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2187)
                            nil )
                           (!pair  "lazy_destructor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2188)
                            nil )
                           (!pair  "has_const_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2189)
                            nil )
                           (!pair  "has_complex_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2190)
                            nil )
                           (!pair  "has_complex_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2191)
                            nil )
                           (!pair  "non_aggregate"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2192)
                            nil )
                           (!pair  "has_complex_dflt"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2194)
                            nil )
                           (!pair  "has_list_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2195)
                            nil )
                           (!pair  "non_std_layout"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2196)
                            nil )
                           (!pair  "is_literal"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2197)
                            nil )
                           (!pair  "lazy_move_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2198)
                            nil )
                           (!pair  "lazy_move_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2199)
                            nil )
                           (!pair  "has_complex_move_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2200)
                            nil )
                           (!pair  "has_complex_move_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2201)
                            nil )
                           (!pair  "has_constexpr_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2203)
                            nil )
                           (!pair  "unique_obj_representations"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2204)
                            nil )
                           (!pair  "unique_obj_representations_set"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2205)
                            nil )
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2214)
                            nil )
                           (!pair  "primary_base"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2216)
                            nil )
                           (!pair  "vcall_indices"
                            (!type pointer 536 nil  gc_used
                             (!type user_struct 537 
                              (!type already_seen 536)
                              gc_pointed_to "vec<tree_pair_s,va_gc>"
                              (!srcfileloc  "cp/cp-tree.h" 2217)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 79)
                                (!srcfileloc  "cp/cp-tree.h" 2217)
                                nil )
                               (!pair  "tree_pair_s"
                                (!type struct 538 
                                 (!type pointer 539 nil  gc_used
                                  (!type already_seen 538)
                                 )
                                 gc_pointed_to "tree_pair_s"
                                 (!srcfileloc  "cp/cp-tree.h" 2132)
                                 (!fields 2 
                                  (!pair  "purpose"
                                   (!type already_seen 23)
                                   (!srcfileloc  "cp/cp-tree.h" 2129)
                                   nil )
                                  (!pair  "value"
                                   (!type already_seen 23)
                                   (!srcfileloc  "cp/cp-tree.h" 2130)
                                   nil )
                                 )
                                 nil 1032 nil nil )
                                (!srcfileloc  "cp/cp-tree.h" 2217)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "cp/cp-tree.h" 2217)
                            nil )
                           (!pair  "vtables"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2218)
                            nil )
                           (!pair  "typeinfo_var"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2219)
                            nil )
                           (!pair  "vbases"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2220)
                            nil )
                           (!pair  "nested_udts"
                            (!type pointer 540 nil  gc_used
                             (!type struct 541 
                              (!type already_seen 540)
                              gc_pointed_to "binding_table_s"
                              (!srcfileloc  "cp/name-lookup.c" 1802)
                              (!fields 3 
                               (!pair  "chain"
                                (!type pointer 542 nil  gc_unused
                                 (!type pointer 543 
                                  (!type already_seen 542)
                                  gc_used
                                  (!type struct 544 
                                   (!type already_seen 543)
                                   gc_pointed_to "binding_entry_s"
                                   (!srcfileloc  "cp/name-lookup.h" 38)
                                   (!fields 3 
                                    (!pair  "chain"
                                     (!type already_seen 543)
                                     (!srcfileloc  "cp/name-lookup.h" 35)
                                     nil )
                                    (!pair  "name"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/name-lookup.h" 36)
                                     nil )
                                    (!pair  "type"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/name-lookup.h" 37)
                                     nil )
                                   )
                                   nil 1032 nil nil )
                                 )
                                )
                                (!srcfileloc  "cp/name-lookup.c" 1794)
                                (!options 
                                 (!option length string  "%h.chain_count")
                                )
                               )
                               (!pair  "chain_count"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/name-lookup.c" 1798)
                                nil )
                               (!pair  "entry_count"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/name-lookup.c" 1801)
                                nil )
                              )
                              nil 1032 nil nil )
                            )
                            (!srcfileloc  "cp/cp-tree.h" 2221)
                            nil )
                           (!pair  "as_base"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2222)
                            nil )
                           (!pair  "pure_virtuals"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2223)
                            nil )
                           (!pair  "friend_classes"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2224)
                            nil )
                           (!pair  "members"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2225)
                            (!options 
                             (!option reorder string  "resort_type_member_vec")
                            )
                           )
                           (!pair  "key_method"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2226)
                            nil )
                           (!pair  "decl_list"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2227)
                            nil )
                           (!pair  "befriending_classes"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2228)
                            nil )
                           (!pair  "objc_info"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2232)
                            nil )
                           (!pair  "lambda_expr"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2234)
                            nil )
                          )
                          nil 1032 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 545 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "c/c-lang.h" 42)
                          (!fields 4 
                           (!pair  "s"
                            (!type pointer 546 nil  gc_used
                             (!type struct 547 
                              (!type already_seen 546)
                              gc_pointed_to "sorted_fields_type"
                              (!srcfileloc  "c/c-lang.h" 30)
                              (!fields 2 
                               (!pair  "len"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 28)
                                nil )
                               (!pair  "elts"
                                (!type array 548 nil  gc_used "1" 
                                 (!type already_seen 23)
                                )
                                (!srcfileloc  "c/c-lang.h" 29)
                                (!options 
                                 (!option length string  "%h.len")
                                )
                               )
                              )
                              nil 516 nil nil )
                            )
                            (!srcfileloc  "c/c-lang.h" 34)
                            (!options 
                             (!option reorder string  "resort_sorted_fields")
                            )
                           )
                           (!pair  "enum_min"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 36)
                            nil )
                           (!pair  "enum_max"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 37)
                            nil )
                           (!pair  "objc_info"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 41)
                            nil )
                          )
                          nil 516 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 549 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "brig/brig-lang.c" 71)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "brig/brig-lang.c" 70)
                            nil )
                          )
                          nil 2 
                          (!type already_seen 523)
                          nil )
                         
                         (!type struct 550 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                          (!fields 2 
                           (!pair  "t1"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                            nil )
                           (!pair  "t2"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                            nil )
                          )
                          nil 1 
                          (!type already_seen 523)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1652)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2000)
                   (!options 
                    (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
                   )
                  )
                  (!pair  "type_non_common"
                   (!type struct 551 nil  gc_used "tree_type_non_common"
                    (!srcfileloc  "tree-core.h" 1661)
                    (!fields 5 
                     (!pair  "with_lang_specific"
                      (!type already_seen 521)
                      (!srcfileloc  "tree-core.h" 1656)
                      nil )
                     (!pair  "values"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1657)
                      nil )
                     (!pair  "minval"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1658)
                      nil )
                     (!pair  "maxval"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1659)
                      nil )
                     (!pair  "lang_1"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1660)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2002)
                   (!options 
                    (!option tag string  "TS_TYPE_NON_COMMON")
                   )
                  )
                  (!pair  "list"
                   (!type struct 552 nil  gc_used "tree_list"
                    (!srcfileloc  "tree-core.h" 1431)
                    (!fields 3 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1428)
                      nil )
                     (!pair  "purpose"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1429)
                      nil )
                     (!pair  "value"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1430)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2003)
                   (!options 
                    (!option tag string  "TS_LIST")
                   )
                  )
                  (!pair  "vec"
                   (!type struct 553 nil  gc_used "tree_vec"
                    (!srcfileloc  "tree-core.h" 1436)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1434)
                      nil )
                     (!pair  "a"
                      (!type array 554 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1435)
                      (!options 
                       (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2004)
                   (!options 
                    (!option tag string  "TS_VEC")
                   )
                  )
                  (!pair  "exp"
                   (!type struct 555 nil  gc_used "tree_exp"
                    (!srcfileloc  "tree-core.h" 1496)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1491)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1492)
                      nil )
                     (!pair  "operands"
                      (!type union 556 nil  gc_used "tree_exp_subunion"
                       (!srcfileloc  "tree-core.h" 1495)
                       (!fields 1 
                        (!pair  ""
                         (!type array 557 nil  gc_used "1" 
                          (!type already_seen 23)
                         )
                         (!srcfileloc  "gengtype.c" 1393)
                         (!options 
                          (!option default string  "")
                          (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                          (!option dot string  "")
                         )
                        )
                       )
                       (!options 
                        (!option dot string  "")
                       )
                       2047 nil )
                      (!srcfileloc  "tree-core.h" 1495)
                      (!options 
                       (!option desc string  "TREE_CODE ((tree) &%0)")
                       (!option special string  "tree_exp")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2005)
                   (!options 
                    (!option tag string  "TS_EXP")
                   )
                  )
                  (!pair  "ssa_name"
                   (!type struct 558 nil  gc_used "tree_ssa_name"
                    (!srcfileloc  "tree-core.h" 1532)
                    (!fields 5 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1513)
                      nil )
                     (!pair  "var"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1516)
                      nil )
                     (!pair  "def_stmt"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1519)
                      nil )
                     (!pair  "info"
                      (!type union 559 nil  gc_used "ssa_name_info_type"
                       (!srcfileloc  "tree-core.h" 1527)
                       (!fields 2 
                        (!pair  "ptr_info"
                         (!type pointer 560 nil  gc_used
                          (!type struct 561 
                           (!type already_seen 560)
                           gc_pointed_to "ptr_info_def"
                           (!srcfileloc  "tree-ssanames.h" 46)
                           (!fields 3 
                            (!pair  "pt"
                             (!type already_seen 390)
                             (!srcfileloc  "tree-ssanames.h" 28)
                             nil )
                            (!pair  "align"
                             (!type already_seen 2)
                             (!srcfileloc  "tree-ssanames.h" 40)
                             nil )
                            (!pair  "misalign"
                             (!type already_seen 2)
                             (!srcfileloc  "tree-ssanames.h" 45)
                             nil )
                           )
                           nil 2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1524)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                        (!pair  "range_info"
                         (!type pointer 562 nil  gc_used
                          (!type struct 563 
                           (!type already_seen 562)
                           gc_pointed_to "range_info_def"
                           (!srcfileloc  "tree-ssanames.h" 56)
                           (!fields 0 )
                           (!options 
                            (!option variable_size string  "")
                           )
                           2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1526)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1528)
                      (!options 
                       (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
                      )
                     )
                     (!pair  "imm_uses"
                      (!type struct 564 
                       (!type pointer 565 nil  gc_unused
                        (!type already_seen 564)
                       )
                       gc_used "ssa_use_operand_t"
                       (!srcfileloc  "tree-ssa-operands.h" 30)
                       (!fields 4 
                        (!pair  "prev"
                         (!type already_seen 565)
                         (!srcfileloc  "tree-core.h" 1501)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 565)
                         (!srcfileloc  "tree-core.h" 1502)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "loc"
                         (!type union 566 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1508"
                          (!srcfileloc  "tree-core.h" 1508)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 280)
                            (!srcfileloc  "tree-core.h" 1508)
                            nil )
                           (!pair  "ssa_name"
                            (!type already_seen 23)
                            (!srcfileloc  "tree-core.h" 1508)
                            nil )
                          )
                          nil 2047 nil )
                         (!srcfileloc  "tree-core.h" 1508)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "use"
                         (!type already_seen 24)
                         (!srcfileloc  "tree-core.h" 1509)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 2047 nil nil )
                      (!srcfileloc  "tree-core.h" 1531)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2006)
                   (!options 
                    (!option tag string  "TS_SSA_NAME")
                   )
                  )
                  (!pair  "block"
                   (!type struct 567 nil  gc_used "tree_block"
                    (!srcfileloc  "tree-core.h" 1593)
                    (!fields 13 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1574)
                      nil )
                     (!pair  "chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1575)
                      nil )
                     (!pair  "block_num"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1577)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1579)
                      nil )
                     (!pair  "end_locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1580)
                      nil )
                     (!pair  "vars"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1582)
                      nil )
                     (!pair  "nonlocalized_vars"
                      (!type already_seen 84)
                      (!srcfileloc  "tree-core.h" 1583)
                      nil )
                     (!pair  "subblocks"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1585)
                      nil )
                     (!pair  "supercontext"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1586)
                      nil )
                     (!pair  "abstract_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1587)
                      nil )
                     (!pair  "fragment_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1588)
                      nil )
                     (!pair  "fragment_chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1589)
                      nil )
                     (!pair  "die"
                      (!type already_seen 491)
                      (!srcfileloc  "tree-core.h" 1592)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2007)
                   (!options 
                    (!option tag string  "TS_BLOCK")
                   )
                  )
                  (!pair  "binfo"
                   (!type struct 568 nil  gc_used "tree_binfo"
                    (!srcfileloc  "tree-core.h" 1677)
                    (!fields 10 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1664)
                      nil )
                     (!pair  "offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1666)
                      nil )
                     (!pair  "vtable"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1667)
                      nil )
                     (!pair  "virtuals"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1668)
                      nil )
                     (!pair  "vptr_field"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1669)
                      nil )
                     (!pair  "base_accesses"
                      (!type already_seen 84)
                      (!srcfileloc  "tree-core.h" 1670)
                      nil )
                     (!pair  "inheritance"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1671)
                      nil )
                     (!pair  "vtt_subvtt"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1673)
                      nil )
                     (!pair  "vtt_vptr"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1674)
                      nil )
                     (!pair  "base_binfos"
                      (!type already_seen 85)
                      (!srcfileloc  "tree-core.h" 1676)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2008)
                   (!options 
                    (!option tag string  "TS_BINFO")
                   )
                  )
                  (!pair  "stmt_list"
                   (!type struct 569 nil  gc_used "tree_statement_list"
                    (!srcfileloc  "tree-core.h" 1930)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1927)
                      nil )
                     (!pair  "head"
                      (!type pointer 570 nil  gc_used
                       (!type struct 571 
                        (!type already_seen 570)
                        gc_pointed_to "tree_statement_list_node"
                        (!srcfileloc  "tree-core.h" 1923)
                        (!fields 3 
                         (!pair  "prev"
                          (!type already_seen 570)
                          (!srcfileloc  "tree-core.h" 1920)
                          nil )
                         (!pair  "next"
                          (!type already_seen 570)
                          (!srcfileloc  "tree-core.h" 1921)
                          nil )
                         (!pair  "stmt"
                          (!type already_seen 23)
                          (!srcfileloc  "tree-core.h" 1922)
                          nil )
                        )
                        (!options 
                         (!option chain_prev string  "%h.prev")
                         (!option chain_next string  "%h.next")
                        )
                        2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1928)
                      nil )
                     (!pair  "tail"
                      (!type already_seen 570)
                      (!srcfileloc  "tree-core.h" 1929)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2009)
                   (!options 
                    (!option tag string  "TS_STATEMENT_LIST")
                   )
                  )
                  (!pair  "constructor"
                   (!type struct 572 nil  gc_used "tree_constructor"
                    (!srcfileloc  "tree-core.h" 1450)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1448)
                      nil )
                     (!pair  "elts"
                      (!type pointer 573 nil  gc_used
                       (!type user_struct 574 
                        (!type already_seen 573)
                        gc_pointed_to "vec<constructor_elt,va_gc>"
                        (!srcfileloc  "tree-core.h" 1449)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 79)
                          (!srcfileloc  "tree-core.h" 1449)
                          nil )
                         (!pair  "constructor_elt"
                          (!type struct 575 nil  gc_used "constructor_elt"
                           (!srcfileloc  "tree-core.h" 1449)
                           (!fields 2 
                            (!pair  "index"
                             (!type already_seen 23)
                             (!srcfileloc  "tree-core.h" 1443)
                             nil )
                            (!pair  "value"
                             (!type already_seen 23)
                             (!srcfileloc  "tree-core.h" 1444)
                             nil )
                           )
                           nil 2047 nil nil )
                          (!srcfileloc  "tree-core.h" 1449)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1449)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2010)
                   (!options 
                    (!option tag string  "TS_CONSTRUCTOR")
                   )
                  )
                  (!pair  "omp_clause"
                   (!type struct 576 nil  gc_used "tree_omp_clause"
                    (!srcfileloc  "tree-core.h" 1571)
                    (!fields 7 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1543)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1544)
                      nil )
                     (!pair  "code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1545)
                      nil )
                     (!pair  "subcode"
                      (!type union 577 nil  gc_unused "omp_clause_subcode"
                       (!srcfileloc  "tree-core.h" 1562)
                       (!fields 12 
                        (!pair  "default_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1547)
                         nil )
                        (!pair  "schedule_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1548)
                         nil )
                        (!pair  "depend_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1549)
                         nil )
                        (!pair  "map_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1551)
                         nil )
                        (!pair  "proc_bind_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1552)
                         nil )
                        (!pair  "reduction_code"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1553)
                         nil )
                        (!pair  "linear_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1554)
                         nil )
                        (!pair  "if_modifier"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1555)
                         nil )
                        (!pair  "defaultmap_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1556)
                         nil )
                        (!pair  "bind_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1557)
                         nil )
                        (!pair  "device_type_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1558)
                         nil )
                        (!pair  "dimension"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1561)
                         nil )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1562)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "gimple_reduction_init"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1566)
                      nil )
                     (!pair  "gimple_reduction_merge"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1567)
                      nil )
                     (!pair  "ops"
                      (!type array 578 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1570)
                      (!options 
                       (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2011)
                   (!options 
                    (!option tag string  "TS_OMP_CLAUSE")
                   )
                  )
                  (!pair  "optimization"
                   (!type struct 579 nil  gc_used "tree_optimization_option"
                    (!srcfileloc  "tree-core.h" 1948)
                    (!fields 4 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1936)
                      nil )
                     (!pair  "opts"
                      (!type pointer 580 nil  gc_used
                       (!type struct 581 
                        (!type already_seen 580)
                        gc_pointed_to "cl_optimization"
                        (!fileloc  "options.h" 7685)
                        (!fields 451 
                         (!pair  "x_str_align_functions"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7234)
                          nil )
                         (!pair  "x_str_align_jumps"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7235)
                          nil )
                         (!pair  "x_str_align_labels"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7236)
                          nil )
                         (!pair  "x_str_align_loops"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7237)
                          nil )
                         (!pair  "x_param_align_loop_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7238)
                          nil )
                         (!pair  "x_param_align_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7239)
                          nil )
                         (!pair  "x_param_asan_protect_allocas"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7240)
                          nil )
                         (!pair  "x_param_asan_instrument_reads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7241)
                          nil )
                         (!pair  "x_param_asan_instrument_writes"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7242)
                          nil )
                         (!pair  "x_param_asan_instrumentation_with_call_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7243)
                          nil )
                         (!pair  "x_param_asan_memintrin"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7244)
                          nil )
                         (!pair  "x_param_asan_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7245)
                          nil )
                         (!pair  "x_param_asan_use_after_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7246)
                          nil )
                         (!pair  "x_param_avg_loop_niter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7247)
                          nil )
                         (!pair  "x_param_avoid_fma_max_bits"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7248)
                          nil )
                         (!pair  "x_param_builtin_expect_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7249)
                          nil )
                         (!pair  "x_param_builtin_string_cmp_inline_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7250)
                          nil )
                         (!pair  "x_param_case_values_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7251)
                          nil )
                         (!pair  "x_param_comdat_sharing_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7252)
                          nil )
                         (!pair  "x_param_dse_max_alias_queries_per_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7253)
                          nil )
                         (!pair  "x_param_dse_max_object_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7254)
                          nil )
                         (!pair  "x_param_early_inlining_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7255)
                          nil )
                         (!pair  "x_param_fsm_maximum_phi_arguments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7256)
                          nil )
                         (!pair  "x_param_fsm_scale_path_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7257)
                          nil )
                         (!pair  "x_param_fsm_scale_path_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7258)
                          nil )
                         (!pair  "x_param_gcse_after_reload_critical_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7259)
                          nil )
                         (!pair  "x_param_gcse_after_reload_partial_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7260)
                          nil )
                         (!pair  "x_param_gcse_cost_distance_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7261)
                          nil )
                         (!pair  "x_param_gcse_unrestricted_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7262)
                          nil )
                         (!pair  "x_param_graphite_max_arrays_per_scop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7263)
                          nil )
                         (!pair  "x_param_graphite_max_nb_scop_params"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7264)
                          nil )
                         (!pair  "x_param_inline_heuristics_hint_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7265)
                          nil )
                         (!pair  "x_param_inline_min_speedup"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7266)
                          nil )
                         (!pair  "x_param_inline_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7267)
                          nil )
                         (!pair  "x_param_ipa_cp_eval_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7268)
                          nil )
                         (!pair  "x_param_ipa_cp_loop_hint_bonus"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7269)
                          nil )
                         (!pair  "x_param_ipa_cp_max_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7270)
                          nil )
                         (!pair  "x_param_ipa_cp_min_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7271)
                          nil )
                         (!pair  "x_param_ipa_cp_recursion_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7272)
                          nil )
                         (!pair  "x_param_ipa_cp_single_call_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7273)
                          nil )
                         (!pair  "x_param_ipa_cp_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7274)
                          nil )
                         (!pair  "x_param_ipa_cp_value_list_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7275)
                          nil )
                         (!pair  "x_param_ipa_max_aa_steps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7276)
                          nil )
                         (!pair  "x_param_ipa_max_agg_items"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7277)
                          nil )
                         (!pair  "x_param_ipa_max_param_expr_ops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7278)
                          nil )
                         (!pair  "x_param_ipa_max_switch_predicate_bounds"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7279)
                          nil )
                         (!pair  "x_param_ipa_sra_max_replacements"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7280)
                          nil )
                         (!pair  "x_param_ipa_sra_ptr_growth_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7281)
                          nil )
                         (!pair  "x_param_ira_loop_reserved_regs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7282)
                          nil )
                         (!pair  "x_param_ira_max_conflict_table_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7283)
                          nil )
                         (!pair  "x_param_ira_max_loops_num"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7284)
                          nil )
                         (!pair  "x_param_iv_always_prune_cand_set_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7285)
                          nil )
                         (!pair  "x_param_iv_consider_all_candidates_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7286)
                          nil )
                         (!pair  "x_param_iv_max_considered_uses"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7287)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7288)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7289)
                          nil )
                         (!pair  "x_param_l1_cache_line_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7290)
                          nil )
                         (!pair  "x_param_l1_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7291)
                          nil )
                         (!pair  "x_param_l2_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7292)
                          nil )
                         (!pair  "x_param_large_function_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7293)
                          nil )
                         (!pair  "x_param_large_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7294)
                          nil )
                         (!pair  "x_param_stack_frame_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7295)
                          nil )
                         (!pair  "x_param_large_stack_frame"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7296)
                          nil )
                         (!pair  "x_param_large_unit_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7297)
                          nil )
                         (!pair  "x_param_lim_expensive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7298)
                          nil )
                         (!pair  "x_param_loop_block_tile_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7299)
                          nil )
                         (!pair  "x_param_loop_interchange_max_num_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7300)
                          nil )
                         (!pair  "x_param_loop_interchange_stride_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7301)
                          nil )
                         (!pair  "x_param_loop_invariant_max_bbs_in_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7302)
                          nil )
                         (!pair  "x_param_loop_max_datarefs_for_datadeps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7303)
                          nil )
                         (!pair  "x_param_loop_versioning_max_inner_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7304)
                          nil )
                         (!pair  "x_param_loop_versioning_max_outer_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7305)
                          nil )
                         (!pair  "x_param_lra_inheritance_ebb_probability_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7306)
                          nil )
                         (!pair  "x_param_lra_max_considered_reload_pseudos"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7307)
                          nil )
                         (!pair  "x_param_max_average_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7308)
                          nil )
                         (!pair  "x_param_max_combine_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7309)
                          nil )
                         (!pair  "x_param_max_unroll_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7310)
                          nil )
                         (!pair  "x_param_max_completely_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7311)
                          nil )
                         (!pair  "x_param_max_completely_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7312)
                          nil )
                         (!pair  "x_param_max_crossjump_edges"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7313)
                          nil )
                         (!pair  "x_param_max_cse_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7314)
                          nil )
                         (!pair  "x_param_max_cse_path_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7315)
                          nil )
                         (!pair  "x_param_max_cselib_memory_locations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7316)
                          nil )
                         (!pair  "x_param_max_debug_marker_count"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7317)
                          nil )
                         (!pair  "x_param_max_delay_slot_insn_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7318)
                          nil )
                         (!pair  "x_param_max_delay_slot_live_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7319)
                          nil )
                         (!pair  "x_param_max_dse_active_local_stores"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7320)
                          nil )
                         (!pair  "x_param_early_inliner_max_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7321)
                          nil )
                         (!pair  "x_param_max_find_base_term_values"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7322)
                          nil )
                         (!pair  "x_param_max_fsm_thread_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7323)
                          nil )
                         (!pair  "x_param_max_fsm_thread_path_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7324)
                          nil )
                         (!pair  "x_param_max_fsm_thread_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7325)
                          nil )
                         (!pair  "x_param_max_gcse_insertion_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7326)
                          nil )
                         (!pair  "x_param_max_gcse_memory"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7327)
                          nil )
                         (!pair  "x_param_max_goto_duplication_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7328)
                          nil )
                         (!pair  "x_param_max_grow_copy_bb_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7329)
                          nil )
                         (!pair  "x_param_max_hoist_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7330)
                          nil )
                         (!pair  "x_param_max_inline_insns_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7331)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7332)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7333)
                          nil )
                         (!pair  "x_param_max_inline_insns_single"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7334)
                          nil )
                         (!pair  "x_param_max_inline_insns_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7335)
                          nil )
                         (!pair  "x_param_max_inline_insns_small"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7336)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7337)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7338)
                          nil )
                         (!pair  "x_param_max_isl_operations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7339)
                          nil )
                         (!pair  "x_param_max_iterations_computation_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7340)
                          nil )
                         (!pair  "x_param_max_iterations_to_track"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7341)
                          nil )
                         (!pair  "x_param_max_jump_thread_duplication_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7342)
                          nil )
                         (!pair  "x_param_max_last_value_rtl"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7343)
                          nil )
                         (!pair  "x_param_max_loop_header_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7344)
                          nil )
                         (!pair  "x_param_max_modulo_backtrack_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7345)
                          nil )
                         (!pair  "x_param_max_partial_antic_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7346)
                          nil )
                         (!pair  "x_param_max_peel_branches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7347)
                          nil )
                         (!pair  "x_param_max_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7348)
                          nil )
                         (!pair  "x_param_max_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7349)
                          nil )
                         (!pair  "x_param_max_pending_list_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7350)
                          nil )
                         (!pair  "x_param_max_pipeline_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7351)
                          nil )
                         (!pair  "x_param_max_pipeline_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7352)
                          nil )
                         (!pair  "x_param_max_pow_sqrt_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7353)
                          nil )
                         (!pair  "x_param_max_predicted_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7354)
                          nil )
                         (!pair  "x_param_max_reload_search_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7355)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7356)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_predictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7357)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_unpredictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7358)
                          nil )
                         (!pair  "x_param_max_sched_extend_regions_iters"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7359)
                          nil )
                         (!pair  "x_param_max_sched_insn_conflict_delay"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7360)
                          nil )
                         (!pair  "x_param_max_sched_ready_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7361)
                          nil )
                         (!pair  "x_param_max_sched_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7362)
                          nil )
                         (!pair  "x_param_max_sched_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7363)
                          nil )
                         (!pair  "x_param_max_slsr_candidate_scan"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7364)
                          nil )
                         (!pair  "x_param_max_speculative_devirt_maydefs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7365)
                          nil )
                         (!pair  "x_param_max_stores_to_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7366)
                          nil )
                         (!pair  "x_param_max_stores_to_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7367)
                          nil )
                         (!pair  "x_param_max_tail_merge_comparisons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7368)
                          nil )
                         (!pair  "x_param_max_tail_merge_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7369)
                          nil )
                         (!pair  "x_param_max_tracked_strlens"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7370)
                          nil )
                         (!pair  "x_param_max_tree_if_conversion_phi_args"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7371)
                          nil )
                         (!pair  "x_param_max_unroll_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7372)
                          nil )
                         (!pair  "x_param_max_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7373)
                          nil )
                         (!pair  "x_param_max_unswitch_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7374)
                          nil )
                         (!pair  "x_param_max_unswitch_level"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7375)
                          nil )
                         (!pair  "x_param_max_variable_expansions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7376)
                          nil )
                         (!pair  "x_param_max_vartrack_expr_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7377)
                          nil )
                         (!pair  "x_param_max_vartrack_reverse_op_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7378)
                          nil )
                         (!pair  "x_param_max_vartrack_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7379)
                          nil )
                         (!pair  "x_param_max_vrp_switch_assertions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7380)
                          nil )
                         (!pair  "x_param_min_crossjump_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7381)
                          nil )
                         (!pair  "x_param_min_inline_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7382)
                          nil )
                         (!pair  "x_param_min_insn_to_prefetch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7383)
                          nil )
                         (!pair  "x_param_min_loop_cond_split_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7384)
                          nil )
                         (!pair  "x_param_min_size_for_stack_sharing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7385)
                          nil )
                         (!pair  "x_param_min_spec_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7386)
                          nil )
                         (!pair  "x_param_min_vect_loop_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7387)
                          nil )
                         (!pair  "x_param_parloops_chunk_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7388)
                          nil )
                         (!pair  "x_param_parloops_min_per_thread"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7389)
                          nil )
                         (!pair  "x_param_parloops_schedule"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7390)
                          nil )
                         (!pair  "x_param_partial_inlining_entry_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7391)
                          nil )
                         (!pair  "x_param_predictable_branch_outcome"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7392)
                          nil )
                         (!pair  "x_param_prefetch_dynamic_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7393)
                          nil )
                         (!pair  "x_param_prefetch_latency"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7394)
                          nil )
                         (!pair  "x_param_prefetch_min_insn_to_mem_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7395)
                          nil )
                         (!pair  "x_param_prefetch_minimum_stride"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7396)
                          nil )
                         (!pair  "x_param_rpo_vn_max_loop_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7397)
                          nil )
                         (!pair  "x_param_sccvn_max_alias_queries_per_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7398)
                          nil )
                         (!pair  "x_param_scev_max_expr_complexity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7399)
                          nil )
                         (!pair  "x_param_scev_max_expr_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7400)
                          nil )
                         (!pair  "x_param_sched_autopref_queue_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7401)
                          nil )
                         (!pair  "x_param_sched_mem_true_dep_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7402)
                          nil )
                         (!pair  "x_param_sched_pressure_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7403)
                          nil )
                         (!pair  "x_param_sched_spec_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7404)
                          nil )
                         (!pair  "x_param_sched_state_edge_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7405)
                          nil )
                         (!pair  "x_param_selsched_insns_to_rename"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7406)
                          nil )
                         (!pair  "x_param_selsched_max_lookahead"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7407)
                          nil )
                         (!pair  "x_param_selsched_max_sched_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7408)
                          nil )
                         (!pair  "x_param_simultaneous_prefetches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7409)
                          nil )
                         (!pair  "x_param_sink_frequency_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7410)
                          nil )
                         (!pair  "x_param_slp_max_insns_in_bb"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7411)
                          nil )
                         (!pair  "x_param_sms_dfa_history"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7412)
                          nil )
                         (!pair  "x_param_sms_loop_average_count_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7413)
                          nil )
                         (!pair  "x_param_sms_max_ii_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7414)
                          nil )
                         (!pair  "x_param_sms_min_sc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7415)
                          nil )
                         (!pair  "x_param_sra_max_propagations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7416)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7417)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7418)
                          nil )
                         (!pair  "x_param_ssa_name_def_chain_limit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7419)
                          nil )
                         (!pair  "x_param_ssp_buffer_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7420)
                          nil )
                         (!pair  "x_param_stack_clash_protection_guard_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7421)
                          nil )
                         (!pair  "x_param_stack_clash_protection_probe_interval"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7422)
                          nil )
                         (!pair  "x_param_store_merging_allow_unaligned"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7423)
                          nil )
                         (!pair  "x_param_store_merging_max_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7424)
                          nil )
                         (!pair  "x_param_switch_conversion_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7425)
                          nil )
                         (!pair  "x_param_tm_max_aggregate_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7426)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7427)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7428)
                          nil )
                         (!pair  "x_param_tracer_max_code_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7429)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7430)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7431)
                          nil )
                         (!pair  "x_param_tracer_min_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7432)
                          nil )
                         (!pair  "x_param_tree_reassoc_width"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7433)
                          nil )
                         (!pair  "x_param_uninit_control_dep_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7434)
                          nil )
                         (!pair  "x_param_uninlined_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7435)
                          nil )
                         (!pair  "x_param_uninlined_function_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7436)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7437)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7438)
                          nil )
                         (!pair  "x_param_unlikely_bb_count_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7439)
                          nil )
                         (!pair  "x_param_unroll_jam_max_unroll"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7440)
                          nil )
                         (!pair  "x_param_unroll_jam_min_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7441)
                          nil )
                         (!pair  "x_param_use_after_scope_direct_emission_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7442)
                          nil )
                         (!pair  "x_param_vect_epilogues_nomask"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7443)
                          nil )
                         (!pair  "x_param_vect_max_peeling_for_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7444)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alias_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7445)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alignment_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7446)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7447)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns_dep"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7448)
                          nil )
                         (!pair  "x_flag_tree_parallelize_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7449)
                          nil )
                         (!pair  "x_flag_excess_precision"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7450)
                          nil )
                         (!pair  "x_flag_fp_contract_mode"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7451)
                          nil )
                         (!pair  "x_flag_ira_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7452)
                          nil )
                         (!pair  "x_flag_ira_region"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7453)
                          nil )
                         (!pair  "x_flag_live_patching"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7454)
                          nil )
                         (!pair  "x_flag_reorder_blocks_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7455)
                          nil )
                         (!pair  "x_flag_simd_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7456)
                          nil )
                         (!pair  "x_flag_stack_reuse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7457)
                          nil )
                         (!pair  "x_flag_vect_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7458)
                          nil )
                         (!pair  "x_optimize"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7459)
                          nil )
                         (!pair  "x_optimize_size"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7460)
                          nil )
                         (!pair  "x_optimize_debug"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7461)
                          nil )
                         (!pair  "x_optimize_fast"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7462)
                          nil )
                         (!pair  "x_warn_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7463)
                          nil )
                         (!pair  "x_flag_aggressive_loop_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7464)
                          nil )
                         (!pair  "x_flag_align_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7465)
                          nil )
                         (!pair  "x_flag_align_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7466)
                          nil )
                         (!pair  "x_flag_align_labels"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7467)
                          nil )
                         (!pair  "x_flag_align_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7468)
                          nil )
                         (!pair  "x_flag_allocation_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7469)
                          nil )
                         (!pair  "x_flag_store_data_races"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7470)
                          nil )
                         (!pair  "x_flag_associative_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7471)
                          nil )
                         (!pair  "x_flag_assume_phsa"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7472)
                          nil )
                         (!pair  "x_flag_asynchronous_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7473)
                          nil )
                         (!pair  "x_flag_auto_inc_dec"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7474)
                          nil )
                         (!pair  "x_flag_branch_on_count_reg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7475)
                          nil )
                         (!pair  "x_flag_branch_probabilities"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7476)
                          nil )
                         (!pair  "x_flag_caller_saves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7477)
                          nil )
                         (!pair  "x_flag_code_hoisting"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7478)
                          nil )
                         (!pair  "x_flag_combine_stack_adjustments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7479)
                          nil )
                         (!pair  "x_flag_compare_elim_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7480)
                          nil )
                         (!pair  "x_flag_conserve_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7481)
                          nil )
                         (!pair  "x_flag_cprop_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7482)
                          nil )
                         (!pair  "x_flag_crossjumping"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7483)
                          nil )
                         (!pair  "x_flag_cse_follow_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7484)
                          nil )
                         (!pair  "x_flag_cx_fortran_rules"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7485)
                          nil )
                         (!pair  "x_flag_cx_limited_range"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7486)
                          nil )
                         (!pair  "x_flag_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7487)
                          nil )
                         (!pair  "x_flag_defer_pop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7488)
                          nil )
                         (!pair  "x_flag_delayed_branch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7489)
                          nil )
                         (!pair  "x_flag_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7490)
                          nil )
                         (!pair  "x_flag_delete_null_pointer_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7491)
                          nil )
                         (!pair  "x_flag_devirtualize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7492)
                          nil )
                         (!pair  "x_flag_devirtualize_speculatively"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7493)
                          nil )
                         (!pair  "x_flag_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7494)
                          nil )
                         (!pair  "x_flag_early_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7495)
                          nil )
                         (!pair  "x_flag_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7496)
                          nil )
                         (!pair  "x_flag_expensive_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7497)
                          nil )
                         (!pair  "x_flag_finite_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7498)
                          nil )
                         (!pair  "x_flag_finite_math_only"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7499)
                          nil )
                         (!pair  "x_flag_float_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7500)
                          nil )
                         (!pair  "x_flag_forward_propagate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7501)
                          nil )
                         (!pair  "x_flag_fp_int_builtin_inexact"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7502)
                          nil )
                         (!pair  "x_flag_no_function_cse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7503)
                          nil )
                         (!pair  "x_flag_gcse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7504)
                          nil )
                         (!pair  "x_flag_gcse_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7505)
                          nil )
                         (!pair  "x_flag_gcse_las"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7506)
                          nil )
                         (!pair  "x_flag_gcse_lm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7507)
                          nil )
                         (!pair  "x_flag_gcse_sm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7508)
                          nil )
                         (!pair  "x_flag_graphite"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7509)
                          nil )
                         (!pair  "x_flag_graphite_identity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7510)
                          nil )
                         (!pair  "x_flag_guess_branch_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7511)
                          nil )
                         (!pair  "x_flag_hoist_adjacent_loads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7512)
                          nil )
                         (!pair  "x_flag_if_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7513)
                          nil )
                         (!pair  "x_flag_if_conversion2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7514)
                          nil )
                         (!pair  "x_flag_indirect_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7515)
                          nil )
                         (!pair  "x_flag_no_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7516)
                          nil )
                         (!pair  "x_flag_inline_atomics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7517)
                          nil )
                         (!pair  "x_flag_inline_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7518)
                          nil )
                         (!pair  "x_flag_inline_functions_called_once"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7519)
                          nil )
                         (!pair  "x_flag_inline_small_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7520)
                          nil )
                         (!pair  "x_flag_ipa_bit_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7521)
                          nil )
                         (!pair  "x_flag_ipa_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7522)
                          nil )
                         (!pair  "x_flag_ipa_cp_clone"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7523)
                          nil )
                         (!pair  "x_flag_ipa_icf"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7524)
                          nil )
                         (!pair  "x_flag_ipa_icf_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7525)
                          nil )
                         (!pair  "x_flag_ipa_icf_variables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7526)
                          nil )
                         (!pair  "x_flag_ipa_profile"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7527)
                          nil )
                         (!pair  "x_flag_ipa_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7528)
                          nil )
                         (!pair  "x_flag_ipa_pure_const"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7529)
                          nil )
                         (!pair  "x_flag_ipa_ra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7530)
                          nil )
                         (!pair  "x_flag_ipa_reference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7531)
                          nil )
                         (!pair  "x_flag_ipa_reference_addressable"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7532)
                          nil )
                         (!pair  "x_flag_ipa_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7533)
                          nil )
                         (!pair  "x_flag_ipa_stack_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7534)
                          nil )
                         (!pair  "x_flag_ipa_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7535)
                          nil )
                         (!pair  "x_flag_ira_hoist_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7536)
                          nil )
                         (!pair  "x_flag_ira_loop_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7537)
                          nil )
                         (!pair  "x_flag_ira_share_save_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7538)
                          nil )
                         (!pair  "x_flag_ira_share_spill_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7539)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_attribute"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7540)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_dereference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7541)
                          nil )
                         (!pair  "x_flag_ivopts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7542)
                          nil )
                         (!pair  "x_flag_jump_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7543)
                          nil )
                         (!pair  "x_flag_keep_gc_roots_live"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7544)
                          nil )
                         (!pair  "x_flag_lifetime_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7545)
                          nil )
                         (!pair  "x_flag_limit_function_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7546)
                          nil )
                         (!pair  "x_flag_live_range_shrinkage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7547)
                          nil )
                         (!pair  "x_flag_loop_interchange"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7548)
                          nil )
                         (!pair  "x_flag_loop_nest_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7549)
                          nil )
                         (!pair  "x_flag_loop_parallelize_all"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7550)
                          nil )
                         (!pair  "x_flag_unroll_jam"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7551)
                          nil )
                         (!pair  "x_flag_lra_remat"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7552)
                          nil )
                         (!pair  "x_flag_errno_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7553)
                          nil )
                         (!pair  "x_flag_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7554)
                          nil )
                         (!pair  "x_flag_modulo_sched_allow_regmoves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7555)
                          nil )
                         (!pair  "x_flag_move_loop_invariants"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7556)
                          nil )
                         (!pair  "x_flag_non_call_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7557)
                          nil )
                         (!pair  "x_flag_nothrow_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7558)
                          nil )
                         (!pair  "x_flag_omit_frame_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7559)
                          nil )
                         (!pair  "x_flag_opt_info"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7560)
                          nil )
                         (!pair  "x_flag_optimize_sibling_calls"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7561)
                          nil )
                         (!pair  "x_flag_optimize_strlen"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7562)
                          nil )
                         (!pair  "x_flag_pack_struct"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7563)
                          nil )
                         (!pair  "x_flag_partial_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7564)
                          nil )
                         (!pair  "x_flag_peel_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7565)
                          nil )
                         (!pair  "x_flag_no_peephole"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7566)
                          nil )
                         (!pair  "x_flag_peephole2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7567)
                          nil )
                         (!pair  "x_flag_plt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7568)
                          nil )
                         (!pair  "x_flag_predictive_commoning"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7569)
                          nil )
                         (!pair  "x_flag_prefetch_loop_arrays"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7570)
                          nil )
                         (!pair  "x_flag_printf_return_value"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7571)
                          nil )
                         (!pair  "x_flag_profile_partial_training"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7572)
                          nil )
                         (!pair  "x_flag_profile_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7573)
                          nil )
                         (!pair  "x_flag_reciprocal_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7574)
                          nil )
                         (!pair  "x_flag_ree"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7575)
                          nil )
                         (!pair  "x_flag_pcc_struct_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7576)
                          nil )
                         (!pair  "x_flag_rename_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7577)
                          nil )
                         (!pair  "x_flag_reorder_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7578)
                          nil )
                         (!pair  "x_flag_reorder_blocks_and_partition"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7579)
                          nil )
                         (!pair  "x_flag_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7580)
                          nil )
                         (!pair  "x_flag_rerun_cse_after_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7581)
                          nil )
                         (!pair  "x_flag_resched_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7582)
                          nil )
                         (!pair  "x_flag_rounding_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7583)
                          nil )
                         (!pair  "x_flag_rtti"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7584)
                          nil )
                         (!pair  "x_flag_save_optimization_record"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7585)
                          nil )
                         (!pair  "x_flag_sched_critical_path_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7586)
                          nil )
                         (!pair  "x_flag_sched_dep_count_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7587)
                          nil )
                         (!pair  "x_flag_sched_group_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7588)
                          nil )
                         (!pair  "x_flag_schedule_interblock"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7589)
                          nil )
                         (!pair  "x_flag_sched_last_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7590)
                          nil )
                         (!pair  "x_flag_sched_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7591)
                          nil )
                         (!pair  "x_flag_sched_rank_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7592)
                          nil )
                         (!pair  "x_flag_schedule_speculative"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7593)
                          nil )
                         (!pair  "x_flag_sched_spec_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7594)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7595)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load_dangerous"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7596)
                          nil )
                         (!pair  "x_flag_sched2_use_superblocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7597)
                          nil )
                         (!pair  "x_flag_schedule_fusion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7598)
                          nil )
                         (!pair  "x_flag_schedule_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7599)
                          nil )
                         (!pair  "x_flag_schedule_insns_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7600)
                          nil )
                         (!pair  "x_flag_section_anchors"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7601)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7602)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7603)
                          nil )
                         (!pair  "x_flag_sel_sched_reschedule_pipelined"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7604)
                          nil )
                         (!pair  "x_flag_selective_scheduling"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7605)
                          nil )
                         (!pair  "x_flag_selective_scheduling2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7606)
                          nil )
                         (!pair  "x_flag_short_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7607)
                          nil )
                         (!pair  "x_flag_short_wchar"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7608)
                          nil )
                         (!pair  "x_flag_shrink_wrap"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7609)
                          nil )
                         (!pair  "x_flag_shrink_wrap_separate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7610)
                          nil )
                         (!pair  "x_flag_signaling_nans"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7611)
                          nil )
                         (!pair  "x_flag_signed_zeros"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7612)
                          nil )
                         (!pair  "x_flag_single_precision_constant"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7613)
                          nil )
                         (!pair  "x_flag_split_ivs_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7614)
                          nil )
                         (!pair  "x_flag_split_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7615)
                          nil )
                         (!pair  "x_flag_split_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7616)
                          nil )
                         (!pair  "x_flag_split_wide_types"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7617)
                          nil )
                         (!pair  "x_flag_split_wide_types_early"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7618)
                          nil )
                         (!pair  "x_flag_ssa_backprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7619)
                          nil )
                         (!pair  "x_flag_ssa_phiopt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7620)
                          nil )
                         (!pair  "x_flag_stack_clash_protection"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7621)
                          nil )
                         (!pair  "x_flag_stack_protect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7622)
                          nil )
                         (!pair  "x_flag_stdarg_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7623)
                          nil )
                         (!pair  "x_flag_store_merging"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7624)
                          nil )
                         (!pair  "x_flag_strict_aliasing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7625)
                          nil )
                         (!pair  "x_flag_strict_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7626)
                          nil )
                         (!pair  "x_flag_strict_volatile_bitfields"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7627)
                          nil )
                         (!pair  "x_flag_thread_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7628)
                          nil )
                         (!pair  "x_flag_threadsafe_statics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7629)
                          nil )
                         (!pair  "x_flag_toplevel_reorder"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7630)
                          nil )
                         (!pair  "x_flag_tracer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7631)
                          nil )
                         (!pair  "x_flag_trapping_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7632)
                          nil )
                         (!pair  "x_flag_trapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7633)
                          nil )
                         (!pair  "x_flag_tree_bit_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7634)
                          nil )
                         (!pair  "x_flag_tree_builtin_call_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7635)
                          nil )
                         (!pair  "x_flag_tree_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7636)
                          nil )
                         (!pair  "x_flag_tree_ch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7637)
                          nil )
                         (!pair  "x_flag_tree_coalesce_vars"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7638)
                          nil )
                         (!pair  "x_flag_tree_copy_prop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7639)
                          nil )
                         (!pair  "x_flag_tree_cselim"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7640)
                          nil )
                         (!pair  "x_flag_tree_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7641)
                          nil )
                         (!pair  "x_flag_tree_dom"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7642)
                          nil )
                         (!pair  "x_flag_tree_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7643)
                          nil )
                         (!pair  "x_flag_tree_forwprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7644)
                          nil )
                         (!pair  "x_flag_tree_fre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7645)
                          nil )
                         (!pair  "x_flag_tree_loop_distribute_patterns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7646)
                          nil )
                         (!pair  "x_flag_tree_loop_distribution"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7647)
                          nil )
                         (!pair  "x_flag_tree_loop_if_convert"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7648)
                          nil )
                         (!pair  "x_flag_tree_loop_im"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7649)
                          nil )
                         (!pair  "x_flag_tree_loop_ivcanon"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7650)
                          nil )
                         (!pair  "x_flag_tree_loop_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7651)
                          nil )
                         (!pair  "x_flag_tree_loop_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7652)
                          nil )
                         (!pair  "x_flag_tree_live_range_split"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7653)
                          nil )
                         (!pair  "x_flag_tree_partial_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7654)
                          nil )
                         (!pair  "x_flag_tree_phiprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7655)
                          nil )
                         (!pair  "x_flag_tree_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7656)
                          nil )
                         (!pair  "x_flag_tree_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7657)
                          nil )
                         (!pair  "x_flag_tree_reassoc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7658)
                          nil )
                         (!pair  "x_flag_tree_scev_cprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7659)
                          nil )
                         (!pair  "x_flag_tree_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7660)
                          nil )
                         (!pair  "x_flag_tree_slp_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7661)
                          nil )
                         (!pair  "x_flag_tree_slsr"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7662)
                          nil )
                         (!pair  "x_flag_tree_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7663)
                          nil )
                         (!pair  "x_flag_tree_switch_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7664)
                          nil )
                         (!pair  "x_flag_tree_tail_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7665)
                          nil )
                         (!pair  "x_flag_tree_ter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7666)
                          nil )
                         (!pair  "x_flag_tree_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7667)
                          nil )
                         (!pair  "x_flag_unconstrained_commons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7668)
                          nil )
                         (!pair  "x_flag_unroll_all_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7669)
                          nil )
                         (!pair  "x_flag_cunroll_grow_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7670)
                          nil )
                         (!pair  "x_flag_unroll_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7671)
                          nil )
                         (!pair  "x_flag_unsafe_math_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7672)
                          nil )
                         (!pair  "x_flag_unswitch_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7673)
                          nil )
                         (!pair  "x_flag_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7674)
                          nil )
                         (!pair  "x_flag_var_tracking"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7675)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7676)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments_toggle"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7677)
                          nil )
                         (!pair  "x_flag_var_tracking_uninit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7678)
                          nil )
                         (!pair  "x_flag_variable_expansion_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7679)
                          nil )
                         (!pair  "x_flag_version_loops_for_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7680)
                          nil )
                         (!pair  "x_flag_value_profile_transformations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7681)
                          nil )
                         (!pair  "x_flag_web"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7682)
                          nil )
                         (!pair  "x_flag_wrapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7683)
                          nil )
                         (!pair  "x_flag_wrapv_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7684)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1939)
                      nil )
                     (!pair  "optabs"
                      (!type already_seen 3)
                      (!srcfileloc  "tree-core.h" 1943)
                      (!options 
                       (!option atomic string  "")
                      )
                     )
                     (!pair  "base_optabs"
                      (!type pointer 582 nil  gc_unused
                       (!type struct 583 
                        (!type already_seen 582)
                        gc_unused "target_optabs"nil 
                        (!fields 0 )
                        nil 0 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1947)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2012)
                   (!options 
                    (!option tag string  "TS_OPTIMIZATION")
                   )
                  )
                  (!pair  "target_option"
                   (!type struct 584 nil  gc_used "tree_target_option"
                    (!srcfileloc  "tree-core.h" 1964)
                    (!fields 3 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1957)
                      nil )
                     (!pair  "globals"
                      (!type pointer 585 nil  gc_used
                       (!type struct 586 
                        (!type already_seen 585)
                        gc_pointed_to "target_globals"
                        (!srcfileloc  "target-globals.h" 64)
                        (!fields 17 
                         (!pair  "flag_state"
                          (!type pointer 587 nil  gc_unused
                           (!type struct 588 
                            (!type already_seen 587)
                            gc_unused "target_flag_state"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 47)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "regs"
                          (!type pointer 589 nil  gc_unused
                           (!type struct 590 
                            (!type already_seen 589)
                            gc_unused "target_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 48)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "rtl"
                          (!type pointer 591 nil  gc_used
                           (!type struct 592 
                            (!type already_seen 591)
                            gc_pointed_to "target_rtl"
                            (!srcfileloc  "rtl.h" 3763)
                            (!fields 8 
                             (!pair  "x_global_rtl"
                              (!type array 593 nil  gc_used "GR_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3735)
                              nil )
                             (!pair  "x_pic_offset_table_rtx"
                              (!type already_seen 100)
                              (!srcfileloc  "rtl.h" 3738)
                              nil )
                             (!pair  "x_return_address_pointer_rtx"
                              (!type already_seen 100)
                              (!srcfileloc  "rtl.h" 3743)
                              nil )
                             (!pair  "x_initial_regno_reg_rtx"
                              (!type array 594 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3749)
                              nil )
                             (!pair  "x_top_of_stack"
                              (!type array 595 nil  gc_used "MAX_MACHINE_MODE" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3752)
                              nil )
                             (!pair  "x_static_reg_base_value"
                              (!type array 596 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3756)
                              nil )
                             (!pair  "x_mode_mem_attrs"
                              (!type array 597 nil  gc_used "(int) MAX_MACHINE_MODE" 
                               (!type already_seen 226)
                              )
                              (!srcfileloc  "rtl.h" 3759)
                              nil )
                             (!pair  "target_specific_initialized"
                              (!type already_seen 2)
                              (!srcfileloc  "rtl.h" 3762)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 49)
                          nil )
                         (!pair  "recog"
                          (!type pointer 598 nil  gc_unused
                           (!type struct 599 
                            (!type already_seen 598)
                            gc_unused "target_recog"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 50)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "hard_regs"
                          (!type pointer 600 nil  gc_unused
                           (!type struct 601 
                            (!type already_seen 600)
                            gc_unused "target_hard_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 51)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "function_abi_info"
                          (!type pointer 602 nil  gc_unused
                           (!type struct 603 
                            (!type already_seen 602)
                            gc_unused "target_function_abi_info"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 52)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "reload"
                          (!type pointer 604 nil  gc_unused
                           (!type struct 605 
                            (!type already_seen 604)
                            gc_unused "target_reload"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 53)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "expmed"
                          (!type pointer 606 nil  gc_unused
                           (!type struct 607 
                            (!type already_seen 606)
                            gc_unused "target_expmed"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 54)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "optabs"
                          (!type already_seen 582)
                          (!srcfileloc  "target-globals.h" 55)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "libfuncs"
                          (!type pointer 608 nil  gc_used
                           (!type struct 609 
                            (!type already_seen 608)
                            gc_pointed_to "target_libfuncs"
                            (!srcfileloc  "libfuncs.h" 62)
                            (!fields 2 
                             (!pair  "x_libfunc_table"
                              (!type array 610 nil  gc_used "LTI_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "libfuncs.h" 58)
                              nil )
                             (!pair  "x_libfunc_hash"
                              (!type pointer 611 nil  gc_used
                               (!type user_struct 612 
                                (!type already_seen 611)
                                gc_pointed_to "hash_table<libfunc_hasher>"
                                (!srcfileloc  "libfuncs.h" 61)
                                (!fields 1 
                                 (!pair  "libfunc_hasher"
                                  (!type struct 613 nil  gc_used "libfunc_hasher"
                                   (!srcfileloc  "libfuncs.h" 61)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "libfuncs.h" 61)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "libfuncs.h" 61)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 56)
                          nil )
                         (!pair  "cfgloop"
                          (!type pointer 614 nil  gc_unused
                           (!type struct 615 
                            (!type already_seen 614)
                            gc_unused "target_cfgloop"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 57)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira"
                          (!type pointer 616 nil  gc_unused
                           (!type struct 617 
                            (!type already_seen 616)
                            gc_unused "target_ira"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 58)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira_int"
                          (!type pointer 618 nil  gc_unused
                           (!type struct 619 
                            (!type already_seen 618)
                            gc_unused "target_ira_int"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 59)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "builtins"
                          (!type pointer 620 nil  gc_unused
                           (!type struct 621 
                            (!type already_seen 620)
                            gc_unused "target_builtins"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 60)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "gcse"
                          (!type pointer 622 nil  gc_unused
                           (!type struct 623 
                            (!type already_seen 622)
                            gc_unused "target_gcse"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 61)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "bb_reorder"
                          (!type pointer 624 nil  gc_unused
                           (!type struct 625 
                            (!type already_seen 624)
                            gc_unused "target_bb_reorder"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 62)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "lower_subreg"
                          (!type pointer 626 nil  gc_unused
                           (!type struct 627 
                            (!type already_seen 626)
                            gc_unused "target_lower_subreg"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 63)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1960)
                      nil )
                     (!pair  "opts"
                      (!type pointer 628 nil  gc_used
                       (!type struct 629 
                        (!type already_seen 628)
                        gc_pointed_to "cl_target_option"
                        (!fileloc  "options.h" 7698)
                        (!fields 8 
                         (!pair  "x_arm_arch_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7690)
                          nil )
                         (!pair  "x_arm_cpu_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7691)
                          nil )
                         (!pair  "x_arm_tune_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7692)
                          nil )
                         (!pair  "x_arm_fpu_index"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7693)
                          nil )
                         (!pair  "x_target_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7694)
                          nil )
                         (!pair  "x_inline_asm_unified"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7695)
                          nil )
                         (!pair  "x_arm_restrict_it"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7696)
                          nil )
                         (!pair  "x_unaligned_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7697)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1963)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2013)
                   (!options 
                    (!option tag string  "TS_TARGET_OPTION")
                   )
                  )
                 )
                 (!options 
                  (!option variable_size string  "")
                  (!option desc string  "tree_node_structure (&%h)")
                  (!option ptr_alias type 
                   (!type lang_struct 630 nil  gc_pointed_to "lang_tree_node"
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
                    (!fields 0 )
                    (!options 
                     (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                     (!option desc string  "0")
                    )
                    2047 
                    (!homotypes 9
                     (!type union 631 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "lto/lto-tree.h" 54)
                      (!fields 1 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "lto/lto-tree.h" 53)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "TS_LTO_GENERIC")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_TYPE_COMMON) ? ((union lang_tree_node *) %h.generic.type_common.next_variant) : CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) %h.generic.common.chain) : NULL")
                       (!option desc string  "lto_tree_node_structure (&%h)")
                      )
                      256 
                      (!type already_seen 630)
                     )
                     
                     (!type union 632 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "jit/dummy-frontend.c" 64)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "jit/dummy-frontend.c" 62)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type lang_struct 633 nil  gc_used "lang_identifier"
                         (!srcfileloc  "d/d-tree.h" 337)
                         (!fields 0 )
                         nil 496 
                         (!homotypes 8
                          (!type struct 634 nil  gc_used "lang_identifier"
                           (!srcfileloc  "lto/lto-tree.h" 27)
                           (!fields 1 
                            (!pair  "base"
                             (!type already_seen 51)
                             (!srcfileloc  "lto/lto-tree.h" 26)
                             nil )
                           )
                           nil 256 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 635 nil  gc_used "lang_identifier"
                           (!srcfileloc  "jit/dummy-frontend.c" 53)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "jit/dummy-frontend.c" 52)
                             nil )
                           )
                           nil 128 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 636 nil  gc_used "lang_identifier"
                           (!srcfileloc  "go/go-lang.c" 66)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "go/go-lang.c" 65)
                             nil )
                           )
                           nil 64 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 637 nil  gc_used "lang_identifier"
                           (!srcfileloc  "fortran/f95-lang.c" 48)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "fortran/f95-lang.c" 47)
                             nil )
                           )
                           nil 32 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 638 nil  gc_used "lang_identifier"
                           (!srcfileloc  "d/d-tree.h" 207)
                           (!fields 5 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "d/d-tree.h" 196)
                             nil )
                            (!pair  "pretty_ident"
                             (!type already_seen 23)
                             (!srcfileloc  "d/d-tree.h" 199)
                             nil )
                            (!pair  "decl_tree"
                             (!type already_seen 23)
                             (!srcfileloc  "d/d-tree.h" 202)
                             nil )
                            (!pair  "dsymbol"
                             (!type already_seen 61)
                             (!srcfileloc  "d/d-tree.h" 205)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                            (!pair  "daggregate"
                             (!type pointer 639 nil  gc_unused
                              (!type struct 640 
                               (!type already_seen 639)
                               gc_unused "AggregateDeclaration"
                               (!srcfileloc  "d/d-tree.h" 206)
                               (!fields 0 )
                               nil 16 nil nil )
                             )
                             (!srcfileloc  "d/d-tree.h" 206)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                           )
                           nil 16 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 641 nil  gc_used "lang_identifier"
                           (!srcfileloc  "cp/cp-tree.h" 656)
                           (!fields 2 
                            (!pair  "c_common"
                             (!type struct 642 nil  gc_used "c_common_identifier"
                              (!srcfileloc  "c-family/c-common.h" 382)
                              (!fields 2 
                               (!pair  "common"
                                (!type already_seen 32)
                                (!srcfileloc  "c-family/c-common.h" 380)
                                nil )
                               (!pair  "node"
                                (!type already_seen 12)
                                (!srcfileloc  "c-family/c-common.h" 381)
                                nil )
                              )
                              nil 1548 nil nil )
                             (!srcfileloc  "cp/cp-tree.h" 654)
                             nil )
                            (!pair  "bindings"
                             (!type already_seen 89)
                             (!srcfileloc  "cp/cp-tree.h" 655)
                             nil )
                           )
                           nil 1032 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 643 nil  gc_used "lang_identifier"
                           (!srcfileloc  "c/c-decl.c" 217)
                           (!fields 4 
                            (!pair  "common_id"
                             (!type already_seen 642)
                             (!srcfileloc  "c/c-decl.c" 213)
                             nil )
                            (!pair  "symbol_binding"
                             (!type pointer 644 nil  gc_used
                              (!type struct 645 
                               (!type already_seen 644)
                               gc_pointed_to "c_binding"
                               (!srcfileloc  "c/c-decl.c" 202)
                               (!fields 11 
                                (!pair  "u"
                                 (!type union 646 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/c/c-decl.c:188"
                                  (!srcfileloc  "c/c-decl.c" 191)
                                  (!fields 2 
                                   (!pair  "type"
                                    (!type already_seen 23)
                                    (!srcfileloc  "c/c-decl.c" 189)
                                    (!options 
                                     (!option tag string  "0")
                                    )
                                   )
                                   (!pair  "label"
                                    (!type pointer 647 nil  gc_used
                                     (!type struct 648 
                                      (!type already_seen 647)
                                      gc_pointed_to "c_label_vars"
                                      (!srcfileloc  "c/c-decl.c" 381)
                                      (!fields 4 
                                       (!pair  "shadowed"
                                        (!type already_seen 647)
                                        (!srcfileloc  "c/c-decl.c" 369)
                                        nil )
                                       (!pair  "label_bindings"
                                        (!type struct 649 nil  gc_used "c_spot_bindings"
                                         (!srcfileloc  "c/c-decl.c" 348)
                                         (!fields 4 
                                          (!pair  "scope"
                                           (!type pointer 650 nil  gc_used
                                            (!type struct 651 
                                             (!type already_seen 650)
                                             gc_pointed_to "c_scope"
                                             (!srcfileloc  "c/c-decl.c" 483)
                                             (!fields 14 
                                              (!pair  "outer"
                                               (!type already_seen 650)
                                               (!srcfileloc  "c/c-decl.c" 430)
                                               nil )
                                              (!pair  "outer_function"
                                               (!type already_seen 650)
                                               (!srcfileloc  "c/c-decl.c" 433)
                                               nil )
                                              (!pair  "bindings"
                                               (!type already_seen 644)
                                               (!srcfileloc  "c/c-decl.c" 436)
                                               nil )
                                              (!pair  "blocks"
                                               (!type already_seen 23)
                                               (!srcfileloc  "c/c-decl.c" 440)
                                               nil )
                                              (!pair  "blocks_last"
                                               (!type already_seen 23)
                                               (!srcfileloc  "c/c-decl.c" 441)
                                               nil )
                                              (!pair  "depth"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 445)
                                               nil )
                                              (!pair  "parm_flag"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 449)
                                               nil )
                                              (!pair  "had_vla_unspec"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 453)
                                               nil )
                                              (!pair  "warned_forward_parm_decls"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 458)
                                               nil )
                                              (!pair  "function_body"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 464)
                                               nil )
                                              (!pair  "keep"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 467)
                                               nil )
                                              (!pair  "float_const_decimal64"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 470)
                                               nil )
                                              (!pair  "has_label_bindings"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 475)
                                               nil )
                                              (!pair  "has_jump_unsafe_decl"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 482)
                                               nil )
                                             )
                                             (!options 
                                              (!option chain_next string  "%h.outer")
                                             )
                                             516 nil nil )
                                           )
                                           (!srcfileloc  "c/c-decl.c" 333)
                                           nil )
                                          (!pair  "bindings_in_scope"
                                           (!type already_seen 644)
                                           (!srcfileloc  "c/c-decl.c" 337)
                                           nil )
                                          (!pair  "stmt_exprs"
                                           (!type already_seen 2)
                                           (!srcfileloc  "c/c-decl.c" 344)
                                           nil )
                                          (!pair  "left_stmt_expr"
                                           (!type already_seen 2)
                                           (!srcfileloc  "c/c-decl.c" 347)
                                           nil )
                                         )
                                         nil 516 nil nil )
                                        (!srcfileloc  "c/c-decl.c" 371)
                                        nil )
                                       (!pair  "decls_in_scope"
                                        (!type already_seen 84)
                                        (!srcfileloc  "c/c-decl.c" 376)
                                        nil )
                                       (!pair  "gotos"
                                        (!type pointer 652 nil  gc_used
                                         (!type user_struct 653 
                                          (!type already_seen 652)
                                          gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                          (!srcfileloc  "c/c-decl.c" 380)
                                          (!fields 2 
                                           (!pair  "va_gc"
                                            (!type already_seen 79)
                                            (!srcfileloc  "c/c-decl.c" 380)
                                            nil )
                                           (!pair  "c_goto_bindings_p"
                                            (!type pointer 654 nil  gc_used
                                             (!type struct 655 
                                              (!type already_seen 654)
                                              gc_pointed_to "c_goto_bindings"
                                              (!srcfileloc  "c/c-decl.c" 359)
                                              (!fields 2 
                                               (!pair  "loc"
                                                (!type already_seen 2)
                                                (!srcfileloc  "c/c-decl.c" 356)
                                                nil )
                                               (!pair  "goto_bindings"
                                                (!type already_seen 649)
                                                (!srcfileloc  "c/c-decl.c" 358)
                                                nil )
                                              )
                                              nil 516 nil nil )
                                            )
                                            (!srcfileloc  "c/c-decl.c" 380)
                                            nil )
                                          )
                                         )
                                        )
                                        (!srcfileloc  "c/c-decl.c" 380)
                                        nil )
                                      )
                                      nil 516 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 190)
                                    (!options 
                                     (!option tag string  "1")
                                    )
                                   )
                                  )
                                  nil 516 nil )
                                 (!srcfileloc  "c/c-decl.c" 191)
                                 (!options 
                                  (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                                 )
                                )
                                (!pair  "decl"
                                 (!type already_seen 23)
                                 (!srcfileloc  "c/c-decl.c" 192)
                                 nil )
                                (!pair  "id"
                                 (!type already_seen 23)
                                 (!srcfileloc  "c/c-decl.c" 193)
                                 nil )
                                (!pair  "prev"
                                 (!type already_seen 644)
                                 (!srcfileloc  "c/c-decl.c" 194)
                                 nil )
                                (!pair  "shadowed"
                                 (!type already_seen 644)
                                 (!srcfileloc  "c/c-decl.c" 195)
                                 nil )
                                (!pair  "depth"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 196)
                                 nil )
                                (!pair  "invisible"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 197)
                                 nil )
                                (!pair  "nested"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 198)
                                 nil )
                                (!pair  "inner_comp"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 199)
                                 nil )
                                (!pair  "in_struct"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 200)
                                 nil )
                                (!pair  "locus"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 201)
                                 nil )
                               )
                               (!options 
                                (!option chain_next string  "%h.prev")
                               )
                               516 nil nil )
                             )
                             (!srcfileloc  "c/c-decl.c" 214)
                             nil )
                            (!pair  "tag_binding"
                             (!type already_seen 644)
                             (!srcfileloc  "c/c-decl.c" 215)
                             nil )
                            (!pair  "label_binding"
                             (!type already_seen 644)
                             (!srcfileloc  "c/c-decl.c" 216)
                             nil )
                           )
                           nil 516 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 656 nil  gc_used "lang_identifier"
                           (!srcfileloc  "brig/brig-lang.c" 86)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "brig/brig-lang.c" 85)
                             nil )
                           )
                           nil 2 
                           (!type already_seen 633)
                           nil )
                         )
                        )
                        (!srcfileloc  "jit/dummy-frontend.c" 63)
                        (!options 
                         (!option tag string  "1")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
                      )
                      128 
                      (!type already_seen 630)
                     )
                     
                     (!type union 657 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "go/go-lang.c" 77)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "go/go-lang.c" 75)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "go/go-lang.c" 76)
                        (!options 
                         (!option tag string  "1")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
                      )
                      64 
                      (!type already_seen 630)
                     )
                     
                     (!type union 658 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "fortran/f95-lang.c" 58)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "fortran/f95-lang.c" 56)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "fortran/f95-lang.c" 57)
                        (!options 
                         (!option tag string  "1")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
                      )
                      32 
                      (!type already_seen 630)
                     )
                     
                     (!type union 659 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "d/d-tree.h" 339)
                      (!fields 3 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "d/d-tree.h" 336)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "TS_D_GENERIC")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "d/d-tree.h" 337)
                        (!options 
                         (!option tag string  "TS_D_IDENTIFIER")
                        )
                       )
                       (!pair  "frameinfo"
                        (!type struct 660 nil  gc_used "tree_frame_info"
                         (!srcfileloc  "d/d-tree.h" 338)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "d/d-tree.h" 173)
                           nil )
                          (!pair  "frame_type"
                           (!type already_seen 23)
                           (!srcfileloc  "d/d-tree.h" 174)
                           nil )
                         )
                         nil 16 nil nil )
                        (!srcfileloc  "d/d-tree.h" 338)
                        (!options 
                         (!option tag string  "TS_D_FRAMEINFO")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "d_tree_node_structure (&%h)")
                      )
                      16 
                      (!type already_seen 630)
                     )
                     
                     (!type union 661 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "cp/cp-tree.h" 1681)
                      (!fields 16 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "cp/cp-tree.h" 1658)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "TS_CP_GENERIC")
                        )
                       )
                       (!pair  "tpi"
                        (!type struct 662 nil  gc_used "template_parm_index"
                         (!srcfileloc  "cp/cp-tree.h" 677)
                         (!fields 5 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 672)
                           nil )
                          (!pair  "index"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 673)
                           nil )
                          (!pair  "level"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 674)
                           nil )
                          (!pair  "orig_level"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 675)
                           nil )
                          (!pair  "decl"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 676)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1659)
                        (!options 
                         (!option tag string  "TS_CP_TPI")
                        )
                       )
                       (!pair  "ptrmem"
                        (!type struct 663 
                         (!type pointer 664 nil  gc_unused
                          (!type already_seen 663)
                         )
                         gc_used "ptrmem_cst"
                         (!srcfileloc  "cp/cp-tree.h" 682)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 680)
                           nil )
                          (!pair  "member"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 681)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1660)
                        (!options 
                         (!option tag string  "TS_CP_PTRMEM")
                        )
                       )
                       (!pair  "overload"
                        (!type struct 665 nil  gc_used "tree_overload"
                         (!srcfileloc  "cp/cp-tree.h" 781)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 779)
                           nil )
                          (!pair  "function"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 780)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1661)
                        (!options 
                         (!option tag string  "TS_CP_OVERLOAD")
                        )
                       )
                       (!pair  "baselink"
                        (!type struct 666 nil  gc_used "tree_baselink"
                         (!srcfileloc  "cp/cp-tree.h" 1006)
                         (!fields 4 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1002)
                           nil )
                          (!pair  "binfo"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1003)
                           nil )
                          (!pair  "functions"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1004)
                           nil )
                          (!pair  "access_binfo"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1005)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1662)
                        (!options 
                         (!option tag string  "TS_CP_BASELINK")
                        )
                       )
                       (!pair  "template_decl"
                        (!type struct 667 nil  gc_used "tree_template_decl"
                         (!srcfileloc  "cp/cp-tree.h" 968)
                         (!fields 3 
                          (!pair  "common"
                           (!type already_seen 53)
                           (!srcfileloc  "cp/cp-tree.h" 965)
                           nil )
                          (!pair  "arguments"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 966)
                           nil )
                          (!pair  "result"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 967)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1663)
                        (!options 
                         (!option tag string  "TS_CP_TEMPLATE_DECL")
                        )
                       )
                       (!pair  "deferred_parse"
                        (!type struct 668 nil  gc_used "tree_deferred_parse"
                         (!srcfileloc  "cp/cp-tree.h" 1242)
                         (!fields 3 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1239)
                           nil )
                          (!pair  "tokens"
                           (!type already_seen 70)
                           (!srcfileloc  "cp/cp-tree.h" 1240)
                           nil )
                          (!pair  "instantiations"
                           (!type already_seen 84)
                           (!srcfileloc  "cp/cp-tree.h" 1241)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1664)
                        (!options 
                         (!option tag string  "TS_CP_DEFERRED_PARSE")
                        )
                       )
                       (!pair  "deferred_noexcept"
                        (!type struct 669 nil  gc_used "tree_deferred_noexcept"
                         (!srcfileloc  "cp/cp-tree.h" 1263)
                         (!fields 3 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1260)
                           nil )
                          (!pair  "pattern"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1261)
                           nil )
                          (!pair  "args"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1262)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1665)
                        (!options 
                         (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "cp/cp-tree.h" 1666)
                        (!options 
                         (!option tag string  "TS_CP_IDENTIFIER")
                        )
                       )
                       (!pair  "static_assertion"
                        (!type struct 670 nil  gc_used "tree_static_assert"
                         (!srcfileloc  "cp/cp-tree.h" 1286)
                         (!fields 4 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1282)
                           nil )
                          (!pair  "condition"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1283)
                           nil )
                          (!pair  "message"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1284)
                           nil )
                          (!pair  "location"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1285)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1668)
                        (!options 
                         (!option tag string  "TS_CP_STATIC_ASSERT")
                        )
                       )
                       (!pair  "argument_pack_select"
                        (!type struct 671 nil  gc_used "tree_argument_pack_select"
                         (!srcfileloc  "cp/cp-tree.h" 1292)
                         (!fields 3 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1289)
                           nil )
                          (!pair  "argument_pack"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1290)
                           nil )
                          (!pair  "index"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1291)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1670)
                        (!options 
                         (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                        )
                       )
                       (!pair  "trait_expression"
                        (!type struct 672 nil  gc_used "tree_trait_expr"
                         (!srcfileloc  "cp/cp-tree.h" 1351)
                         (!fields 5 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1346)
                           nil )
                          (!pair  "type1"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1347)
                           nil )
                          (!pair  "type2"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1348)
                           nil )
                          (!pair  "locus"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1349)
                           nil )
                          (!pair  "kind"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1350)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1672)
                        (!options 
                         (!option tag string  "TS_CP_TRAIT_EXPR")
                        )
                       )
                       (!pair  "lambda_expression"
                        (!type struct 673 nil  gc_used "tree_lambda_expr"
                         (!srcfileloc  "cp/cp-tree.h" 1450)
                         (!fields 8 
                          (!pair  "typed"
                           (!type already_seen 31)
                           (!srcfileloc  "cp/cp-tree.h" 1442)
                           nil )
                          (!pair  "capture_list"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1443)
                           nil )
                          (!pair  "this_capture"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1444)
                           nil )
                          (!pair  "extra_scope"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1445)
                           nil )
                          (!pair  "pending_proxies"
                           (!type already_seen 84)
                           (!srcfileloc  "cp/cp-tree.h" 1446)
                           nil )
                          (!pair  "locus"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1447)
                           nil )
                          (!pair  "default_capture_mode"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1448)
                           nil )
                          (!pair  "discriminator"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1449)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1674)
                        (!options 
                         (!option tag string  "TS_CP_LAMBDA_EXPR")
                        )
                       )
                       (!pair  "template_info"
                        (!type struct 674 nil  gc_used "tree_template_info"
                         (!srcfileloc  "cp/cp-tree.h" 1497)
                         (!fields 4 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1493)
                           nil )
                          (!pair  "tmpl"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1494)
                           nil )
                          (!pair  "args"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1495)
                           nil )
                          (!pair  "typedefs_needing_access_checking"
                           (!type pointer 675 nil  gc_used
                            (!type user_struct 676 
                             (!type already_seen 675)
                             gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                             (!srcfileloc  "cp/cp-tree.h" 1496)
                             (!fields 2 
                              (!pair  "va_gc"
                               (!type already_seen 79)
                               (!srcfileloc  "cp/cp-tree.h" 1496)
                               nil )
                              (!pair  "qualified_typedef_usage_t"
                               (!type struct 677 nil  gc_used "qualified_typedef_usage_s"
                                (!srcfileloc  "cp/cp-tree.h" 1470)
                                (!fields 3 
                                 (!pair  "typedef_decl"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 1467)
                                  nil )
                                 (!pair  "context"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 1468)
                                  nil )
                                 (!pair  "locus"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 1469)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 1496)
                               nil )
                             )
                            )
                           )
                           (!srcfileloc  "cp/cp-tree.h" 1496)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1676)
                        (!options 
                         (!option tag string  "TS_CP_TEMPLATE_INFO")
                        )
                       )
                       (!pair  "constraint_info"
                        (!type struct 678 nil  gc_used "tree_constraint_info"
                         (!srcfileloc  "cp/cp-tree.h" 1514)
                         (!fields 4 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1510)
                           nil )
                          (!pair  "template_reqs"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1511)
                           nil )
                          (!pair  "declarator_reqs"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1512)
                           nil )
                          (!pair  "associated_constr"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1513)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1678)
                        (!options 
                         (!option tag string  "TS_CP_CONSTRAINT_INFO")
                        )
                       )
                       (!pair  "userdef_literal"
                        (!type struct 679 nil  gc_used "tree_userdef_literal"
                         (!srcfileloc  "c-family/c-common.h" 1258)
                         (!fields 5 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "c-family/c-common.h" 1253)
                           nil )
                          (!pair  "suffix_id"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1254)
                           nil )
                          (!pair  "value"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1255)
                           nil )
                          (!pair  "num_string"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1256)
                           nil )
                          (!pair  "overflow"
                           (!type already_seen 2)
                           (!srcfileloc  "c-family/c-common.h" 1257)
                           nil )
                         )
                         nil 1548 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1680)
                        (!options 
                         (!option tag string  "TS_CP_USERDEF_LITERAL")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
                       (!option desc string  "cp_tree_node_structure (&%h)")
                      )
                      1032 
                      (!type already_seen 630)
                     )
                     
                     (!type union 680 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "c/c-decl.c" 322)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "c/c-decl.c" 320)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "c/c-decl.c" 321)
                        (!options 
                         (!option tag string  "1")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
                       (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
                      )
                      516 
                      (!type already_seen 630)
                     )
                     
                     (!type union 681 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "brig/brig-lang.c" 97)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "brig/brig-lang.c" 95)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 633)
                        (!srcfileloc  "brig/brig-lang.c" 96)
                        (!options 
                         (!option tag string  "1")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
                      )
                      2 
                      (!type already_seen 630)
                     )
                     
                     (!type union 682 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
                      (!fields 1 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 32)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                      )
                      (!options 
                       (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
                       (!option desc string  "0")
                      )
                      1 
                      (!type already_seen 630)
                     )
                    )
                   )
                  )
                 )
                 2047 nil )
                "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
               (!option tag string  "false")
              )
             )
             (!pair  "next"
              (!type already_seen 19)
              (!srcfileloc  "../libcpp/include/cpplib.h" 771)
              (!options 
               (!option tag string  "true")
              )
             )
            )
            nil 2047 nil )
           (!srcfileloc  "../libcpp/include/cpplib.h" 772)
           (!options 
            (!option desc string  "%1.kind == cmk_assert")
           )
          )
          (!pair  "line"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 775)
           nil )
          (!pair  "count"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 779)
           nil )
          (!pair  "paramc"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 782)
           nil )
          (!pair  "lazy"
           (!type already_seen 8)
           (!srcfileloc  "../libcpp/include/cpplib.h" 785)
           nil )
          (!pair  "kind"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 788)
           nil )
          (!pair  "fun_like"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 791)
           nil )
          (!pair  "variadic"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 794)
           nil )
          (!pair  "syshdr"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 797)
           nil )
          (!pair  "used"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 800)
           nil )
          (!pair  "extra_tokens"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 805)
           nil )
          (!pair  "exp"
           (!type union 683 nil  gc_used "cpp_exp_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 818)
            (!fields 2 
             (!pair  "tokens"
              (!type array 684 nil  gc_used "1" 
               (!type struct 685 
                (!type pointer 686 nil  gc_used
                 (!type already_seen 685)
                )
                gc_pointed_to "cpp_token"
                (!srcfileloc  "../libcpp/include/cpplib.h" 272)
                (!fields 4 
                 (!pair  "src_loc"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 246)
                  nil )
                 (!pair  "type"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 248)
                  nil )
                 (!pair  "flags"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 249)
                  nil )
                 (!pair  "val"
                  (!type union 687 nil  gc_used "cpp_token_u"
                   (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                   (!fields 6 
                    (!pair  "node"
                     (!type struct 688 nil  gc_used "cpp_identifier"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                      (!fields 2 
                       (!pair  "node"
                        (!type already_seen 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 232)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                        )
                       )
                       (!pair  "spelling"
                        (!type already_seen 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 238)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                        )
                       )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 254)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_NODE")
                     )
                    )
                    (!pair  "source"
                     (!type already_seen 686)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 257)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                     )
                    )
                    (!pair  "str"
                     (!type struct 689 nil  gc_used "cpp_string"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 182)
                      (!fields 2 
                       (!pair  "len"
                        (!type already_seen 2)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 180)
                        nil )
                       (!pair  "text"
                        (!type already_seen 11)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 181)
                        nil )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 260)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_STR")
                     )
                    )
                    (!pair  "macro_arg"
                     (!type struct 690 nil  gc_used "cpp_macro_arg"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 223)
                      (!fields 2 
                       (!pair  "arg_no"
                        (!type already_seen 2)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 216)
                        nil )
                       (!pair  "spelling"
                        (!type already_seen 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 222)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                        )
                       )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 263)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                     )
                    )
                    (!pair  "token_no"
                     (!type already_seen 2)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 267)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                     )
                    )
                    (!pair  "pragma"
                     (!type already_seen 2)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 270)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                     )
                    )
                   )
                   nil 2047 nil )
                  (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                  (!options 
                   (!option desc string  "cpp_token_val_index (&%1)")
                  )
                 )
                )
                nil 2047 nil nil )
              )
              (!srcfileloc  "../libcpp/include/cpplib.h" 812)
              (!options 
               (!option length string  "%1.count")
               (!option tag string  "false")
              )
             )
             (!pair  "text"
              (!type already_seen 11)
              (!srcfileloc  "../libcpp/include/cpplib.h" 817)
              (!options 
               (!option tag string  "true")
              )
             )
            )
            nil 2047 nil )
           (!srcfileloc  "../libcpp/include/cpplib.h" 818)
           (!options 
            (!option desc string  "%1.kind == cmk_traditional")
           )
          )
         )
         nil 2047 nil nil )
       )
       (!srcfileloc  "../libcpp/include/cpplib.h" 879)
       (!options 
        (!option tag string  "NT_VOID")
       )
      )
      (!pair  "macro"
       (!type already_seen 19)
       (!srcfileloc  "../libcpp/include/cpplib.h" 881)
       (!options 
        (!option tag string  "NT_USER_MACRO")
       )
      )
      (!pair  "builtin"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/cpplib.h" 883)
       (!options 
        (!option tag string  "NT_BUILTIN_MACRO")
       )
      )
      (!pair  "arg_index"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/cpplib.h" 885)
       (!options 
        (!option tag string  "NT_MACRO_ARG")
       )
      )
     )
     nil 2047 nil )
    (!srcfileloc  "../libcpp/include/cpplib.h" 900)
    (!options 
     (!option desc string  "%1.type")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 22)
 
 (!type struct 691 
  (!type pointer 692 nil  gc_unused
   (!type already_seen 691)
  )
  gc_used "line_map_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 733)
  (!fields 4 
   (!pair  "n_tokens"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 463)
    nil )
   (!pair  "macro"
    (!type already_seen 13)
    (!srcfileloc  "../libcpp/include/line-map.h" 472)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 22)
      "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
    )
   )
   (!pair  "macro_locations"
    (!type already_seen 3)
    (!srcfileloc  "../libcpp/include/line-map.h" 527)
    (!options 
     (!option atomic string  "")
    )
   )
   (!pair  "expansion"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 534)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 5)
 )
 
 (!type struct 693 nil  gc_used "maps_info_ordinary"
  (!srcfileloc  "../libcpp/include/line-map.h" 778)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 7)
    (!srcfileloc  "../libcpp/include/line-map.h" 718)
    (!options 
     (!option length string  "%h.used")
    )
   )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 721)
    nil )
   (!pair  "used"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 725)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 694 nil  gc_used "maps_info_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 692)
    (!srcfileloc  "../libcpp/include/line-map.h" 733)
    (!options 
     (!option length string  "%h.used")
    )
   )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 736)
    nil )
   (!pair  "used"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 740)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 695 
  (!type pointer 696 nil  gc_unused
   (!type already_seen 695)
  )
  gc_used "location_adhoc_data"
  (!srcfileloc  "../libcpp/include/line-map.h" 751)
  (!fields 3 
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 748)
    nil )
   (!pair  "src_range"
    (!type already_seen 1)
    (!srcfileloc  "../libcpp/include/line-map.h" 749)
    nil )
   (!pair  "data"
    (!type already_seen 3)
    (!srcfileloc  "../libcpp/include/line-map.h" 750)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 338)
 
 (!type struct 697 nil  gc_used "location_adhoc_data_map"
  (!srcfileloc  "../libcpp/include/line-map.h" 770)
  (!fields 4 
   (!pair  "htab"
    (!type already_seen 337)
    (!srcfileloc  "../libcpp/include/line-map.h" 766)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "curr_loc"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 767)
    nil )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 768)
    nil )
   (!pair  "data"
    (!type already_seen 696)
    (!srcfileloc  "../libcpp/include/line-map.h" 769)
    (!options 
     (!option length string  "%h.allocated")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 698 
  (!type pointer 699 nil  gc_used
   (!type already_seen 698)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 819)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type already_seen 693)
    (!srcfileloc  "../libcpp/include/line-map.h" 778)
    nil )
   (!pair  "info_macro"
    (!type already_seen 694)
    (!srcfileloc  "../libcpp/include/line-map.h" 780)
    nil )
   (!pair  "depth"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 783)
    nil )
   (!pair  "trace_includes"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 786)
    nil )
   (!pair  "highest_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 789)
    nil )
   (!pair  "highest_line"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 792)
    nil )
   (!pair  "max_column_hint"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 796)
    nil )
   (!pair  "reallocator"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 799)
    nil )
   (!pair  "round_alloc_size"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 803)
    nil )
   (!pair  "location_adhoc_data_map"
    (!type already_seen 697)
    (!srcfileloc  "../libcpp/include/line-map.h" 805)
    nil )
   (!pair  "builtin_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 809)
    nil )
   (!pair  "seen_line_directive"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 812)
    nil )
   (!pair  "default_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 815)
    nil )
   (!pair  "num_optimized_ranges"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 817)
    nil )
   (!pair  "num_unoptimized_ranges"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 818)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 700 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/line-map.h:1251"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 701 nil  gc_unused "range_label"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 702 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 703 nil  gc_unused "semi_embedded_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 704 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 705 nil  gc_unused "diagnostic_path"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "label_text"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 709 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 710 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 711 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 685)
 
 (!type already_seen 689)
 
 (!type already_seen 20)
 
 (!type struct 712 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 713 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 690)
 
 (!type already_seen 688)
 
 (!type already_seen 687)
 
 (!type already_seen 21)
 
 (!type already_seen 683)
 
 (!type already_seen 18)
 
 (!type already_seen 15)
 
 (!type struct 715 nil  gc_unused "cpp_string_location_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 716 nil  gc_unused "cpp_substring_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 717 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 718 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/cpplib.h:1238"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 719 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/cpplib.h:1249"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 720 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 721 nil  gc_unused "char_span"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 
  (!type pointer 723 nil  gc_used
   (!type already_seen 722)
  )
  gc_pointed_to "string_concat"
  (!srcfileloc  "input.h" 186)
  (!fields 2 
   (!pair  "m_num"
    (!type already_seen 2)
    (!srcfileloc  "input.h" 184)
    nil )
   (!pair  "m_locs"
    (!type already_seen 3)
    (!srcfileloc  "input.h" 185)
    (!options 
     (!option atomic string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 724 nil  gc_used "location_hash"
  (!srcfileloc  "input.h" 212)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 725 
  (!type pointer 726 nil  gc_used
   (!type already_seen 725)
  )
  gc_pointed_to "string_concat_db"
  (!srcfileloc  "input.h" 213)
  (!fields 1 
   (!pair  "m_table"
    (!type pointer 727 nil  gc_used
     (!type user_struct 728 
      (!type already_seen 727)
      gc_pointed_to "hash_map<location_hash,string_concat*>"
      (!srcfileloc  "input.h" 212)
      (!fields 2 
       (!pair  "string_concat"
        (!type already_seen 723)
        (!srcfileloc  "input.h" 212)
        nil )
       (!pair  "location_hash"
        (!type already_seen 724)
        (!srcfileloc  "input.h" 212)
        nil )
      )
     )
    )
    (!srcfileloc  "input.h" 212)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 728)
 
 (!type already_seen 397)
 
 (!type already_seen 392)
 
 (!type struct 729 
  (!type pointer 730 nil  gc_unused
   (!type already_seen 729)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 102)
 
 (!type already_seen 45)
 
 (!type already_seen 288)
 
 (!type struct 731 nil  gc_unused "scalar_float_mode"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 732 nil  gc_unused "complex_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 733 nil  gc_unused "fixed_size_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 734 nil  gc_unused "opt_mode<scalar_mode>"
  (!srcfileloc  "coretypes.h" 65)
  (!fields 1 
   (!pair  "scalar_mode"
    (!type already_seen 45)
    (!srcfileloc  "coretypes.h" 65)
    nil )
  )
 )
 
 (!type user_struct 735 nil  gc_unused "opt_mode<scalar_int_mode>"
  (!srcfileloc  "coretypes.h" 66)
  (!fields 1 
   (!pair  "scalar_int_mode"
    (!type already_seen 288)
    (!srcfileloc  "coretypes.h" 66)
    nil )
  )
 )
 
 (!type user_struct 736 nil  gc_unused "opt_mode<scalar_float_mode>"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 1 
   (!pair  "scalar_float_mode"
    (!type already_seen 731)
    (!srcfileloc  "coretypes.h" 67)
    nil )
  )
 )
 
 (!type already_seen 44)
 
 (!type user_struct 737 nil  gc_unused "pod_mode<scalar_int_mode>"
  (!srcfileloc  "coretypes.h" 70)
  (!fields 1 
   (!pair  "scalar_int_mode"
    (!type already_seen 288)
    (!srcfileloc  "coretypes.h" 70)
    nil )
  )
 )
 
 (!type user_struct 738 nil  gc_unused "pod_mode<fixed_size_mode>"
  (!srcfileloc  "coretypes.h" 71)
  (!fields 1 
   (!pair  "fixed_size_mode"
    (!type already_seen 2)
    (!srcfileloc  "coretypes.h" 71)
    nil )
  )
 )
 
 (!type struct 739 
  (!type pointer 740 nil  gc_unused
   (!type already_seen 739)
  )
  gc_pointed_to "rtx_expr_list"
  (!srcfileloc  "rtl.h" 468)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 741 
  (!type pointer 742 nil  gc_used
   (!type already_seen 741)
  )
  gc_pointed_to "rtx_insn_list"
  (!srcfileloc  "rtl.h" 498)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 743 nil  gc_pointed_to "rtx_sequence"
  (!srcfileloc  "rtl.h" 526)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type already_seen 296)
 
 (!type struct 744 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 587)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 745 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 598)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 746 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 625)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 747 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 638)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 748 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 664)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 749 nil  gc_pointed_to "rtx_barrier"
  (!srcfileloc  "rtl.h" 675)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type already_seen 371)
 
 (!type struct 750 
  (!type pointer 751 nil  gc_used
   (!type already_seen 750)
  )
  gc_pointed_to "rtx_note"
  (!srcfileloc  "emit-rtl.h" 125)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type already_seen 230)
 
 (!type struct 752 
  (!type pointer 753 nil  gc_unused
   (!type already_seen 752)
  )
  gc_unused "hwivec_def"
  (!srcfileloc  "rtl.h" 282)
  (!fields 1 
   (!pair  "elem"
    (!type array 754 nil  gc_unused "1" 
     (!type already_seen 2)
    )
    (!srcfileloc  "rtl.h" 281)
    nil )
  )
  (!options 
   (!option variable_size string  "")
  )
  2047 nil nil )
 
 (!type already_seen 281)
 
 (!type struct 755 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 756 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 883)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type struct 757 nil  gc_pointed_to "gimple_statement_with_ops"
   (!srcfileloc  "gimple.h" 317)
   (!fields 1 
    (!pair  "op"
     (!type array 758 nil  gc_used "1" 
      (!type already_seen 23)
     )
     (!srcfileloc  "gimple.h" 316)
     (!options 
      (!option length string  "%h.num_ops")
     )
    )
   )
   (!options 
    (!option tag string  "GSS_WITH_OPS")
   )
   2047 nil 
   (!type struct 759 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 302)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 407)
      (!srcfileloc  "gimple.h" 301)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 2047 nil 
    (!type already_seen 281)
   )
  )
 )
 
 (!type struct 760 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 893)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 761 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 903)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 762 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 913)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 763 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 923)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 764 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 934)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type struct 765 nil  gc_pointed_to "gimple_statement_with_memory_ops"
   (!srcfileloc  "gimple.h" 348)
   (!fields 1 
    (!pair  "op"
     (!type array 766 nil  gc_used "1" 
      (!type already_seen 23)
     )
     (!srcfileloc  "gimple.h" 347)
     (!options 
      (!option length string  "%h.num_ops")
     )
    )
   )
   (!options 
    (!option tag string  "GSS_WITH_MEM_OPS")
   )
   2047 nil 
   (!type struct 767 nil  gc_pointed_to "gimple_statement_with_memory_ops_base"
    (!srcfileloc  "gimple.h" 332)
    (!fields 2 
     (!pair  "vdef"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 330)
      (!options 
       (!option skip string  "")
      )
     )
     (!pair  "vuse"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 331)
      (!options 
       (!option skip string  "")
      )
     )
    )
    (!options 
     (!option tag string  "GSS_WITH_MEM_OPS_BASE")
    )
    2047 nil 
    (!type already_seen 759)
   )
  )
 )
 
 (!type struct 768 nil  gc_pointed_to "gasm"
  (!srcfileloc  "gimple.h" 584)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 11)
    (!srcfileloc  "gimple.h" 570)
    nil )
   (!pair  "ni"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 574)
    nil )
   (!pair  "no"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 575)
    nil )
   (!pair  "nc"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 576)
    nil )
   (!pair  "nl"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 577)
    nil )
   (!pair  "op"
    (!type array 769 nil  gc_used "1" 
     (!type already_seen 23)
    )
    (!srcfileloc  "gimple.h" 583)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_ASM")
  )
  2047 nil 
  (!type already_seen 767)
 )
 
 (!type struct 770 
  (!type pointer 771 nil  gc_used
   (!type already_seen 770)
  )
  gc_pointed_to "gcall"
  (!srcfileloc  "gimple.h" 375)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 390)
    (!srcfileloc  "gimple.h" 359)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 390)
    (!srcfileloc  "gimple.h" 360)
    nil )
   (!pair  "u"
    (!type union 772 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/gimple.h:363"
     (!srcfileloc  "gimple.h" 366)
     (!fields 2 
      (!pair  "fntype"
       (!type already_seen 23)
       (!srcfileloc  "gimple.h" 364)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "internal_fn"
       (!type already_seen 2)
       (!srcfileloc  "gimple.h" 365)
       (!options 
        (!option tag string  "GF_CALL_INTERNAL")
       )
      )
     )
     (!options 
      (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
     )
     2047 nil )
    (!srcfileloc  "gimple.h" 366)
    nil )
   (!pair  "op"
    (!type array 773 nil  gc_used "1" 
     (!type already_seen 23)
    )
    (!srcfileloc  "gimple.h" 372)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_CALL")
  )
  2047 nil 
  (!type already_seen 767)
 )
 
 (!type struct 774 nil  gc_pointed_to "gtransaction"
  (!srcfileloc  "gimple.h" 865)
  (!fields 4 
   (!pair  "body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 859)
    nil )
   (!pair  "label_norm"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 862)
    nil )
   (!pair  "label_uninst"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 863)
    nil )
   (!pair  "label_over"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 864)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  2047 nil 
  (!type already_seen 767)
 )
 
 (!type struct 775 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 944)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type already_seen 765)
 )
 
 (!type struct 776 nil  gc_pointed_to "gbind"
  (!srcfileloc  "gimple.h" 411)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 399)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 407)
    nil )
   (!pair  "body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 410)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 777 nil  gc_pointed_to "gcatch"
  (!srcfileloc  "gimple.h" 426)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 422)
    nil )
   (!pair  "handler"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 425)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 778 nil  gc_pointed_to "geh_filter"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "failure"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 779 nil  gc_pointed_to "geh_mnt"
  (!srcfileloc  "gimple.h" 465)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 464)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 780 nil  gc_pointed_to "geh_else"
  (!srcfileloc  "gimple.h" 454)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 453)
    nil )
   (!pair  "e_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 453)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 781 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 503)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type struct 782 nil  gc_pointed_to "gimple_statement_eh_ctrl"
   (!srcfileloc  "gimple.h" 496)
   (!fields 1 
    (!pair  "region"
     (!type already_seen 2)
     (!srcfileloc  "gimple.h" 495)
     nil )
   )
   (!options 
    (!option tag string  "GSS_EH_CTRL")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 783 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 510)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type already_seen 782)
 )
 
 (!type struct 784 nil  gc_pointed_to "gphi"
  (!srcfileloc  "gimple.h" 483)
  (!fields 4 
   (!pair  "capacity"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 475)
    nil )
   (!pair  "nargs"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 476)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 479)
    nil )
   (!pair  "args"
    (!type array 785 nil  gc_used "1" 
     (!type struct 786 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1540)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 564)
        (!srcfileloc  "tree-core.h" 1537)
        nil )
       (!pair  "def"
        (!type already_seen 23)
        (!srcfileloc  "tree-core.h" 1538)
        nil )
       (!pair  "locus"
        (!type already_seen 2)
        (!srcfileloc  "tree-core.h" 1539)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "gimple.h" 482)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 787 nil  gc_pointed_to "gtry"
  (!srcfileloc  "gimple.h" 527)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 522)
    nil )
   (!pair  "cleanup"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 526)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 788 nil  gc_pointed_to "gomp_atomic_load"
  (!srcfileloc  "gimple.h" 795)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 794)
    nil )
   (!pair  "lhs"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 794)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 789 nil  gc_pointed_to "gomp_atomic_store"
  (!srcfileloc  "gimple.h" 815)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  2047 nil 
  (!type struct 790 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 807)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 23)
     (!srcfileloc  "gimple.h" 806)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 791 nil  gc_pointed_to "gomp_continue"
  (!srcfileloc  "gimple.h" 741)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 737)
    nil )
   (!pair  "control_use"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 740)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 792 nil  gc_pointed_to "gomp_critical"
  (!srcfileloc  "gimple.h" 599)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 594)
    nil )
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 598)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CRITICAL")
  )
  2047 nil 
  (!type struct 793 nil  gc_pointed_to "gimple_statement_omp"
   (!srcfileloc  "gimple.h" 387)
   (!fields 1 
    (!pair  "body"
     (!type already_seen 280)
     (!srcfileloc  "gimple.h" 386)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 794 nil  gc_pointed_to "gomp_ordered"
  (!srcfileloc  "gimple.h" 774)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type struct 795 nil  gc_pointed_to "gimple_statement_omp_single_layout"
   (!srcfileloc  "gimple.h" 753)
   (!fields 1 
    (!pair  "clauses"
     (!type already_seen 23)
     (!srcfileloc  "gimple.h" 752)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
   )
   2047 nil 
   (!type already_seen 793)
  )
 )
 
 (!type struct 796 nil  gc_pointed_to "gomp_for"
  (!srcfileloc  "gimple.h" 639)
  (!fields 4 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 627)
    nil )
   (!pair  "collapse"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 631)
    nil )
   (!pair  "iter"
    (!type pointer 797 nil  gc_unused
     (!type struct 798 
      (!type already_seen 797)
      gc_used "gimple_omp_for_iter"
      (!srcfileloc  "gimple.h" 617)
      (!fields 5 
       (!pair  "cond"
        (!type already_seen 2)
        (!srcfileloc  "gimple.h" 604)
        nil )
       (!pair  "index"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 607)
        nil )
       (!pair  "initial"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 610)
        nil )
       (!pair  "final"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 613)
        nil )
       (!pair  "incr"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 616)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "gimple.h" 634)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 638)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  2047 nil 
  (!type already_seen 793)
 )
 
 (!type struct 799 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 678)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type struct 800 nil  gc_pointed_to "gimple_statement_omp_taskreg"
   (!srcfileloc  "gimple.h" 670)
   (!fields 0 )
   (!options 
    (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
   )
   2047 nil 
   (!type struct 801 nil  gc_pointed_to "gimple_statement_omp_parallel_layout"
    (!srcfileloc  "gimple.h" 660)
    (!fields 3 
     (!pair  "clauses"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 651)
      nil )
     (!pair  "child_fn"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 655)
      nil )
     (!pair  "data_arg"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 659)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
    )
    2047 nil 
    (!type already_seen 793)
   )
  )
 )
 
 (!type struct 802 nil  gc_pointed_to "gomp_task"
  (!srcfileloc  "gimple.h" 703)
  (!fields 3 
   (!pair  "copy_fn"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 697)
    nil )
   (!pair  "arg_size"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 701)
    nil )
   (!pair  "arg_align"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 702)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_TASK")
  )
  2047 nil 
  (!type already_seen 800)
 )
 
 (!type struct 803 nil  gc_pointed_to "gomp_sections"
  (!srcfileloc  "gimple.h" 724)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 718)
    nil )
   (!pair  "control"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 723)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SECTIONS")
  )
  2047 nil 
  (!type already_seen 793)
 )
 
 (!type struct 804 nil  gc_pointed_to "gomp_single"
  (!srcfileloc  "gimple.h" 760)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 795)
 )
 
 (!type struct 805 nil  gc_pointed_to "gomp_target"
  (!srcfileloc  "gimple.h" 686)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type already_seen 801)
 )
 
 (!type struct 806 nil  gc_pointed_to "gomp_teams"
  (!srcfileloc  "gimple.h" 767)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type already_seen 800)
 )
 
 (!type already_seen 318)
 
 (!type struct 807 
  (!type pointer 808 nil  gc_used
   (!type already_seen 807)
  )
  gc_pointed_to "cgraph_node"
  (!srcfileloc  "cgraph.h" 1554)
  (!fields 50 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1131)
    nil )
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1143)
    nil )
   (!pair  "callees"
    (!type pointer 809 nil  gc_used
     (!type struct 810 
      (!type already_seen 809)
      gc_pointed_to "cgraph_edge"
      (!srcfileloc  "cgraph.h" 2022)
      (!fields 21 
       (!pair  "count"
        (!type already_seen 299)
        (!srcfileloc  "cgraph.h" 1936)
        nil )
       (!pair  "caller"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 1937)
        nil )
       (!pair  "callee"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 1938)
        nil )
       (!pair  "prev_caller"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1939)
        nil )
       (!pair  "next_caller"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1940)
        nil )
       (!pair  "prev_callee"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1941)
        nil )
       (!pair  "next_callee"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1942)
        nil )
       (!pair  "call_stmt"
        (!type already_seen 771)
        (!srcfileloc  "cgraph.h" 1943)
        nil )
       (!pair  "indirect_info"
        (!type pointer 811 nil  gc_used
         (!type struct 812 
          (!type already_seen 811)
          gc_pointed_to "cgraph_indirect_call_info"
          (!srcfileloc  "cgraph.h" 1946)
          (!fields 13 
           (!pair  "offset"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1699)
            nil )
           (!pair  "context"
            (!type struct 813 nil  gc_used "ipa_polymorphic_call_context"
             (!srcfileloc  "cgraph.h" 1690)
             (!fields 10 
              (!pair  "offset"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1600)
               nil )
              (!pair  "speculative_offset"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1601)
               nil )
              (!pair  "outer_type"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 1602)
               nil )
              (!pair  "speculative_outer_type"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 1603)
               nil )
              (!pair  "maybe_in_construction"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1605)
               nil )
              (!pair  "maybe_derived_type"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1607)
               nil )
              (!pair  "speculative_maybe_derived_type"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1610)
               nil )
              (!pair  "invalid"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1613)
               nil )
              (!pair  "dynamic"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1615)
               nil )
              (!pair  "DEBUG_FUNCTION"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1677)
               nil )
             )
             nil 2047 nil nil )
            (!srcfileloc  "cgraph.h" 1701)
            nil )
           (!pair  "otr_token"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1703)
            nil )
           (!pair  "otr_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 1705)
            nil )
           (!pair  "param_index"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1707)
            nil )
           (!pair  "ecf_flags"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1709)
            nil )
           (!pair  "num_speculative_call_targets"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1712)
            nil )
           (!pair  "polymorphic"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1716)
            nil )
           (!pair  "agg_contents"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1719)
            nil )
           (!pair  "member_ptr"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1721)
            nil )
           (!pair  "by_ref"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1724)
            nil )
           (!pair  "guaranteed_unmodified"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1729)
            nil )
           (!pair  "vptr_changed"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1732)
            nil )
          )
          nil 2047 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1946)
        nil )
       (!pair  "aux"
        (!type already_seen 3)
        (!srcfileloc  "cgraph.h" 1947)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "inline_failed"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1950)
        nil )
       (!pair  "lto_stmt_uid"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1953)
        nil )
       (!pair  "speculative_id"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1956)
        nil )
       (!pair  "indirect_inlining_edge"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1958)
        nil )
       (!pair  "indirect_unknown_callee"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1961)
        nil )
       (!pair  "call_stmt_cannot_inline_p"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1964)
        nil )
       (!pair  "can_throw_external"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1966)
        nil )
       (!pair  "speculative"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1984)
        nil )
       (!pair  "in_polymorphic_cdtor"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1987)
        nil )
       (!pair  "m_uid"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 2001)
        nil )
       (!pair  "m_summary_id"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 2004)
        nil )
      )
      (!options 
       (!option for_user string  "")
       (!option chain_prev string  "%h.prev_caller")
       (!option chain_next string  "%h.next_caller")
      )
      2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1433)
    nil )
   (!pair  "callers"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1434)
    nil )
   (!pair  "indirect_calls"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1437)
    nil )
   (!pair  "origin"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1439)
    nil )
   (!pair  "nested"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1441)
    nil )
   (!pair  "next_nested"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1443)
    nil )
   (!pair  "next_sibling_clone"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1445)
    nil )
   (!pair  "prev_sibling_clone"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1446)
    nil )
   (!pair  "clones"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1447)
    nil )
   (!pair  "clone_of"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1448)
    nil )
   (!pair  "call_site_hash"
    (!type pointer 814 nil  gc_used
     (!type user_struct 815 
      (!type already_seen 814)
      gc_pointed_to "hash_table<cgraph_edge_hasher>"
      (!srcfileloc  "cgraph.h" 1451)
      (!fields 1 
       (!pair  "cgraph_edge_hasher"
        (!type struct 816 nil  gc_used "cgraph_edge_hasher"
         (!srcfileloc  "cgraph.h" 1451)
         (!fields 0 )
         nil 2047 nil nil )
        (!srcfileloc  "cgraph.h" 1451)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 1451)
    nil )
   (!pair  "former_clone_of"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 1453)
    nil )
   (!pair  "simdclone"
    (!type pointer 817 nil  gc_used
     (!type struct 818 
      (!type already_seen 817)
      gc_pointed_to "cgraph_simd_clone"
      (!srcfileloc  "cgraph.h" 1457)
      (!fields 11 
       (!pair  "simdlen"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 829)
        nil )
       (!pair  "nargs"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 833)
        nil )
       (!pair  "vecsize_int"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 836)
        nil )
       (!pair  "vecsize_float"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 839)
        nil )
       (!pair  "mask_mode"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 844)
        nil )
       (!pair  "vecsize_mangle"
        (!type already_seen 8)
        (!srcfileloc  "cgraph.h" 849)
        nil )
       (!pair  "inbranch"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 853)
        nil )
       (!pair  "prev_clone"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "next_clone"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "origin"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 859)
        nil )
       (!pair  "args"
        (!type array 819 nil  gc_used "1" 
         (!type struct 820 nil  gc_used "cgraph_simd_clone_arg"
          (!srcfileloc  "cgraph.h" 862)
          (!fields 8 
           (!pair  "orig_arg"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 785)
            nil )
           (!pair  "orig_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 789)
            nil )
           (!pair  "vector_arg"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 797)
            nil )
           (!pair  "vector_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 800)
            nil )
           (!pair  "simd_array"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 809)
            nil )
           (!pair  "arg_type"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 813)
            nil )
           (!pair  "linear_step"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 819)
            nil )
           (!pair  "alignment"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 822)
            nil )
          )
          nil 2047 nil nil )
        )
        (!srcfileloc  "cgraph.h" 862)
        (!options 
         (!option length string  "%h.nargs")
        )
       )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1457)
    nil )
   (!pair  "simd_clones"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1459)
    nil )
   (!pair  "ipa_transforms_to_apply"
    (!type user_struct 821 nil  gc_unused "vec<ipa_opt_pass>"
     (!srcfileloc  "cgraph.h" 1464)
     (!fields 1 
      (!pair  "ipa_opt_pass"
       (!type pointer 822 nil  gc_unused
        (!type struct 823 
         (!type already_seen 822)
         gc_unused "ipa_opt_pass_d"
         (!srcfileloc  "cgraph.h" 38)
         (!fields 0 )
         nil 2047 nil nil )
       )
       (!srcfileloc  "cgraph.h" 1464)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 1464)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "inlined_to"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1468)
    nil )
   (!pair  "rtl"
    (!type pointer 824 nil  gc_used
     (!type struct 825 
      (!type already_seen 824)
      gc_pointed_to "cgraph_rtl_info"
      (!srcfileloc  "rtl.h" 4402)
      (!fields 2 
       (!pair  "preferred_incoming_stack_boundary"
        (!type already_seen 2)
        (!srcfileloc  "rtl.h" 4397)
        nil )
       (!pair  "function_used_regs"
        (!type already_seen 2)
        (!srcfileloc  "rtl.h" 4401)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1470)
    nil )
   (!pair  "clone"
    (!type struct 826 nil  gc_used "cgraph_clone_info"
     (!srcfileloc  "cgraph.h" 1471)
     (!fields 3 
      (!pair  "tree_map"
       (!type pointer 827 nil  gc_used
        (!type user_struct 828 
         (!type already_seen 827)
         gc_pointed_to "vec<ipa_replace_map*,va_gc>"
         (!srcfileloc  "cgraph.h" 744)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "cgraph.h" 744)
           nil )
          (!pair  "ipa_replace_map"
           (!type pointer 829 nil  gc_used
            (!type struct 830 
             (!type already_seen 829)
             gc_pointed_to "ipa_replace_map"
             (!srcfileloc  "cgraph.h" 738)
             (!fields 2 
              (!pair  "new_tree"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 735)
               nil )
              (!pair  "parm_num"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 737)
               nil )
             )
             nil 2047 nil nil )
           )
           (!srcfileloc  "cgraph.h" 744)
           nil )
         )
        )
       )
       (!srcfileloc  "cgraph.h" 744)
       nil )
      (!pair  "param_adjustments"
       (!type pointer 831 nil  gc_used
        (!type struct 832 
         (!type already_seen 831)
         gc_pointed_to "ipa_param_adjustments"
         (!srcfileloc  "ipa-param-manipulation.h" 285)
         (!fields 3 
          (!pair  "m_adj_params"
           (!type pointer 833 nil  gc_used
            (!type user_struct 834 
             (!type already_seen 833)
             gc_pointed_to "vec<ipa_adjusted_param,va_gc>"
             (!srcfileloc  "ipa-param-manipulation.h" 269)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 79)
               (!srcfileloc  "ipa-param-manipulation.h" 269)
               nil )
              (!pair  "ipa_adjusted_param"
               (!type struct 835 nil  gc_used "ipa_adjusted_param"
                (!srcfileloc  "ipa-param-manipulation.h" 269)
                (!fields 10 
                 (!pair  "type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-param-manipulation.h" 167)
                  nil )
                 (!pair  "alias_ptr_type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-param-manipulation.h" 171)
                  nil )
                 (!pair  "unit_offset"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 176)
                  nil )
                 (!pair  "base_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 182)
                  nil )
                 (!pair  "prev_clone_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 186)
                  nil )
                 (!pair  "op"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 189)
                  nil )
                 (!pair  "prev_clone_adjustment"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 193)
                  nil )
                 (!pair  "param_prefix_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 197)
                  nil )
                 (!pair  "reverse"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 201)
                  nil )
                 (!pair  "user_flag"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 204)
                  nil )
                )
                nil 2047 nil nil )
               (!srcfileloc  "ipa-param-manipulation.h" 269)
               nil )
             )
            )
           )
           (!srcfileloc  "ipa-param-manipulation.h" 269)
           nil )
          (!pair  "m_always_copy_start"
           (!type already_seen 2)
           (!srcfileloc  "ipa-param-manipulation.h" 275)
           nil )
          (!pair  "m_skip_return"
           (!type already_seen 2)
           (!srcfileloc  "ipa-param-manipulation.h" 277)
           nil )
         )
         nil 2047 nil nil )
       )
       (!srcfileloc  "cgraph.h" 746)
       nil )
      (!pair  "performed_splits"
       (!type pointer 836 nil  gc_used
        (!type user_struct 837 
         (!type already_seen 836)
         gc_pointed_to "vec<ipa_param_performed_split,va_gc>"
         (!srcfileloc  "cgraph.h" 758)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "cgraph.h" 758)
           nil )
          (!pair  "ipa_param_performed_split"
           (!type struct 838 nil  gc_used "ipa_param_performed_split"
            (!srcfileloc  "ipa-param-manipulation.h" 223)
            (!fields 2 
             (!pair  "dummy_decl"
              (!type already_seen 23)
              (!srcfileloc  "ipa-param-manipulation.h" 220)
              nil )
             (!pair  "unit_offset"
              (!type already_seen 2)
              (!srcfileloc  "ipa-param-manipulation.h" 222)
              nil )
            )
            nil 2047 nil nil )
           (!srcfileloc  "cgraph.h" 758)
           nil )
         )
        )
       )
       (!srcfileloc  "cgraph.h" 758)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "cgraph.h" 1471)
    nil )
   (!pair  "thunk"
    (!type struct 839 nil  gc_used "cgraph_thunk_info"
     (!srcfileloc  "cgraph.h" 1472)
     (!fields 7 
      (!pair  "fixed_offset"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 699)
       nil )
      (!pair  "virtual_value"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 703)
       nil )
      (!pair  "indirect_offset"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 707)
       nil )
      (!pair  "alias"
       (!type already_seen 23)
       (!srcfileloc  "cgraph.h" 711)
       nil )
      (!pair  "this_adjusting"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 715)
       nil )
      (!pair  "virtual_offset_p"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 723)
       nil )
      (!pair  "thunk_p"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 727)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "cgraph.h" 1472)
    nil )
   (!pair  "count"
    (!type already_seen 299)
    (!srcfileloc  "cgraph.h" 1475)
    nil )
   (!pair  "count_materialization_scale"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1478)
    nil )
   (!pair  "profile_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1480)
    nil )
   (!pair  "unit_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1482)
    nil )
   (!pair  "tp_first_run"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1484)
    nil )
   (!pair  "used_as_abstract_origin"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1488)
    nil )
   (!pair  "lowered"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1490)
    nil )
   (!pair  "process"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1493)
    nil )
   (!pair  "frequency"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1496)
    nil )
   (!pair  "only_called_at_startup"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1498)
    nil )
   (!pair  "only_called_at_exit"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1500)
    nil )
   (!pair  "tm_clone"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1505)
    nil )
   (!pair  "dispatcher_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1507)
    nil )
   (!pair  "calls_comdat_local"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1510)
    nil )
   (!pair  "icf_merged"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1512)
    nil )
   (!pair  "nonfreeing_fn"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1516)
    nil )
   (!pair  "merged_comdat"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1518)
    nil )
   (!pair  "merged_extern_inline"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1520)
    nil )
   (!pair  "parallelized_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1522)
    nil )
   (!pair  "split_part"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1524)
    nil )
   (!pair  "indirect_call_target"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1526)
    nil )
   (!pair  "local"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1529)
    nil )
   (!pair  "versionable"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1531)
    nil )
   (!pair  "can_change_signature"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1534)
    nil )
   (!pair  "redefined_extern_inline"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1537)
    nil )
   (!pair  "tm_may_enter_irr"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1539)
    nil )
   (!pair  "ipcp_clone"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1541)
    nil )
   (!pair  "m_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1545)
    nil )
   (!pair  "m_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1548)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_FUNCTION")
  )
  2047 nil 
  (!type already_seen 318)
 )
 
 (!type struct 840 nil  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 2163)
  (!fields 5 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2042)
    nil )
   (!pair  "output"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2141)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2145)
    nil )
   (!pair  "tls_model"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2147)
    nil )
   (!pair  "used_by_single_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2153)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  2047 nil 
  (!type already_seen 318)
 )
 
 (!type already_seen 810)
 
 (!type already_seen 214)
 
 (!type struct 841 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 629)
 
 (!type already_seen 581)
 
 (!type struct 842 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 843 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 845 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "diagnostic_event_id_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 272)
 
 (!type already_seen 268)
 
 (!type struct 849 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 850 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 851 nil  gc_unused "std::pair<tree,tree>"
  (!srcfileloc  "coretypes.h" 351)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "coretypes.h" 351)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "coretypes.h" 351)
    nil )
  )
 )
 
 (!type user_struct 852 nil  gc_unused "std::pair<char*,int>"
  (!srcfileloc  "coretypes.h" 352)
  (!fields 1 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "coretypes.h" 352)
    nil )
  )
 )
 
 (!type already_seen 378)
 
 (!type struct 853 nil  gc_unused "kv_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 854 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 856 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 857 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 858 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 427)
 
 (!type already_seen 426)
 
 (!type struct 859 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.h:1556"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 860 nil  gc_unused "TARGET_UNIT"
  (!srcfileloc  "defaults.h" 1482)
 )
 
 (!type struct 861 
  (!type pointer 862 nil  gc_unused
   (!type already_seen 861)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 863 
  (!type pointer 864 nil  gc_unused
   (!type already_seen 863)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 394)
 
 (!type struct 866 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 nil  gc_unused "auto_bitmap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "base_bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 502)
 
 (!type already_seen 501)
 
 (!type undefined 869 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 323)
 )
 
 (!type user_struct 870 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!srcfileloc  "wide-int.h" 327)
  (!fields 1 
   (!pair  "fixed_wide_int_storage<WIDE_INT_MAX_PRECISION"
    (!type pointer 871 nil  gc_unused
     (!type struct 872 
      (!type already_seen 871)
      gc_unused "fixed_wide_int_storage<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "wide-int.h" 327)
    nil )
  )
 )
 
 (!type already_seen 872)
 
 (!type struct 873 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 874 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false>>"
  (!srcfileloc  "wide-int.h" 334)
  (!fields 1 
   (!pair  "wide_int_ref_storage<false"
    (!type user_struct 875 nil  gc_unused "wide_int_ref_storage<false"
     (!srcfileloc  "wide-int.h" 334)
     (!fields 1 
      (!pair  "false"
       (!type undefined 876 nil  gc_unused "false"
        (!srcfileloc  "wide-int.h" 334)
       )
       (!srcfileloc  "wide-int.h" 334)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 334)
    nil )
  )
 )
 
 (!type already_seen 875)
 
 (!type already_seen 876)
 
 (!type struct 877 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 878 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!srcfileloc  "wide-int.h" 438)
  (!fields 2 
   (!pair  "precision"
    (!type undefined 879 nil  gc_unused "precision"
     (!srcfileloc  "wide-int.h" 438)
    )
    (!srcfileloc  "wide-int.h" 438)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T2"
    (!type user_struct 880 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
     (!srcfileloc  "wide-int.h" 438)
     (!fields 1 
      (!pair  "int_traits<T2"
       (!type user_struct 881 nil  gc_unused "int_traits<T2"
        (!srcfileloc  "wide-int.h" 438)
        (!fields 1 
         (!pair  "T2"
          (!type undefined 882 nil  gc_unused "T2"
           (!srcfileloc  "wide-int.h" 438)
          )
          (!srcfileloc  "wide-int.h" 438)
          nil )
        )
       )
       (!srcfileloc  "wide-int.h" 438)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 438)
    nil )
  )
 )
 
 (!type already_seen 880)
 
 (!type already_seen 881)
 
 (!type already_seen 882)
 
 (!type already_seen 879)
 
 (!type user_struct 883 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!srcfileloc  "wide-int.h" 459)
  (!fields 2 
   (!pair  "precision"
    (!type already_seen 879)
    (!srcfileloc  "wide-int.h" 459)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type user_struct 884 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
     (!srcfileloc  "wide-int.h" 459)
     (!fields 1 
      (!pair  "int_traits<T1"
       (!type user_struct 885 nil  gc_unused "int_traits<T1"
        (!srcfileloc  "wide-int.h" 459)
        (!fields 1 
         (!pair  "T1"
          (!type undefined 886 nil  gc_unused "T1"
           (!srcfileloc  "wide-int.h" 459)
          )
          (!srcfileloc  "wide-int.h" 459)
          nil )
        )
       )
       (!srcfileloc  "wide-int.h" 459)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 459)
    nil )
  )
 )
 
 (!type already_seen 884)
 
 (!type already_seen 885)
 
 (!type already_seen 886)
 
 (!type struct 887 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 888 nil  gc_unused "storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 889 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 774)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 888)
 )
 
 (!type undefined 890 nil  gc_unused "ASSIGNMENT_OPERATOR"
  (!srcfileloc  "wide-int.h" 754)
 )
 
 (!type struct 891 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 892 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1235)
  (!fields 2 
   (!pair  "val"
    (!type array 893 nil  gc_unused "(N + HOST_BITS_PER_WIDE_INT + 1) / HOST_BITS_PER_WIDE_INT" 
     (!type already_seen 2)
    )
    (!srcfileloc  "wide-int.h" 1217)
    nil )
   (!pair  "len"
    (!type already_seen 2)
    (!srcfileloc  "wide-int.h" 1218)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 894 nil  gc_unused "trailing_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 895 nil  gc_unused "generic_wide_int<trailing_wide_int_storage>"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 1 
   (!pair  "trailing_wide_int_storage"
    (!type already_seen 894)
    (!srcfileloc  "wide-int.h" 1366)
    nil )
  )
 )
 
 (!type user_struct 896 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1406)
  (!fields 0 )
 )
 
 (!type struct 897 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 898 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "ints_for"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 
  (!type pointer 903 nil  gc_used
   (!type already_seen 902)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 64)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 903)
    (!srcfileloc  "coverage.c" 58)
    nil )
   (!pair  "ident"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 59)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 60)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 61)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 23)
    (!srcfileloc  "coverage.c" 62)
    nil )
   (!pair  "ctr_vars"
    (!type array 904 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 23)
    )
    (!srcfileloc  "coverage.c" 63)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 905 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 
  (!type pointer 907 nil  gc_unused
   (!type already_seen 906)
  )
  gc_unused "predefined_function_abi"
  (!srcfileloc  "emit-rtl.h" 74)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 908 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 227)
 
 (!type already_seen 238)
 
 (!type union 909 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 910 nil  gc_unused "reg_info"
  (!srcfileloc  "rtl.h" 230)
  (!fields 4 
   (!pair  "regno"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 222)
    nil )
   (!pair  "nregs"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 225)
    nil )
   (!pair  "unused"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 226)
    nil )
   (!pair  "attrs"
    (!type already_seen 237)
    (!srcfileloc  "rtl.h" 229)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 210)
 
 (!type already_seen 212)
 
 (!type already_seen 208)
 
 (!type already_seen 220)
 
 (!type already_seen 79)
 
 (!type user_struct 911 nil  gc_unused "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!srcfileloc  "rtl.h" 291)
  (!fields 1 
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type undefined 912 nil  gc_unused "NUM_POLY_INT_COEFFS"
     (!srcfileloc  "rtl.h" 291)
    )
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
 )
 
 (!type already_seen 912)
 
 (!type struct 913 nil  gc_unused "const_poly_int_def"
  (!srcfileloc  "rtl.h" 292)
  (!fields 1 
   (!pair  "coeffs"
    (!type already_seen 911)
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
  (!options 
   (!option variable_size string  "")
  )
  2047 nil nil )
 
 (!type already_seen 104)
 
 (!type already_seen 103)
 
 (!type already_seen 39)
 
 (!type already_seen 43)
 
 (!type union 914 nil  gc_used "u"
  (!srcfileloc  "ggc-tests.c" 140)
  (!fields 2 
   (!pair  "u_test_struct"
    (!type pointer 915 nil  gc_used
     (!type struct 916 
      (!type already_seen 915)
      gc_pointed_to "test_struct"
      (!srcfileloc  "ggc-tests.c" 53)
      (!fields 1 
       (!pair  "other"
        (!type already_seen 915)
        (!srcfileloc  "ggc-tests.c" 50)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ggc-tests.c" 138)
    (!options 
     (!option tag string  "WHICH_FIELD_USE_TEST_STRUCT")
    )
   )
   (!pair  "u_test_other"
    (!type pointer 917 nil  gc_used
     (!type struct 918 
      (!type already_seen 917)
      gc_pointed_to "test_other"
      (!srcfileloc  "ggc-tests.c" 139)
      (!fields 2 
       (!pair  "dummy"
        (!type array 919 nil  gc_used "256" 
         (!type already_seen 8)
        )
        (!srcfileloc  "ggc-tests.c" 107)
        nil )
       (!pair  "m_ptr"
        (!type already_seen 915)
        (!srcfileloc  "ggc-tests.c" 108)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ggc-tests.c" 139)
    (!options 
     (!option tag string  "WHICH_FIELD_USE_TEST_OTHER")
    )
   )
  )
  nil 2047 nil )
 
 (!type already_seen 223)
 
 (!type already_seen 266)
 
 (!type already_seen 221)
 
 (!type already_seen 314)
 
 (!type already_seen 313)
 
 (!type already_seen 312)
 
 (!type already_seen 311)
 
 (!type already_seen 310)
 
 (!type already_seen 309)
 
 (!type already_seen 308)
 
 (!type already_seen 307)
 
 (!type already_seen 306)
 
 (!type already_seen 305)
 
 (!type already_seen 304)
 
 (!type already_seen 303)
 
 (!type already_seen 302)
 
 (!type already_seen 301)
 
 (!type already_seen 300)
 
 (!type already_seen 265)
 
 (!type already_seen 264)
 
 (!type already_seen 263)
 
 (!type already_seen 262)
 
 (!type already_seen 261)
 
 (!type already_seen 260)
 
 (!type already_seen 259)
 
 (!type already_seen 258)
 
 (!type already_seen 257)
 
 (!type already_seen 256)
 
 (!type already_seen 255)
 
 (!type already_seen 254)
 
 (!type already_seen 253)
 
 (!type already_seen 252)
 
 (!type already_seen 251)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type already_seen 247)
 
 (!type already_seen 246)
 
 (!type already_seen 245)
 
 (!type already_seen 244)
 
 (!type already_seen 243)
 
 (!type already_seen 242)
 
 (!type already_seen 241)
 
 (!type already_seen 240)
 
 (!type already_seen 239)
 
 (!type already_seen 236)
 
 (!type already_seen 235)
 
 (!type already_seen 234)
 
 (!type already_seen 233)
 
 (!type already_seen 232)
 
 (!type already_seen 228)
 
 (!type already_seen 225)
 
 (!type already_seen 224)
 
 (!type already_seen 207)
 
 (!type already_seen 206)
 
 (!type already_seen 205)
 
 (!type already_seen 204)
 
 (!type already_seen 203)
 
 (!type already_seen 202)
 
 (!type already_seen 201)
 
 (!type already_seen 200)
 
 (!type already_seen 199)
 
 (!type already_seen 198)
 
 (!type already_seen 197)
 
 (!type already_seen 196)
 
 (!type already_seen 195)
 
 (!type already_seen 194)
 
 (!type already_seen 193)
 
 (!type already_seen 192)
 
 (!type already_seen 191)
 
 (!type already_seen 190)
 
 (!type already_seen 189)
 
 (!type already_seen 188)
 
 (!type already_seen 187)
 
 (!type already_seen 186)
 
 (!type already_seen 185)
 
 (!type already_seen 184)
 
 (!type already_seen 183)
 
 (!type already_seen 182)
 
 (!type already_seen 181)
 
 (!type already_seen 180)
 
 (!type already_seen 179)
 
 (!type already_seen 178)
 
 (!type already_seen 177)
 
 (!type already_seen 176)
 
 (!type already_seen 175)
 
 (!type already_seen 174)
 
 (!type already_seen 173)
 
 (!type already_seen 172)
 
 (!type already_seen 171)
 
 (!type already_seen 170)
 
 (!type already_seen 169)
 
 (!type already_seen 168)
 
 (!type already_seen 167)
 
 (!type already_seen 166)
 
 (!type already_seen 165)
 
 (!type already_seen 164)
 
 (!type already_seen 163)
 
 (!type already_seen 162)
 
 (!type already_seen 161)
 
 (!type already_seen 160)
 
 (!type already_seen 159)
 
 (!type already_seen 158)
 
 (!type already_seen 157)
 
 (!type already_seen 156)
 
 (!type already_seen 155)
 
 (!type already_seen 154)
 
 (!type already_seen 153)
 
 (!type already_seen 152)
 
 (!type already_seen 151)
 
 (!type already_seen 150)
 
 (!type already_seen 149)
 
 (!type already_seen 148)
 
 (!type already_seen 147)
 
 (!type already_seen 146)
 
 (!type already_seen 145)
 
 (!type already_seen 144)
 
 (!type already_seen 143)
 
 (!type already_seen 142)
 
 (!type already_seen 141)
 
 (!type already_seen 140)
 
 (!type already_seen 139)
 
 (!type already_seen 138)
 
 (!type already_seen 137)
 
 (!type already_seen 136)
 
 (!type already_seen 135)
 
 (!type already_seen 134)
 
 (!type already_seen 133)
 
 (!type already_seen 132)
 
 (!type already_seen 131)
 
 (!type already_seen 130)
 
 (!type already_seen 129)
 
 (!type already_seen 128)
 
 (!type already_seen 127)
 
 (!type already_seen 126)
 
 (!type already_seen 125)
 
 (!type already_seen 124)
 
 (!type already_seen 123)
 
 (!type already_seen 122)
 
 (!type already_seen 121)
 
 (!type already_seen 120)
 
 (!type already_seen 119)
 
 (!type already_seen 118)
 
 (!type already_seen 117)
 
 (!type already_seen 116)
 
 (!type already_seen 115)
 
 (!type already_seen 114)
 
 (!type already_seen 113)
 
 (!type already_seen 112)
 
 (!type already_seen 111)
 
 (!type already_seen 110)
 
 (!type already_seen 109)
 
 (!type already_seen 108)
 
 (!type already_seen 107)
 
 (!type already_seen 106)
 
 (!type already_seen 105)
 
 (!type struct 920 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 921 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 922 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 923 nil  gc_unused "std::pair<rtx,machine_mode>"
  (!srcfileloc  "rtl.h" 2244)
  (!fields 2 
   (!pair  "machine_mode"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 2244)
    nil )
   (!pair  "rtx"
    (!type already_seen 100)
    (!srcfileloc  "rtl.h" 2244)
    nil )
  )
 )
 
 (!type user_struct 924 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!srcfileloc  "rtl.h" 2332)
  (!fields 3 
   (!pair  "false"
    (!type already_seen 876)
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "generic_wide_int<wide_int_ref_storage<false"
    (!type user_struct 925 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false"
     (!srcfileloc  "rtl.h" 2332)
     (!fields 1 
      (!pair  "wide_int_ref_storage<false"
       (!type already_seen 875)
       (!srcfileloc  "rtl.h" 2332)
       nil )
     )
    )
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "rtl.h" 2332)
    nil )
  )
 )
 
 (!type already_seen 925)
 
 (!type already_seen 357)
 
 (!type struct 926 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 592)
 
 (!type struct 927 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 825)
 
 (!type struct 928 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 929 nil  gc_unused "auto_suppress_location_wrappers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_used "tree_decl_map_cache_hasher"
  (!srcfileloc  "tree.c" 239)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 931 nil  gc_unused "tree_decl_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 932 nil  gc_unused "tree_type_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 933 nil  gc_unused "tree_ssa_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 934 nil  gc_used "tree_hash"
  (!srcfileloc  "except.c" 150)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 935 nil  gc_unused "tree_cache_traits"
  (!srcfileloc  "tree.h" 5429)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 936 nil  gc_unused "hash_map<tree,tree,tree_cache_traits>"
  (!srcfileloc  "tree.h" 5429)
  (!fields 3 
   (!pair  "tree_cache_traits"
    (!type already_seen 935)
    (!srcfileloc  "tree.h" 5429)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5429)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5429)
    nil )
  )
 )
 
 (!type struct 937 nil  gc_used "decl_tree_cache_traits"
  (!srcfileloc  "tree.h" 5435)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 938 
  (!type pointer 939 nil  gc_used
   (!type already_seen 938)
  )
  gc_pointed_to "hash_map<tree,tree,decl_tree_cache_traits>"
  (!srcfileloc  "tree.h" 5435)
  (!fields 3 
   (!pair  "decl_tree_cache_traits"
    (!type already_seen 937)
    (!srcfileloc  "tree.h" 5435)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5435)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5435)
    nil )
  )
 )
 
 (!type struct 940 nil  gc_used "type_tree_cache_traits"
  (!srcfileloc  "tree.h" 5441)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 941 
  (!type pointer 942 nil  gc_used
   (!type already_seen 941)
  )
  gc_pointed_to "hash_map<tree,tree,type_tree_cache_traits>"
  (!srcfileloc  "tree.h" 5441)
  (!fields 3 
   (!pair  "type_tree_cache_traits"
    (!type already_seen 940)
    (!srcfileloc  "tree.h" 5441)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5441)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5441)
    nil )
  )
 )
 
 (!type struct 943 nil  gc_unused "unextended_tree"
  (!srcfileloc  "tree.h" 5782)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 944 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 945 nil  gc_unused "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5762)
  (!fields 1 
   (!pair  "WIDE_INT_MAX_PRECISION"
    (!type already_seen 869)
    (!srcfileloc  "tree.h" 5762)
    nil )
  )
 )
 
 (!type user_struct 946 nil  gc_unused "extended_tree<ADDR_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5763)
  (!fields 1 
   (!pair  "ADDR_MAX_PRECISION"
    (!type already_seen 869)
    (!srcfileloc  "tree.h" 5763)
    nil )
  )
 )
 
 (!type user_struct 947 nil  gc_unused "generic_wide_int<widest_extended_tree>"
  (!srcfileloc  "tree.h" 5765)
  (!fields 1 
   (!pair  "widest_extended_tree"
    (!type already_seen 945)
    (!srcfileloc  "tree.h" 5765)
    nil )
  )
 )
 
 (!type user_struct 948 nil  gc_unused "generic_wide_int<offset_extended_tree>"
  (!srcfileloc  "tree.h" 5766)
  (!fields 1 
   (!pair  "offset_extended_tree"
    (!type already_seen 946)
    (!srcfileloc  "tree.h" 5766)
    nil )
  )
 )
 
 (!type user_struct 949 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!srcfileloc  "tree.h" 5767)
  (!fields 2 
   (!pair  "false"
    (!type already_seen 876)
    (!srcfileloc  "tree.h" 5767)
    nil )
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 875)
    (!srcfileloc  "tree.h" 5767)
    nil )
  )
 )
 
 (!type user_struct 950 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!srcfileloc  "tree.h" 5776)
  (!fields 2 
   (!pair  "generic_wide_int<widest_extended_tree"
    (!type user_struct 951 nil  gc_unused "generic_wide_int<widest_extended_tree"
     (!srcfileloc  "tree.h" 5776)
     (!fields 1 
      (!pair  "widest_extended_tree"
       (!type already_seen 945)
       (!srcfileloc  "tree.h" 5776)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5776)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5776)
    nil )
  )
 )
 
 (!type already_seen 951)
 
 (!type user_struct 952 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!srcfileloc  "tree.h" 5779)
  (!fields 2 
   (!pair  "generic_wide_int<offset_extended_tree"
    (!type user_struct 953 nil  gc_unused "generic_wide_int<offset_extended_tree"
     (!srcfileloc  "tree.h" 5779)
     (!fields 1 
      (!pair  "offset_extended_tree"
       (!type already_seen 946)
       (!srcfileloc  "tree.h" 5779)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5779)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5779)
    nil )
  )
 )
 
 (!type already_seen 953)
 
 (!type user_struct 954 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!srcfileloc  "tree.h" 5782)
  (!fields 2 
   (!pair  "generic_wide_int<unextended_tree"
    (!type user_struct 955 nil  gc_unused "generic_wide_int<unextended_tree"
     (!srcfileloc  "tree.h" 5782)
     (!fields 1 
      (!pair  "unextended_tree"
       (!type already_seen 943)
       (!srcfileloc  "tree.h" 5782)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5782)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5782)
    nil )
  )
 )
 
 (!type already_seen 955)
 
 (!type user_struct 956 nil  gc_unused "generic_wide_int<extended_tree<N>>"
  (!srcfileloc  "tree.h" 5792)
  (!fields 1 
   (!pair  "extended_tree<N"
    (!type user_struct 957 nil  gc_unused "extended_tree<N"
     (!srcfileloc  "tree.h" 5792)
     (!fields 1 
      (!pair  "N"
       (!type undefined 958 nil  gc_unused "N"
        (!srcfileloc  "tree.h" 5792)
       )
       (!srcfileloc  "tree.h" 5792)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5792)
    nil )
  )
 )
 
 (!type already_seen 957)
 
 (!type already_seen 958)
 
 (!type user_struct 959 nil  gc_unused "generic_wide_int<unextended_tree>"
  (!srcfileloc  "tree.h" 5799)
  (!fields 1 
   (!pair  "unextended_tree"
    (!type already_seen 943)
    (!srcfileloc  "tree.h" 5799)
    nil )
  )
 )
 
 (!type user_struct 960 nil  gc_unused "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!srcfileloc  "tree.h" 5806)
  (!fields 1 
   (!pair  "wi::extended_tree<WIDE_INT_MAX_PRECISION"
    (!type pointer 961 nil  gc_unused
     (!type struct 962 
      (!type already_seen 961)
      gc_unused "wi::extended_tree<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "tree.h" 5806)
    nil )
  )
 )
 
 (!type already_seen 962)
 
 (!type undefined 963 nil  gc_unused "typename"
  (!srcfileloc  "tree.h" 6057)
 )
 
 (!type struct 964 nil  gc_used "int_n_trees_t"
  (!srcfileloc  "tree.h" 6142)
  (!fields 2 
   (!pair  "signed_type"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 6140)
    nil )
   (!pair  "unsigned_type"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 6141)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 965 nil  gc_unused "builtin_structptr_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "op_location_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 561)
 
 (!type already_seen 563)
 
 (!type already_seen 492)
 
 (!type struct 967 nil  gc_used "alias_pair"
  (!srcfileloc  "tree-core.h" 2201)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 926)
    nil )
   (!pair  "target"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 927)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 27)
 
 (!type already_seen 28)
 
 (!type already_seen 29)
 
 (!type already_seen 30)
 
 (!type already_seen 26)
 
 (!type already_seen 25)
 
 (!type already_seen 31)
 
 (!type already_seen 32)
 
 (!type already_seen 33)
 
 (!type already_seen 37)
 
 (!type already_seen 41)
 
 (!type already_seen 48)
 
 (!type already_seen 50)
 
 (!type already_seen 46)
 
 (!type already_seen 35)
 
 (!type already_seen 51)
 
 (!type already_seen 552)
 
 (!type already_seen 553)
 
 (!type already_seen 575)
 
 (!type already_seen 574)
 
 (!type already_seen 572)
 
 (!type already_seen 556)
 
 (!type already_seen 555)
 
 (!type already_seen 564)
 
 (!type already_seen 566)
 
 (!type already_seen 559)
 
 (!type already_seen 558)
 
 (!type already_seen 786)
 
 (!type already_seen 577)
 
 (!type already_seen 576)
 
 (!type already_seen 85)
 
 (!type already_seen 567)
 
 (!type already_seen 520)
 
 (!type already_seen 519)
 
 (!type already_seen 523)
 
 (!type already_seen 521)
 
 (!type already_seen 551)
 
 (!type already_seen 568)
 
 (!type already_seen 52)
 
 (!type already_seen 55)
 
 (!type already_seen 53)
 
 (!type already_seen 99)
 
 (!type already_seen 350)
 
 (!type already_seen 351)
 
 (!type already_seen 352)
 
 (!type already_seen 353)
 
 (!type already_seen 348)
 
 (!type already_seen 316)
 
 (!type already_seen 349)
 
 (!type already_seen 315)
 
 (!type already_seen 355)
 
 (!type already_seen 518)
 
 (!type already_seen 354)
 
 (!type already_seen 571)
 
 (!type already_seen 569)
 
 (!type already_seen 583)
 
 (!type already_seen 579)
 
 (!type already_seen 586)
 
 (!type already_seen 584)
 
 (!type already_seen 630)
 
 (!type struct 968 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 
  (!type pointer 970 nil  gc_unused
   (!type already_seen 969)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 971 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_used "tree_map_base"
  (!srcfileloc  "tree-core.h" 2117)
  (!fields 1 
   (!pair  "from"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2116)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 973 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 2125)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "tree-core.h" 2122)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2123)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2124)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 974 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 2131)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "tree-core.h" 2129)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2130)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 975 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 2137)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "tree-core.h" 2135)
    nil )
   (!pair  "to"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2136)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 976 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 2143)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "tree-core.h" 2141)
    nil )
   (!pair  "to"
    (!type already_seen 84)
    (!srcfileloc  "tree-core.h" 2142)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 977 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 978 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 2236)
  (!fields 3 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2165)
    nil )
   (!pair  "implicit_p"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2168)
    nil )
   (!pair  "declared_p"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2170)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 980 nil  gc_unused "floatn_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 981 
  (!type pointer 982 nil  gc_used
   (!type already_seen 981)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 2201)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
   (!pair  "alias_pair"
    (!type already_seen 967)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
  )
 )
 
 (!type struct 983 nil  gc_pointed_to "libfunc_entry"
  (!srcfileloc  "libfuncs.h" 44)
  (!fields 4 
   (!pair  "op"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "mode1"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "mode2"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "libfunc"
    (!type already_seen 100)
    (!srcfileloc  "libfuncs.h" 43)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 613)
 
 (!type already_seen 612)
 
 (!type already_seen 609)
 
 (!type struct 984 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 985 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "obstack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 987 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 988 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 989 
  (!type pointer 990 nil  gc_used
   (!type already_seen 989)
  )
  gc_pointed_to "sequence_stack"
  (!srcfileloc  "function.h" 34)
  (!fields 3 
   (!pair  "first"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 31)
    nil )
   (!pair  "last"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 32)
    nil )
   (!pair  "next"
    (!type already_seen 990)
    (!srcfileloc  "function.h" 33)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 991 nil  gc_used "emit_status"
  (!srcfileloc  "function.h" 76)
  (!fields 7 
   (!pair  "x_reg_rtx_no"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 41)
    nil )
   (!pair  "x_first_label_num"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 44)
    nil )
   (!pair  "seq"
    (!type already_seen 989)
    (!srcfileloc  "function.h" 56)
    nil )
   (!pair  "x_cur_insn_uid"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 60)
    nil )
   (!pair  "x_cur_debug_insn_uid"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 64)
    nil )
   (!pair  "regno_pointer_align_length"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 70)
    nil )
   (!pair  "regno_pointer_align"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 75)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 992 
  (!type pointer 993 nil  gc_used
   (!type already_seen 992)
  )
  gc_pointed_to "vec<rtx_insn*,va_gc>"
  (!srcfileloc  "function.h" 131)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "function.h" 131)
    nil )
   (!pair  "rtx_insn"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 131)
    nil )
  )
 )
 
 (!type struct 994 nil  gc_used "expr_status"
  (!srcfileloc  "function.h" 132)
  (!fields 6 
   (!pair  "x_pending_stack_adjust"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 97)
    nil )
   (!pair  "x_inhibit_defer_pop"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 114)
    nil )
   (!pair  "x_stack_pointer_delta"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 120)
    nil )
   (!pair  "x_saveregs_value"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 125)
    nil )
   (!pair  "x_apply_args_value"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 128)
    nil )
   (!pair  "x_forced_labels"
    (!type already_seen 993)
    (!srcfileloc  "function.h" 131)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 995 
  (!type pointer 996 nil  gc_used
   (!type already_seen 995)
  )
  gc_pointed_to "call_site_record_d"
  (!srcfileloc  "except.c" 167)
  (!fields 2 
   (!pair  "landing_pad"
    (!type already_seen 100)
    (!srcfileloc  "except.c" 165)
    nil )
   (!pair  "action"
    (!type already_seen 2)
    (!srcfileloc  "except.c" 166)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 381)
 
 (!type user_struct 997 
  (!type pointer 998 nil  gc_used
   (!type already_seen 997)
  )
  gc_pointed_to "vec<call_site_record,va_gc>"
  (!srcfileloc  "function.h" 147)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "function.h" 147)
    nil )
   (!pair  "call_site_record"
    (!type already_seen 996)
    (!srcfileloc  "function.h" 147)
    nil )
  )
 )
 
 (!type struct 999 nil  gc_used "rtl_eh"
  (!srcfileloc  "function.h" 148)
  (!fields 7 
   (!pair  "ehr_stackadj"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 138)
    nil )
   (!pair  "ehr_handler"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 139)
    nil )
   (!pair  "ehr_label"
    (!type already_seen 370)
    (!srcfileloc  "function.h" 140)
    nil )
   (!pair  "sjlj_fc"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 142)
    nil )
   (!pair  "sjlj_exit_after"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 143)
    nil )
   (!pair  "action_record_data"
    (!type already_seen 380)
    (!srcfileloc  "function.h" 145)
    nil )
   (!pair  "call_site_record_v"
    (!type array 1000 nil  gc_used "2" 
     (!type already_seen 998)
    )
    (!srcfileloc  "function.h" 147)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 389)
 
 (!type already_seen 475)
 
 (!type struct 1001 
  (!type pointer 1002 nil  gc_used
   (!type already_seen 1001)
  )
  gc_pointed_to "rtx_constant_pool"
  (!srcfileloc  "varasm.c" 3684)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 222)
    (!srcfileloc  "varasm.c" 3672)
    nil )
   (!pair  "last"
    (!type already_seen 222)
    (!srcfileloc  "varasm.c" 3673)
    nil )
   (!pair  "const_rtx_htab"
    (!type pointer 1003 nil  gc_used
     (!type user_struct 1004 
      (!type already_seen 1003)
      gc_pointed_to "hash_table<const_rtx_desc_hasher>"
      (!srcfileloc  "varasm.c" 3679)
      (!fields 1 
       (!pair  "const_rtx_desc_hasher"
        (!type struct 1005 nil  gc_used "const_rtx_desc_hasher"
         (!srcfileloc  "varasm.c" 3679)
         (!fields 0 )
         nil 2047 nil nil )
        (!srcfileloc  "varasm.c" 3679)
        nil )
      )
     )
    )
    (!srcfileloc  "varasm.c" 3679)
    nil )
   (!pair  "offset"
    (!type already_seen 2)
    (!srcfileloc  "varasm.c" 3683)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1006 nil  gc_used "varasm_status"
  (!srcfileloc  "function.h" 168)
  (!fields 2 
   (!pair  "pool"
    (!type already_seen 1002)
    (!srcfileloc  "function.h" 163)
    nil )
   (!pair  "deferred_constants"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 167)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1007 nil  gc_used "function_subsections"
  (!srcfileloc  "function.h" 181)
  (!fields 4 
   (!pair  "hot_section_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 177)
    nil )
   (!pair  "cold_section_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 178)
    nil )
   (!pair  "hot_section_end_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 179)
    nil )
   (!pair  "cold_section_end_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 180)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1008 
  (!type pointer 1009 nil  gc_used
   (!type already_seen 1008)
  )
  gc_pointed_to "frame_space"
  (!srcfileloc  "function.h" 193)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1009)
    (!srcfileloc  "function.h" 189)
    nil )
   (!pair  "start"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 191)
    nil )
   (!pair  "length"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 192)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 421)
 
 (!type already_seen 424)
 
 (!type already_seen 420)
 
 (!type already_seen 423)
 
 (!type already_seen 418)
 
 (!type already_seen 359)
 
 (!type already_seen 383)
 
 (!type already_seen 413)
 
 (!type already_seen 430)
 
 (!type already_seen 473)
 
 (!type struct 1010 nil  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 461)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "function.h" 459)
    nil )
   (!pair  "var_decl"
    (!type already_seen 23)
    (!srcfileloc  "function.h" 460)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1011 nil  gc_used "used_type_hasher"
  (!srcfileloc  "function.h" 474)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1012 
  (!type pointer 1013 nil  gc_used
   (!type already_seen 1012)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 474)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type already_seen 1011)
    (!srcfileloc  "function.h" 474)
    nil )
  )
 )
 
 (!type struct 1014 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1015 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "function_abi"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "function_abi_aggregator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 603)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 275)
 
 (!type already_seen 279)
 
 (!type already_seen 285)
 
 (!type already_seen 416)
 
 (!type already_seen 274)
 
 (!type already_seen 283)
 
 (!type already_seen 277)
 
 (!type already_seen 287)
 
 (!type already_seen 415)
 
 (!type struct 1018 nil  gc_unused "eni_weights"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 615)
 
 (!type already_seen 385)
 
 (!type already_seen 299)
 
 (!type struct 1021 nil  gc_unused "auto_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "auto_edge_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "auto_bb_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "sreal"
  (!srcfileloc  "profile-count.h" 1206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1025 nil  gc_unused "profile_probability"
  (!srcfileloc  "profile-count.h" 634)
  (!fields 0 )
 )
 
 (!type undefined 1026 nil  gc_unused "uint32_t"
  (!srcfileloc  "profile-count.h" 807)
 )
 
 (!type struct 1027 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 298)
 
 (!type already_seen 293)
 
 (!type already_seen 270)
 
 (!type already_seen 291)
 
 (!type already_seen 294)
 
 (!type already_seen 292)
 
 (!type struct 1030 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 319)
 
 (!type already_seen 323)
 
 (!type already_seen 322)
 
 (!type already_seen 325)
 
 (!type already_seen 823)
 
 (!type already_seen 347)
 
 (!type struct 1031 nil  gc_used "section_name_hasher"
  (!srcfileloc  "cgraph.h" 2535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type undefined 1032 nil  gc_unused "explicit"
  (!srcfileloc  "cgraph.h" 113)
 )
 
 (!type already_seen 328)
 
 (!type struct 1033 
  (!type pointer 1034 nil  gc_unused
   (!type already_seen 1033)
  )
  gc_used "symbol_priority_map"
  (!srcfileloc  "cgraph.h" 2541)
  (!fields 2 
   (!pair  "init"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2212)
    nil )
   (!pair  "fini"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2213)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 839)
 
 (!type already_seen 830)
 
 (!type already_seen 828)
 
 (!type already_seen 832)
 
 (!type already_seen 837)
 
 (!type already_seen 838)
 
 (!type already_seen 826)
 
 (!type already_seen 820)
 
 (!type already_seen 818)
 
 (!type struct 1035 
  (!type pointer 1036 nil  gc_used
   (!type already_seen 1035)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 887)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 868)
    nil )
   (!pair  "prev"
    (!type already_seen 1036)
    (!srcfileloc  "cgraph.h" 872)
    nil )
   (!pair  "next"
    (!type already_seen 1036)
    (!srcfileloc  "cgraph.h" 876)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 886)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 816)
 
 (!type user_struct 1037 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1204)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1204)
    nil )
  )
 )
 
 (!type already_seen 815)
 
 (!type already_seen 821)
 
 (!type struct 1038 
  (!type pointer 1039 nil  gc_unused
   (!type already_seen 1038)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1564)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1040 
  (!type pointer 1041 nil  gc_unused
   (!type already_seen 1040)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 813)
 
 (!type already_seen 812)
 
 (!type undefined 1044 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 2053)
 )
 
 (!type struct 1045 
  (!type pointer 1046 nil  gc_used
   (!type already_seen 1045)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 2176)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1046)
    (!srcfileloc  "cgraph.h" 2171)
    nil )
   (!pair  "asm_str"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 2173)
    nil )
   (!pair  "order"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2175)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1047 
  (!type pointer 1048 nil  gc_unused
   (!type already_seen 1047)
  )
  gc_unused "cgraph_edge_hook_list"
  (!srcfileloc  "cgraph.h" 2384)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1049 
  (!type pointer 1050 nil  gc_unused
   (!type already_seen 1049)
  )
  gc_unused "cgraph_node_hook_list"
  (!srcfileloc  "cgraph.h" 2391)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1051 
  (!type pointer 1052 nil  gc_unused
   (!type already_seen 1051)
  )
  gc_unused "varpool_node_hook_list"
  (!srcfileloc  "cgraph.h" 2398)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1053 
  (!type pointer 1054 nil  gc_unused
   (!type already_seen 1053)
  )
  gc_unused "cgraph_2edge_hook_list"
  (!srcfileloc  "cgraph.h" 2419)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1055 
  (!type pointer 1056 nil  gc_unused
   (!type already_seen 1055)
  )
  gc_unused "cgraph_2node_hook_list"
  (!srcfileloc  "cgraph.h" 2425)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1057 nil  gc_used "asmname_hasher"
  (!srcfileloc  "cgraph.h" 2538)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1058 
  (!type pointer 1059 nil  gc_used
   (!type already_seen 1058)
  )
  gc_pointed_to "symbol_table"
  (!srcfileloc  "cgraph.h" 2589)
  (!fields 31 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2468)
    nil )
   (!pair  "cgraph_count"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2496)
    nil )
   (!pair  "cgraph_max_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2497)
    nil )
   (!pair  "cgraph_max_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2498)
    nil )
   (!pair  "edges_count"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2500)
    nil )
   (!pair  "edges_max_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2501)
    nil )
   (!pair  "edges_max_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2502)
    nil )
   (!pair  "cgraph_released_summary_ids"
    (!type user_struct 1060 nil  gc_unused "vec<int>"
     (!srcfileloc  "cgraph.h" 2505)
     (!fields 1 
      (!pair  "int"
       (!type already_seen 378)
       (!srcfileloc  "cgraph.h" 2505)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2505)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "edge_released_summary_ids"
    (!type already_seen 1060)
    (!srcfileloc  "cgraph.h" 2508)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "nodes"
    (!type already_seen 317)
    (!srcfileloc  "cgraph.h" 2513)
    nil )
   (!pair  "asmnodes"
    (!type already_seen 1046)
    (!srcfileloc  "cgraph.h" 2514)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1046)
    (!srcfileloc  "cgraph.h" 2515)
    nil )
   (!pair  "order"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2520)
    nil )
   (!pair  "max_unit"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2523)
    nil )
   (!pair  "global_info_ready"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2526)
    nil )
   (!pair  "state"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2528)
    nil )
   (!pair  "function_flags_ready"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2530)
    nil )
   (!pair  "cpp_implicit_aliases_done"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2532)
    nil )
   (!pair  "section_hash"
    (!type pointer 1061 nil  gc_used
     (!type user_struct 1062 
      (!type already_seen 1061)
      gc_pointed_to "hash_table<section_name_hasher>"
      (!srcfileloc  "cgraph.h" 2535)
      (!fields 1 
       (!pair  "section_name_hasher"
        (!type already_seen 1031)
        (!srcfileloc  "cgraph.h" 2535)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2535)
    nil )
   (!pair  "assembler_name_hash"
    (!type pointer 1063 nil  gc_used
     (!type user_struct 1064 
      (!type already_seen 1063)
      gc_pointed_to "hash_table<asmname_hasher>"
      (!srcfileloc  "cgraph.h" 2538)
      (!fields 1 
       (!pair  "asmname_hasher"
        (!type already_seen 1057)
        (!srcfileloc  "cgraph.h" 2538)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2538)
    nil )
   (!pair  "init_priority_hash"
    (!type pointer 1065 nil  gc_used
     (!type user_struct 1066 
      (!type already_seen 1065)
      gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
      (!srcfileloc  "cgraph.h" 2541)
      (!fields 2 
       (!pair  "symbol_priority_map"
        (!type already_seen 1033)
        (!srcfileloc  "cgraph.h" 2541)
        nil )
       (!pair  "symtab_node"
        (!type already_seen 317)
        (!srcfileloc  "cgraph.h" 2541)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2541)
    nil )
   (!pair  "dump_file"
    (!type pointer 1067 nil  gc_unused
     (!type undefined 1068 
      (!type already_seen 1067)
      gc_unused "FILE"
      (!srcfileloc  "cgraph.h" 2543)
     )
    )
    (!srcfileloc  "cgraph.h" 2543)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipa_clones_dump_file"
    (!type already_seen 1067)
    (!srcfileloc  "cgraph.h" 2545)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cloned_nodes"
    (!type user_struct 1069 nil  gc_unused "hash_set<cgraph_node*>"
     (!srcfileloc  "cgraph.h" 2547)
     (!fields 1 
      (!pair  "cgraph_node"
       (!type already_seen 808)
       (!srcfileloc  "cgraph.h" 2547)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2547)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type already_seen 1048)
    (!srcfileloc  "cgraph.h" 2576)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type already_seen 1050)
    (!srcfileloc  "cgraph.h" 2578)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type already_seen 1054)
    (!srcfileloc  "cgraph.h" 2580)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type already_seen 1056)
    (!srcfileloc  "cgraph.h" 2582)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1050)
    (!srcfileloc  "cgraph.h" 2584)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type already_seen 1052)
    (!srcfileloc  "cgraph.h" 2586)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1052)
    (!srcfileloc  "cgraph.h" 2588)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  2047 nil nil )
 
 (!type already_seen 1060)
 
 (!type already_seen 1062)
 
 (!type already_seen 1064)
 
 (!type already_seen 1066)
 
 (!type already_seen 1068)
 
 (!type already_seen 1069)
 
 (!type struct 1070 nil  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 3127)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 100)
    (!srcfileloc  "cgraph.h" 3118)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 3121)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 3126)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1071 nil  gc_used "tree_descriptor_hasher"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1072 nil  gc_unused "symbol_table_test"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 605)
 
 (!type struct 1074 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_used "alias_set_hash"
  (!srcfileloc  "alias.c" 148)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1078 
  (!type pointer 1079 nil  gc_used
   (!type already_seen 1078)
  )
  gc_pointed_to "hash_map<alias_set_hash,int>"
  (!srcfileloc  "alias.c" 148)
  (!fields 2 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "alias.c" 148)
    nil )
   (!pair  "alias_set_hash"
    (!type already_seen 1077)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
 )
 
 (!type struct 1080 
  (!type pointer 1081 nil  gc_used
   (!type already_seen 1080)
  )
  gc_pointed_to "alias_set_entry"
  (!srcfileloc  "alias.c" 149)
  (!fields 5 
   (!pair  "alias_set"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 128)
    nil )
   (!pair  "has_zero_child"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 132)
    nil )
   (!pair  "is_pointer"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 137)
    nil )
   (!pair  "has_pointer"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 139)
    nil )
   (!pair  "children"
    (!type already_seen 1079)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1082 
  (!type pointer 1083 nil  gc_used
   (!type already_seen 1082)
  )
  gc_pointed_to "vec<alias_set_entry*,va_gc>"
  (!srcfileloc  "alias.c" 279)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "alias.c" 279)
    nil )
   (!pair  "alias_set_entry"
    (!type already_seen 1081)
    (!srcfileloc  "alias.c" 279)
    nil )
  )
 )
 
 (!type struct 1084 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1085 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1086 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_used "function_version_hasher"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1089 
  (!type pointer 1090 nil  gc_used
   (!type already_seen 1089)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type already_seen 1088)
    (!srcfileloc  "cgraph.c" 119)
    nil )
  )
 )
 
 (!type struct 1091 nil  gc_unused "set_pure_flag_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 330)
 
 (!type struct 1092 nil  gc_used "ipa_bit_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1093 
  (!type pointer 1094 nil  gc_used
   (!type already_seen 1093)
  )
  gc_pointed_to "hash_table<ipa_bit_ggc_hash_traits>"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 1 
   (!pair  "ipa_bit_ggc_hash_traits"
    (!type already_seen 1092)
    (!srcfileloc  "ipa-prop.c" 105)
    nil )
  )
 )
 
 (!type struct 1095 nil  gc_used "ipa_vr_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1096 
  (!type pointer 1097 nil  gc_used
   (!type already_seen 1096)
  )
  gc_pointed_to "hash_table<ipa_vr_ggc_hash_traits>"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 1 
   (!pair  "ipa_vr_ggc_hash_traits"
    (!type already_seen 1095)
    (!srcfileloc  "ipa-prop.c" 151)
    nil )
  )
 )
 
 (!type struct 1098 
  (!type pointer 1099 nil  gc_unused
   (!type already_seen 1098)
  )
  gc_unused "ipa_cst_ref_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_pointed_to "ipa_node_params"
  (!srcfileloc  "ipa-prop.h" 506)
  (!fields 14 
   (!pair  "descriptors"
    (!type pointer 1101 nil  gc_used
     (!type user_struct 1102 
      (!type already_seen 1101)
      gc_pointed_to "vec<ipa_param_descriptor,va_gc>"
      (!srcfileloc  "ipa-prop.h" 472)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 472)
        nil )
       (!pair  "ipa_param_descriptor"
        (!type struct 1103 nil  gc_used "ipa_param_descriptor"
         (!srcfileloc  "ipa-prop.h" 472)
         (!fields 7 
          (!pair  "decl_or_type"
           (!type already_seen 23)
           (!srcfileloc  "ipa-prop.h" 444)
           nil )
          (!pair  "controlled_uses"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 448)
           nil )
          (!pair  "move_cost"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 449)
           nil )
          (!pair  "used"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 451)
           nil )
          (!pair  "used_by_ipa_predicates"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 452)
           nil )
          (!pair  "used_by_indirect_call"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 453)
           nil )
          (!pair  "used_by_polymorphic_call"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 454)
           nil )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-prop.h" 472)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 472)
    nil )
   (!pair  "lattices"
    (!type pointer 1104 nil  gc_unused
     (!type struct 1105 
      (!type already_seen 1104)
      gc_unused "ipcp_param_lattices"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 475)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipcp_orig_node"
    (!type already_seen 808)
    (!srcfileloc  "ipa-prop.h" 478)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_csts"
    (!type user_struct 1106 nil  gc_unused "vec<tree>"
     (!srcfileloc  "ipa-prop.h" 481)
     (!fields 1 
      (!pair  "tree"
       (!type already_seen 23)
       (!srcfileloc  "ipa-prop.h" 481)
       nil )
     )
    )
    (!srcfileloc  "ipa-prop.h" 481)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_contexts"
    (!type user_struct 1107 nil  gc_unused "vec<ipa_polymorphic_call_context>"
     (!srcfileloc  "ipa-prop.h" 484)
     (!fields 1 
      (!pair  "ipa_polymorphic_call_context"
       (!type already_seen 813)
       (!srcfileloc  "ipa-prop.h" 484)
       nil )
     )
    )
    (!srcfileloc  "ipa-prop.h" 484)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "analysis_done"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 487)
    nil )
   (!pair  "node_enqueued"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 489)
    nil )
   (!pair  "do_clone_for_all_contexts"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 492)
    nil )
   (!pair  "is_all_contexts_clone"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 494)
    nil )
   (!pair  "node_dead"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 497)
    nil )
   (!pair  "node_within_scc"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 499)
    nil )
   (!pair  "node_is_self_scc"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 501)
    nil )
   (!pair  "node_calling_single_call"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 503)
    nil )
   (!pair  "versionable"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 505)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1108 nil  gc_used "ipa_jump_func"
  (!srcfileloc  "ipa-prop.h" 803)
  (!fields 5 
   (!pair  "agg"
    (!type struct 1109 nil  gc_used "ipa_agg_jump_function"
     (!srcfileloc  "ipa-prop.h" 178)
     (!fields 2 
      (!pair  "items"
       (!type pointer 1110 nil  gc_used
        (!type user_struct 1111 
         (!type already_seen 1110)
         gc_pointed_to "vec<ipa_agg_jf_item,va_gc>"
         (!srcfileloc  "ipa-prop.h" 175)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "ipa-prop.h" 175)
           nil )
          (!pair  "ipa_agg_jf_item"
           (!type struct 1112 nil  gc_used "ipa_agg_jf_item"
            (!srcfileloc  "ipa-prop.h" 175)
            (!fields 4 
             (!pair  "offset"
              (!type already_seen 2)
              (!srcfileloc  "ipa-prop.h" 150)
              nil )
             (!pair  "type"
              (!type already_seen 23)
              (!srcfileloc  "ipa-prop.h" 153)
              nil )
             (!pair  "jftype"
              (!type already_seen 2)
              (!srcfileloc  "ipa-prop.h" 156)
              nil )
             (!pair  "value"
              (!type union 1113 nil  gc_used "jump_func_agg_value"
               (!srcfileloc  "ipa-prop.h" 167)
               (!fields 3 
                (!pair  "constant"
                 (!type already_seen 23)
                 (!srcfileloc  "ipa-prop.h" 164)
                 (!options 
                  (!option tag string  "IPA_JF_CONST")
                 )
                )
                (!pair  "pass_through"
                 (!type struct 1114 nil  gc_used "ipa_pass_through_data"
                  (!srcfileloc  "ipa-prop.h" 108)
                  (!fields 4 
                   (!pair  "operand"
                    (!type already_seen 23)
                    (!srcfileloc  "ipa-prop.h" 93)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 95)
                    nil )
                   (!pair  "operation"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 100)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 107)
                    nil )
                  )
                  nil 2047 nil nil )
                 (!srcfileloc  "ipa-prop.h" 165)
                 (!options 
                  (!option tag string  "IPA_JF_PASS_THROUGH")
                 )
                )
                (!pair  "load_agg"
                 (!type struct 1115 nil  gc_used "ipa_load_agg_data"
                  (!srcfileloc  "ipa-prop.h" 128)
                  (!fields 4 
                   (!pair  "pass_through"
                    (!type already_seen 1114)
                    (!srcfileloc  "ipa-prop.h" 119)
                    nil )
                   (!pair  "type"
                    (!type already_seen 23)
                    (!srcfileloc  "ipa-prop.h" 121)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 123)
                    nil )
                   (!pair  "by_ref"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 127)
                    nil )
                  )
                  nil 2047 nil nil )
                 (!srcfileloc  "ipa-prop.h" 166)
                 (!options 
                  (!option tag string  "IPA_JF_LOAD_AGG")
                 )
                )
               )
               nil 2047 nil )
              (!srcfileloc  "ipa-prop.h" 167)
              (!options 
               (!option desc string  "%1.jftype")
              )
             )
            )
            nil 2047 nil nil )
           (!srcfileloc  "ipa-prop.h" 175)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 175)
       nil )
      (!pair  "by_ref"
       (!type already_seen 2)
       (!srcfileloc  "ipa-prop.h" 177)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "ipa-prop.h" 311)
    nil )
   (!pair  "bits"
    (!type pointer 1116 nil  gc_used
     (!type struct 1117 
      (!type already_seen 1116)
      gc_pointed_to "ipa_bits"
      (!srcfileloc  "ipa-prop.h" 289)
      (!fields 2 
       (!pair  "value"
        (!type already_seen 2)
        (!srcfileloc  "ipa-prop.h" 284)
        nil )
       (!pair  "mask"
        (!type already_seen 2)
        (!srcfileloc  "ipa-prop.h" 288)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 316)
    nil )
   (!pair  "m_vr"
    (!type pointer 1118 nil  gc_used
     (!type struct 1119 
      (!type already_seen 1118)
      gc_pointed_to "value_range"
      (!srcfileloc  "value-range.h" 117)
      (!fields 3 
       (!pair  "m_kind"
        (!type already_seen 2)
        (!srcfileloc  "value-range.h" 111)
        nil )
       (!pair  "m_min"
        (!type already_seen 23)
        (!srcfileloc  "value-range.h" 112)
        nil )
       (!pair  "m_max"
        (!type already_seen 23)
        (!srcfileloc  "value-range.h" 113)
        nil )
      )
      (!options 
       (!option for_user string  "")
      )
      2047 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 321)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 323)
    nil )
   (!pair  "value"
    (!type union 1120 nil  gc_used "jump_func_value"
     (!srcfileloc  "ipa-prop.h" 332)
     (!fields 3 
      (!pair  "constant"
       (!type struct 1121 nil  gc_used "ipa_constant_data"
        (!srcfileloc  "ipa-prop.h" 85)
        (!fields 2 
         (!pair  "value"
          (!type already_seen 23)
          (!srcfileloc  "ipa-prop.h" 82)
          nil )
         (!pair  "rdesc"
          (!type already_seen 1099)
          (!srcfileloc  "ipa-prop.h" 84)
          (!options 
           (!option skip string  "")
          )
         )
        )
        nil 2047 nil nil )
       (!srcfileloc  "ipa-prop.h" 329)
       (!options 
        (!option tag string  "IPA_JF_CONST")
       )
      )
      (!pair  "pass_through"
       (!type already_seen 1114)
       (!srcfileloc  "ipa-prop.h" 330)
       (!options 
        (!option tag string  "IPA_JF_PASS_THROUGH")
       )
      )
      (!pair  "ancestor"
       (!type struct 1122 nil  gc_used "ipa_ancestor_jf_data"
        (!srcfileloc  "ipa-prop.h" 141)
        (!fields 3 
         (!pair  "offset"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 136)
          nil )
         (!pair  "formal_id"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 138)
          nil )
         (!pair  "agg_preserved"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 140)
          nil )
        )
        nil 2047 nil nil )
       (!srcfileloc  "ipa-prop.h" 331)
       (!options 
        (!option tag string  "IPA_JF_ANCESTOR")
       )
      )
     )
     nil 2047 nil )
    (!srcfileloc  "ipa-prop.h" 332)
    (!options 
     (!option desc string  "%1.type")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1112)
 
 (!type struct 1123 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1124 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1125 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1126 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1115)
 
 (!type struct 1127 nil  gc_pointed_to "ipa_edge_args"
  (!srcfileloc  "ipa-prop.h" 805)
  (!fields 2 
   (!pair  "jump_functions"
    (!type pointer 1128 nil  gc_used
     (!type user_struct 1129 
      (!type already_seen 1128)
      gc_pointed_to "vec<ipa_jump_func,va_gc>"
      (!srcfileloc  "ipa-prop.h" 803)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
       (!pair  "ipa_jump_func"
        (!type already_seen 1108)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 803)
    nil )
   (!pair  "polymorphic_call_contexts"
    (!type pointer 1130 nil  gc_used
     (!type user_struct 1131 
      (!type already_seen 1130)
      gc_pointed_to "vec<ipa_polymorphic_call_context,va_gc>"
      (!srcfileloc  "ipa-prop.h" 804)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
       (!pair  "ipa_polymorphic_call_context"
        (!type already_seen 813)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 804)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1132 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1133 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1134 nil  gc_unused "ipa_agg_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1135 
  (!type pointer 1136 nil  gc_used
   (!type already_seen 1135)
  )
  gc_pointed_to "ipa_agg_replacement_value"
  (!srcfileloc  "ipa-prop.h" 752)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 1136)
    (!srcfileloc  "ipa-prop.h" 736)
    nil )
   (!pair  "offset"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 738)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "ipa-prop.h" 740)
    nil )
   (!pair  "index"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 742)
    nil )
   (!pair  "by_ref"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 744)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1137 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1138 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1139 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1140 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1144 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 nil  gc_unused "ipcp_bits_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "ipcp_vr_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1105)
 
 (!type struct 1148 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "ipa_agg_value_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1109)
 
 (!type struct 1152 
  (!type pointer 1153 nil  gc_used
   (!type already_seen 1152)
  )
  gc_pointed_to "ipa_fn_summary"
  (!srcfileloc  "ipa-fnsummary.h" 190)
  (!fields 13 
   (!pair  "min_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 138)
    nil )
   (!pair  "inlinable"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 141)
    nil )
   (!pair  "single_caller"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 144)
    nil )
   (!pair  "fp_expressions"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 146)
    nil )
   (!pair  "estimated_stack_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 153)
    nil )
   (!pair  "time"
    (!type already_seen 1024)
    (!srcfileloc  "ipa-fnsummary.h" 155)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "conds"
    (!type pointer 1154 nil  gc_used
     (!type user_struct 1155 
      (!type already_seen 1154)
      gc_pointed_to "vec<condition,va_gc>"
      (!srcfileloc  "ipa-predicate.h" 90)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-predicate.h" 90)
        nil )
       (!pair  "condition"
        (!type struct 1156 nil  gc_used "condition"
         (!srcfileloc  "ipa-predicate.h" 90)
         (!fields 8 
          (!pair  "offset"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 52)
           nil )
          (!pair  "type"
           (!type already_seen 23)
           (!srcfileloc  "ipa-predicate.h" 54)
           nil )
          (!pair  "val"
           (!type already_seen 23)
           (!srcfileloc  "ipa-predicate.h" 55)
           nil )
          (!pair  "operand_num"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 56)
           nil )
          (!pair  "code"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 57)
           nil )
          (!pair  "agg_contents"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 60)
           nil )
          (!pair  "by_ref"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 63)
           nil )
          (!pair  "param_ops"
           (!type pointer 1157 nil  gc_used
            (!type user_struct 1158 
             (!type already_seen 1157)
             gc_pointed_to "vec<expr_eval_op,va_gc>"
             (!srcfileloc  "ipa-predicate.h" 46)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 79)
               (!srcfileloc  "ipa-predicate.h" 46)
               nil )
              (!pair  "expr_eval_op"
               (!type struct 1159 nil  gc_used "expr_eval_op"
                (!srcfileloc  "ipa-predicate.h" 46)
                (!fields 4 
                 (!pair  "type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-predicate.h" 37)
                  nil )
                 (!pair  "val"
                  (!type array 1160 nil  gc_used "2" 
                   (!type already_seen 23)
                  )
                  (!srcfileloc  "ipa-predicate.h" 39)
                  nil )
                 (!pair  "index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-predicate.h" 41)
                  nil )
                 (!pair  "code"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-predicate.h" 43)
                  nil )
                )
                nil 2047 nil nil )
               (!srcfileloc  "ipa-predicate.h" 46)
               nil )
             )
            )
           )
           (!srcfileloc  "ipa-predicate.h" 66)
           nil )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-predicate.h" 90)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-fnsummary.h" 159)
    nil )
   (!pair  "size_time_table"
    (!type pointer 1161 nil  gc_used
     (!type user_struct 1162 
      (!type already_seen 1161)
      gc_pointed_to "vec<size_time_entry,va_gc>"
      (!srcfileloc  "ipa-fnsummary.h" 164)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-fnsummary.h" 164)
        nil )
       (!pair  "size_time_entry"
        (!type struct 1163 nil  gc_used "size_time_entry"
         (!srcfileloc  "ipa-fnsummary.h" 164)
         (!fields 4 
          (!pair  "exec_predicate"
           (!type struct 1164 
            (!type pointer 1165 nil  gc_unused
             (!type already_seen 1164)
            )
            gc_used "predicate"
            (!srcfileloc  "ipa-fnsummary.h" 76)
            (!fields 0 )
            nil 2047 nil nil )
           (!srcfileloc  "ipa-fnsummary.h" 76)
           nil )
          (!pair  "nonconst_predicate"
           (!type already_seen 1164)
           (!srcfileloc  "ipa-fnsummary.h" 80)
           nil )
          (!pair  "size"
           (!type already_seen 2)
           (!srcfileloc  "ipa-fnsummary.h" 81)
           nil )
          (!pair  "time"
           (!type already_seen 1024)
           (!srcfileloc  "ipa-fnsummary.h" 82)
           (!options 
            (!option skip string  "")
           )
          )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-fnsummary.h" 164)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-fnsummary.h" 164)
    nil )
   (!pair  "call_size_time_table"
    (!type already_seen 1161)
    (!srcfileloc  "ipa-fnsummary.h" 165)
    nil )
   (!pair  "loop_iterations"
    (!type already_seen 1165)
    (!srcfileloc  "ipa-fnsummary.h" 169)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "loop_stride"
    (!type already_seen 1165)
    (!srcfileloc  "ipa-fnsummary.h" 172)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "growth"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 178)
    nil )
   (!pair  "scc_no"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 180)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1166 nil  gc_unused "edge_clone_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1167 nil  gc_unused "edge_clone_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 
  (!type pointer 1171 nil  gc_used
   (!type already_seen 1170)
  )
  gc_pointed_to "odr_type_d"
  (!srcfileloc  "ipa-devirt.c" 224)
  (!fields 11 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-devirt.c" 200)
    nil )
   (!pair  "bases"
    (!type user_struct 1172 nil  gc_unused "vec<odr_type>"
     (!srcfileloc  "ipa-devirt.c" 202)
     (!fields 1 
      (!pair  "odr_type"
       (!type already_seen 1171)
       (!srcfileloc  "ipa-devirt.c" 202)
       nil )
     )
    )
    (!srcfileloc  "ipa-devirt.c" 202)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "derived_types"
    (!type already_seen 1172)
    (!srcfileloc  "ipa-devirt.c" 205)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "types"
    (!type already_seen 84)
    (!srcfileloc  "ipa-devirt.c" 208)
    nil )
   (!pair  "types_set"
    (!type already_seen 472)
    (!srcfileloc  "ipa-devirt.c" 210)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "id"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 213)
    nil )
   (!pair  "anonymous_namespace"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 215)
    nil )
   (!pair  "all_derivations_known"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 217)
    nil )
   (!pair  "odr_violated"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 219)
    nil )
   (!pair  "rtti_broken"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 221)
    nil )
   (!pair  "tbaa_enabled"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 223)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 835)
 
 (!type already_seen 834)
 
 (!type struct 1173 nil  gc_unused "ipa_param_body_replacement"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "ipa_param_body_adjustments"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 
  (!type pointer 1176 nil  gc_used
   (!type already_seen 1175)
  )
  gc_pointed_to "param_access"
  (!srcfileloc  "ipa-sra.c" 123)
  (!fields 6 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-sra.c" 106)
    nil )
   (!pair  "alias_ptr_type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-sra.c" 110)
    nil )
   (!pair  "unit_offset"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 114)
    nil )
   (!pair  "unit_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 115)
    nil )
   (!pair  "certain"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 120)
    nil )
   (!pair  "reverse"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 122)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1177 nil  gc_unused "gensum_param_access"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1178 
  (!type pointer 1179 nil  gc_used
   (!type already_seen 1178)
  )
  gc_pointed_to "vec<param_access*,va_gc>"
  (!srcfileloc  "ipa-sra.c" 165)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
   (!pair  "param_access"
    (!type already_seen 1176)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
  )
 )
 
 (!type struct 1180 nil  gc_used "isra_param_desc"
  (!srcfileloc  "ipa-sra.c" 254)
  (!fields 6 
   (!pair  "accesses"
    (!type already_seen 1179)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
   (!pair  "param_size_limit"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 168)
    nil )
   (!pair  "size_reached"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 170)
    nil )
   (!pair  "locally_unused"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 174)
    nil )
   (!pair  "split_candidate"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 176)
    nil )
   (!pair  "by_ref"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 178)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1181 nil  gc_unused "gensum_param_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_pointed_to "isra_func_summary"
  (!srcfileloc  "ipa-sra.c" 272)
  (!fields 5 
   (!pair  "m_parameters"
    (!type pointer 1183 nil  gc_used
     (!type user_struct 1184 
      (!type already_seen 1183)
      gc_pointed_to "vec<isra_param_desc,va_gc>"
      (!srcfileloc  "ipa-sra.c" 254)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-sra.c" 254)
        nil )
       (!pair  "isra_param_desc"
        (!type already_seen 1180)
        (!srcfileloc  "ipa-sra.c" 254)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-sra.c" 254)
    nil )
   (!pair  "m_candidate"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 258)
    nil )
   (!pair  "m_returns_value"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 261)
    nil )
   (!pair  "m_return_ignored"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 266)
    nil )
   (!pair  "m_queued"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 271)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 1184)
 
 (!type struct 1185 nil  gc_unused "isra_param_flow"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 nil  gc_unused "isra_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1187 
  (!type pointer 1188 nil  gc_used
   (!type already_seen 1187)
  )
  gc_pointed_to "ipa_sra_function_summaries"
  (!srcfileloc  "ipa-sra.c" 376)
  (!fields 0 )
 )
 
 (!type struct 1189 nil  gc_unused "ipa_sra_call_summaries"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "scan_call_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "caller_issues"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "pass_ipa_sra"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 
  (!type pointer 1194 nil  gc_used
   (!type already_seen 1193)
  )
  gc_pointed_to "typeinfo"
  (!srcfileloc  "dbxout.c" 173)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 170)
    nil )
   (!pair  "file_number"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 171)
    nil )
   (!pair  "type_number"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 172)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1195 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 483)
 
 (!type already_seen 479)
 
 (!type already_seen 482)
 
 (!type already_seen 490)
 
 (!type already_seen 515)
 
 (!type already_seen 517)
 
 (!type already_seen 480)
 
 (!type already_seen 477)
 
 (!type already_seen 504)
 
 (!type already_seen 513)
 
 (!type already_seen 512)
 
 (!type already_seen 486)
 
 (!type already_seen 505)
 
 (!type already_seen 507)
 
 (!type already_seen 509)
 
 (!type already_seen 511)
 
 (!type already_seen 488)
 
 (!type struct 1196 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1198 
  (!type pointer 1199 nil  gc_used
   (!type already_seen 1198)
  )
  gc_pointed_to "hash_map<char*,tree>"
  (!srcfileloc  "dwarf2asm.c" 865)
  (!fields 1 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2asm.c" 865)
    nil )
  )
 )
 
 (!type struct 1200 
  (!type pointer 1201 nil  gc_used
   (!type already_seen 1200)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 193)
  (!fields 5 
   (!pair  "cfa"
    (!type already_seen 517)
    (!srcfileloc  "dwarf2cfi.c" 66)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 478)
    (!srcfileloc  "dwarf2cfi.c" 67)
    nil )
   (!pair  "reg_save"
    (!type already_seen 476)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "window_save"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
   (!pair  "ra_mangled"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2cfi.c" 76)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1202 
  (!type pointer 1203 nil  gc_used
   (!type already_seen 1202)
  )
  gc_pointed_to "reg_saved_in_data"
  (!srcfileloc  "dwarf2cfi.c" 195)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2cfi.c" 81)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2cfi.c" 82)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1204 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1209 
  (!type pointer 1210 nil  gc_used
   (!type already_seen 1209)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 213)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 474)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
  )
 )
 
 (!type struct 1211 nil  gc_used "indirect_string_hasher"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1212 
  (!type pointer 1213 nil  gc_used
   (!type already_seen 1212)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type already_seen 1211)
    (!srcfileloc  "dwarf2out.c" 231)
    nil )
  )
 )
 
 (!type already_seen 487)
 
 (!type already_seen 495)
 
 (!type struct 1214 nil  gc_used "dw_line_info_struct"
  (!srcfileloc  "dwarf2out.c" 2977)
  (!fields 2 
   (!pair  "opcode"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2975)
    nil )
   (!pair  "val"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2976)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1215 
  (!type pointer 1216 nil  gc_used
   (!type already_seen 1215)
  )
  gc_pointed_to "vec<dw_line_info_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3019)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
   (!pair  "dw_line_info_entry"
    (!type already_seen 1214)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
 )
 
 (!type struct 1217 
  (!type pointer 1218 nil  gc_used
   (!type already_seen 1217)
  )
  gc_pointed_to "dw_line_info_table"
  (!srcfileloc  "dwarf2out.c" 3553)
  (!fields 10 
   (!pair  "end_label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 2982)
    nil )
   (!pair  "file_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2986)
    nil )
   (!pair  "line_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2987)
    nil )
   (!pair  "column_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2988)
    nil )
   (!pair  "discrim_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2989)
    nil )
   (!pair  "is_stmt"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2990)
    nil )
   (!pair  "in_use"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2991)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3007)
    nil )
   (!pair  "symviews_since_reset"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3012)
    nil )
   (!pair  "entries"
    (!type already_seen 1216)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 499)
 
 (!type already_seen 493)
 
 (!type already_seen 498)
 
 (!type struct 1219 nil  gc_unused "set_early_dwarf"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_used "pubname_struct"
  (!srcfileloc  "dwarf2out.c" 3135)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3133)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3134)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1221 nil  gc_used "dw_ranges"
  (!srcfileloc  "dwarf2out.c" 3586)
  (!fields 4 
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3140)
    nil )
   (!pair  "num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3143)
    nil )
   (!pair  "idx"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3145)
    nil )
   (!pair  "maybe_new_sec"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1222 nil  gc_used "macinfo_struct"
  (!srcfileloc  "dwarf2out.c" 3157)
  (!fields 3 
   (!pair  "code"
    (!type already_seen 8)
    (!srcfileloc  "dwarf2out.c" 3154)
    nil )
   (!pair  "lineno"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3155)
    nil )
   (!pair  "info"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3156)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1223 nil  gc_used "dw_ranges_by_label"
  (!srcfileloc  "dwarf2out.c" 3589)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3162)
    nil )
   (!pair  "end"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3163)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1224 
  (!type pointer 1225 nil  gc_used
   (!type already_seen 1224)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 3185)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3180)
    nil )
   (!pair  "created_for"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3183)
    nil )
   (!pair  "next"
    (!type already_seen 1225)
    (!srcfileloc  "dwarf2out.c" 3184)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1226 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_used "dwarf_file_hasher"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1228 
  (!type pointer 1229 nil  gc_used
   (!type already_seen 1228)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type already_seen 1227)
    (!srcfileloc  "dwarf2out.c" 3400)
    nil )
  )
 )
 
 (!type struct 1230 nil  gc_used "decl_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1231 
  (!type pointer 1232 nil  gc_used
   (!type already_seen 1231)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type already_seen 1230)
    (!srcfileloc  "dwarf2out.c" 3411)
    nil )
  )
 )
 
 (!type user_struct 1233 
  (!type pointer 1234 nil  gc_used
   (!type already_seen 1233)
  )
  gc_pointed_to "vec<dw_die_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3415)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
   (!pair  "dw_die_ref"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
 )
 
 (!type struct 1235 nil  gc_pointed_to "variable_value_struct"
  (!srcfileloc  "dwarf2out.c" 3416)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3414)
    nil )
   (!pair  "dies"
    (!type already_seen 1234)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1236 nil  gc_used "variable_value_hasher"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1237 
  (!type pointer 1238 nil  gc_used
   (!type already_seen 1237)
  )
  gc_pointed_to "hash_table<variable_value_hasher>"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 1 
   (!pair  "variable_value_hasher"
    (!type already_seen 1236)
    (!srcfileloc  "dwarf2out.c" 3428)
    nil )
  )
 )
 
 (!type struct 1239 nil  gc_used "block_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1240 
  (!type pointer 1241 nil  gc_used
   (!type already_seen 1240)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type already_seen 1239)
    (!srcfileloc  "dwarf2out.c" 3438)
    nil )
  )
 )
 
 (!type struct 1242 nil  gc_used "die_arg_entry_struct"
  (!srcfileloc  "dwarf2out.c" 3443)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3441)
    nil )
   (!pair  "arg"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3442)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1243 
  (!type pointer 1244 nil  gc_used
   (!type already_seen 1243)
  )
  gc_pointed_to "var_loc_node"
  (!srcfileloc  "dwarf2out.c" 3460)
  (!fields 4 
   (!pair  "loc"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3456)
    nil )
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3457)
    nil )
   (!pair  "next"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3458)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3459)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1245 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3481)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3464)
    nil )
   (!pair  "last"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3472)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3477)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3480)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1246 
  (!type pointer 1247 nil  gc_used
   (!type already_seen 1246)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 3492)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3486)
    nil )
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3487)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3488)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3489)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3490)
    nil )
   (!pair  "next"
    (!type already_seen 1247)
    (!srcfileloc  "dwarf2out.c" 3491)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1248 nil  gc_used "decl_loc_hasher"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1249 
  (!type pointer 1250 nil  gc_used
   (!type already_seen 1249)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type already_seen 1248)
    (!srcfileloc  "dwarf2out.c" 3504)
    nil )
  )
 )
 
 (!type struct 1251 nil  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3522)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3518)
    nil )
   (!pair  "loc_list"
    (!type already_seen 489)
    (!srcfileloc  "dwarf2out.c" 3521)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1252 nil  gc_used "dw_loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1253 
  (!type pointer 1254 nil  gc_used
   (!type already_seen 1253)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3535)
    nil )
  )
 )
 
 (!type user_struct 1255 
  (!type pointer 1256 nil  gc_used
   (!type already_seen 1255)
  )
  gc_pointed_to "vec<dw_line_info_table*,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3560)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
   (!pair  "dw_line_info_table"
    (!type already_seen 1218)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
  )
 )
 
 (!type user_struct 1257 
  (!type pointer 1258 nil  gc_used
   (!type already_seen 1257)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3568)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
   (!pair  "pubname_entry"
    (!type already_seen 1220)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
  )
 )
 
 (!type user_struct 1259 
  (!type pointer 1260 nil  gc_used
   (!type already_seen 1259)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3576)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
   (!pair  "macinfo_entry"
    (!type already_seen 1222)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
  )
 )
 
 (!type user_struct 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  gc_pointed_to "vec<dw_ranges,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3586)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
   (!pair  "dw_ranges"
    (!type already_seen 1221)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
  )
 )
 
 (!type user_struct 1263 
  (!type pointer 1264 nil  gc_used
   (!type already_seen 1263)
  )
  gc_pointed_to "vec<dw_ranges_by_label,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3589)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
   (!pair  "dw_ranges_by_label"
    (!type already_seen 1223)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
  )
 )
 
 (!type user_struct 1265 
  (!type pointer 1266 nil  gc_used
   (!type already_seen 1265)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3606)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
   (!pair  "die_arg_entry"
    (!type already_seen 1242)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
  )
 )
 
 (!type struct 1267 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1268 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1269 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1270 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1271 nil  gc_used "addr_hasher"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1272 
  (!type pointer 1273 nil  gc_used
   (!type already_seen 1272)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type already_seen 1271)
    (!srcfileloc  "dwarf2out.c" 4954)
    nil )
  )
 )
 
 (!type struct 1274 nil  gc_used "sym_off_pair"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 5791)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "off"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 5792)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1275 
  (!type pointer 1276 nil  gc_used
   (!type already_seen 1275)
  )
  gc_pointed_to "hash_map<tree,sym_off_pair>"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym_off_pair"
    (!type already_seen 1274)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
  )
 )
 
 (!type struct 1277 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1278 nil  gc_unused "decl_table_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1279 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type already_seen 1278)
    (!srcfileloc  "dwarf2out.c" 8181)
    nil )
  )
 )
 
 (!type struct 1280 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1281 nil  gc_unused "external_ref_hasher"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1282 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type already_seen 1281)
    (!srcfileloc  "dwarf2out.c" 8939)
    nil )
  )
 )
 
 (!type struct 1283 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1284 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1285 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1286 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1287 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_pointed_to "inline_entry_data"
  (!srcfileloc  "dwarf2out.c" 23536)
  (!fields 4 
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 23528)
    nil )
   (!pair  "label_pfx"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 23531)
    nil )
   (!pair  "label_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 23532)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 23535)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1289 nil  gc_used "inline_entry_data_hasher"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1290 
  (!type pointer 1291 nil  gc_used
   (!type already_seen 1290)
  )
  gc_pointed_to "hash_table<inline_entry_data_hasher>"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 1 
   (!pair  "inline_entry_data_hasher"
    (!type already_seen 1289)
    (!srcfileloc  "dwarf2out.c" 23562)
    nil )
  )
 )
 
 (!type struct 1292 nil  gc_unused "macinfo_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1293 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type already_seen 1292)
    (!srcfileloc  "dwarf2out.c" 28164)
    nil )
  )
 )
 
 (!type struct 1294 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1295 nil  gc_unused "loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1296 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type already_seen 1295)
    (!srcfileloc  "dwarf2out.c" 31114)
    nil )
  )
 )
 
 (!type struct 1297 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 
  (!type pointer 1300 nil  gc_used
   (!type already_seen 1299)
  )
  gc_pointed_to "temp_slot"
  (!srcfileloc  "function.c" 587)
  (!fields 10 
   (!pair  "next"
    (!type already_seen 1300)
    (!srcfileloc  "function.c" 563)
    nil )
   (!pair  "prev"
    (!type already_seen 1300)
    (!srcfileloc  "function.c" 565)
    nil )
   (!pair  "slot"
    (!type already_seen 100)
    (!srcfileloc  "function.c" 567)
    nil )
   (!pair  "size"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 569)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "function.c" 574)
    nil )
   (!pair  "align"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 576)
    nil )
   (!pair  "in_use"
    (!type already_seen 8)
    (!srcfileloc  "function.c" 578)
    nil )
   (!pair  "level"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 580)
    nil )
   (!pair  "base_offset"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 583)
    nil )
   (!pair  "full_size"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 586)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1301 nil  gc_used "incoming_args"
  (!srcfileloc  "emit-rtl.h" 54)
  (!fields 6 
   (!pair  "pops_args"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 32)
    nil )
   (!pair  "size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 37)
    nil )
   (!pair  "pretend_args_size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 42)
    nil )
   (!pair  "arg_offset_rtx"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 46)
    nil )
   (!pair  "info"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 50)
    nil )
   (!pair  "internal_arg_pointer"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 53)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1302 
  (!type pointer 1303 nil  gc_used
   (!type already_seen 1302)
  )
  gc_pointed_to "initial_value_struct"
  (!srcfileloc  "function.c" 1262)
  (!fields 3 
   (!pair  "num_entries"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 1259)
    nil )
   (!pair  "max_entries"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 1260)
    nil )
   (!pair  "entries"
    (!type pointer 1304 nil  gc_unused
     (!type struct 1305 
      (!type already_seen 1304)
      gc_used "initial_value_pair"
      (!srcfileloc  "function.c" 1261)
      (!fields 2 
       (!pair  "hard_reg"
        (!type already_seen 100)
        (!srcfileloc  "function.c" 1252)
        nil )
       (!pair  "pseudo"
        (!type already_seen 100)
        (!srcfileloc  "function.c" 1253)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "function.c" 1261)
    (!options 
     (!option length string  "%h.num_entries")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1306 
  (!type pointer 1307 nil  gc_used
   (!type already_seen 1306)
  )
  gc_pointed_to "vec<temp_slot_p,va_gc>"
  (!srcfileloc  "emit-rtl.h" 145)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "temp_slot_p"
    (!type already_seen 1300)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
  )
 )
 
 (!type struct 1308 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 306)
  (!fields 61 
   (!pair  "expr"
    (!type already_seen 994)
    (!srcfileloc  "emit-rtl.h" 61)
    nil )
   (!pair  "emit"
    (!type already_seen 991)
    (!srcfileloc  "emit-rtl.h" 62)
    nil )
   (!pair  "varasm"
    (!type already_seen 1006)
    (!srcfileloc  "emit-rtl.h" 63)
    nil )
   (!pair  "args"
    (!type already_seen 1301)
    (!srcfileloc  "emit-rtl.h" 64)
    nil )
   (!pair  "subsections"
    (!type already_seen 1007)
    (!srcfileloc  "emit-rtl.h" 65)
    nil )
   (!pair  "eh"
    (!type already_seen 999)
    (!srcfileloc  "emit-rtl.h" 66)
    nil )
   (!pair  "abi"
    (!type already_seen 907)
    (!srcfileloc  "emit-rtl.h" 74)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "outgoing_args_size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 80)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 86)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type already_seen 1303)
    (!srcfileloc  "emit-rtl.h" 93)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 23)
    (!srcfileloc  "emit-rtl.h" 97)
    nil )
   (!pair  "stack_protect_guard_decl"
    (!type already_seen 23)
    (!srcfileloc  "emit-rtl.h" 101)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 742)
    (!srcfileloc  "emit-rtl.h" 105)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 370)
    (!srcfileloc  "emit-rtl.h" 110)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 370)
    (!srcfileloc  "emit-rtl.h" 115)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 219)
    (!srcfileloc  "emit-rtl.h" 119)
    nil )
   (!pair  "frame_space_list"
    (!type already_seen 1009)
    (!srcfileloc  "emit-rtl.h" 122)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 751)
    (!srcfileloc  "emit-rtl.h" 125)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 131)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 134)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 139)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 295)
    (!srcfileloc  "emit-rtl.h" 142)
    nil )
   (!pair  "x_used_temp_slots"
    (!type already_seen 1307)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1300)
    (!srcfileloc  "emit-rtl.h" 148)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 151)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 155)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 159)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 162)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 165)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 174)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 180)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 183)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 187)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 191)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 194)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 201)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 205)
    nil )
   (!pair  "profile"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 208)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 211)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 214)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 217)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 220)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 223)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 228)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 231)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 238)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 243)
    nil )
   (!pair  "need_drap"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 247)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 252)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 256)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 259)
    nil )
   (!pair  "nothrow"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 264)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 267)
    nil )
   (!pair  "shrink_wrapped_separate"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 271)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 276)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 282)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 287)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 292)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 296)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 302)
    nil )
   (!pair  "max_insn_address"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 305)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1309 nil  gc_used "const_int_hasher"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1310 
  (!type pointer 1311 nil  gc_used
   (!type already_seen 1310)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type already_seen 1309)
    (!srcfileloc  "emit-rtl.c" 144)
    nil )
  )
 )
 
 (!type struct 1312 nil  gc_used "const_wide_int_hasher"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1313 
  (!type pointer 1314 nil  gc_used
   (!type already_seen 1313)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type already_seen 1312)
    (!srcfileloc  "emit-rtl.c" 152)
    nil )
  )
 )
 
 (!type struct 1315 nil  gc_used "const_poly_int_hasher"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1316 
  (!type pointer 1317 nil  gc_used
   (!type already_seen 1316)
  )
  gc_pointed_to "hash_table<const_poly_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 1 
   (!pair  "const_poly_int_hasher"
    (!type already_seen 1315)
    (!srcfileloc  "emit-rtl.c" 162)
    nil )
  )
 )
 
 (!type struct 1318 nil  gc_used "reg_attr_hasher"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1319 
  (!type pointer 1320 nil  gc_used
   (!type already_seen 1319)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type already_seen 1318)
    (!srcfileloc  "emit-rtl.c" 171)
    nil )
  )
 )
 
 (!type struct 1321 nil  gc_used "const_double_hasher"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1322 
  (!type pointer 1323 nil  gc_used
   (!type already_seen 1322)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type already_seen 1321)
    (!srcfileloc  "emit-rtl.c" 180)
    nil )
  )
 )
 
 (!type struct 1324 nil  gc_used "const_fixed_hasher"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1325 
  (!type pointer 1326 nil  gc_used
   (!type already_seen 1325)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type already_seen 1324)
    (!srcfileloc  "emit-rtl.c" 189)
    nil )
  )
 )
 
 (!type already_seen 361)
 
 (!type already_seen 369)
 
 (!type already_seen 365)
 
 (!type already_seen 363)
 
 (!type already_seen 366)
 
 (!type already_seen 367)
 
 (!type already_seen 362)
 
 (!type already_seen 373)
 
 (!type already_seen 375)
 
 (!type already_seen 377)
 
 (!type already_seen 379)
 
 (!type struct 1327 nil  gc_unused "throw_stmt_node"
  (!srcfileloc  "except.h" 289)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 280)
    (!srcfileloc  "except.h" 287)
    nil )
   (!pair  "lp_nr"
    (!type already_seen 2)
    (!srcfileloc  "except.h" 288)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1328 nil  gc_unused "pieces_addr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1329 nil  gc_unused "op_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1330 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1331 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "compare_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 
  (!type pointer 1334 nil  gc_unused
   (!type already_seen 1333)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_used "insn_cache_hasher"
  (!srcfileloc  "function.c" 127)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1336 
  (!type pointer 1337 nil  gc_used
   (!type already_seen 1336)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 127)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type already_seen 1335)
    (!srcfileloc  "function.c" 127)
    nil )
  )
 )
 
 (!type struct 1338 nil  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 594)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 591)
    nil )
   (!pair  "address"
    (!type already_seen 100)
    (!srcfileloc  "function.c" 592)
    nil )
   (!pair  "temp_slot"
    (!type already_seen 1300)
    (!srcfileloc  "function.c" 593)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1339 nil  gc_used "temp_address_hasher"
  (!srcfileloc  "function.c" 604)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1340 
  (!type pointer 1341 nil  gc_used
   (!type already_seen 1340)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 604)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type already_seen 1339)
    (!srcfileloc  "function.c" 604)
    nil )
  )
 )
 
 (!type already_seen 1305)
 
 (!type struct 1342 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1344 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1345 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1348 
  (!type pointer 1349 nil  gc_used
   (!type already_seen 1348)
  )
  gc_pointed_to "hash_map<tree_hash,tree>"
  (!srcfileloc  "except.c" 150)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "except.c" 150)
    nil )
   (!pair  "tree_hash"
    (!type already_seen 934)
    (!srcfileloc  "except.c" 150)
    nil )
  )
 )
 
 (!type struct 1350 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1351 nil  gc_unused "action_record_hasher"
  (!srcfileloc  "except.c" 209)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1352 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 209)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type already_seen 1351)
    (!srcfileloc  "except.c" 209)
    nil )
  )
 )
 
 (!type struct 1353 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "ttypes_filter_hasher"
  (!srcfileloc  "except.c" 728)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1356 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 728)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type already_seen 1355)
    (!srcfileloc  "except.c" 728)
    nil )
  )
 )
 
 (!type struct 1357 nil  gc_unused "ehspec_hasher"
  (!srcfileloc  "except.c" 763)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1358 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 763)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type already_seen 1357)
    (!srcfileloc  "except.c" 763)
    nil )
  )
 )
 
 (!type struct 1359 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1360 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 916)
 
 (!type struct 1361 
  (!type pointer 1362 nil  gc_used
   (!type already_seen 1361)
  )
  gc_pointed_to "test_of_length"
  (!srcfileloc  "ggc-tests.c" 79)
  (!fields 2 
   (!pair  "num_elem"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 75)
    nil )
   (!pair  "elem"
    (!type array 1363 nil  gc_used "1" 
     (!type already_seen 1362)
    )
    (!srcfileloc  "ggc-tests.c" 76)
    (!options 
     (!option length string  "%h.num_elem")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 918)
 
 (!type struct 1364 
  (!type pointer 1365 nil  gc_used
   (!type already_seen 1364)
  )
  gc_pointed_to "test_of_union"
  (!srcfileloc  "ggc-tests.c" 145)
  (!fields 2 
   (!pair  "m_kind"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 136)
    nil )
   (!pair  "m_u"
    (!type already_seen 914)
    (!srcfileloc  "ggc-tests.c" 140)
    (!options 
     (!option desc string  "calc_desc (%0.m_kind)")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 1366 nil  gc_unused "test_struct_with_dtor"
  (!srcfileloc  "ggc-tests.c" 187)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1367 
  (!type pointer 1368 nil  gc_used
   (!type already_seen 1367)
  )
  gc_pointed_to "example_base"
  (!srcfileloc  "ggc-tests.c" 256)
  (!fields 2 
   (!pair  "m_kind"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 254)
    nil )
   (!pair  "m_a"
    (!type already_seen 915)
    (!srcfileloc  "ggc-tests.c" 255)
    nil )
  )
  (!options 
   (!option tag string  "0")
   (!option desc string  "%h.m_kind")
  )
  2047 nil nil )
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_used
   (!type already_seen 1369)
  )
  gc_pointed_to "some_subclass"
  (!srcfileloc  "ggc-tests.c" 267)
  (!fields 1 
   (!pair  "m_b"
    (!type already_seen 915)
    (!srcfileloc  "ggc-tests.c" 266)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 1367)
 )
 
 (!type struct 1371 
  (!type pointer 1372 nil  gc_used
   (!type already_seen 1371)
  )
  gc_pointed_to "some_other_subclass"
  (!srcfileloc  "ggc-tests.c" 278)
  (!fields 1 
   (!pair  "m_c"
    (!type already_seen 915)
    (!srcfileloc  "ggc-tests.c" 277)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 1367)
 )
 
 (!type struct 1373 
  (!type pointer 1374 nil  gc_used
   (!type already_seen 1373)
  )
  gc_pointed_to "test_node"
  (!srcfileloc  "ggc-tests.c" 337)
  (!fields 3 
   (!pair  "m_prev"
    (!type already_seen 1374)
    (!srcfileloc  "ggc-tests.c" 334)
    nil )
   (!pair  "m_next"
    (!type already_seen 1374)
    (!srcfileloc  "ggc-tests.c" 335)
    nil )
   (!pair  "m_idx"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 336)
    nil )
  )
  (!options 
   (!option chain_prev string  "%h.m_prev")
   (!option chain_next string  "%h.m_next")
  )
  2047 nil nil )
 
 (!type user_struct 1375 
  (!type pointer 1376 nil  gc_used
   (!type already_seen 1375)
  )
  gc_pointed_to "user_struct"
  (!srcfileloc  "ggc-tests.c" 399)
  (!fields 0 )
 )
 
 (!type already_seen 623)
 
 (!type struct 1377 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1378 
  (!type pointer 1379 nil  gc_unused
   (!type already_seen 1378)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1380 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1381 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1382 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1383 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1384 nil  gc_unused "vec<rtx_insn*>"
  (!srcfileloc  "gcse.c" 620)
  (!fields 1 
   (!pair  "rtx_insn"
    (!type already_seen 295)
    (!srcfileloc  "gcse.c" 620)
    nil )
  )
 )
 
 (!type user_struct 1385 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 621)
  (!fields 1 
   (!pair  "modify_pair"
    (!type undefined 1386 nil  gc_unused "modify_pair"
     (!srcfileloc  "gcse.c" 621)
    )
    (!srcfileloc  "gcse.c" 621)
    nil )
  )
 )
 
 (!type already_seen 1386)
 
 (!type struct 1387 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1388 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1389 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1390 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1391 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1392 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1393 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1394 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1395 nil  gc_used "libfunc_decl_hasher"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1396 
  (!type pointer 1397 nil  gc_used
   (!type already_seen 1396)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type already_seen 1395)
    (!srcfileloc  "optabs-libfuncs.c" 720)
    nil )
  )
 )
 
 (!type struct 1398 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1399 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1400 nil  gc_unused "location_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "location_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 
  (!type pointer 1403 nil  gc_unused
   (!type already_seen 1402)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1404 
  (!type pointer 1405 nil  gc_unused
   (!type already_seen 1404)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1406 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1407 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1408 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1409 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1410 
  (!type pointer 1411 nil  gc_unused
   (!type already_seen 1410)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1412 
  (!type pointer 1413 nil  gc_unused
   (!type already_seen 1412)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1414 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1416 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1417 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1418 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1419 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 
  (!type pointer 1421 nil  gc_used
   (!type already_seen 1420)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 238)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 17)
    (!srcfileloc  "stringpool.c" 235)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 22)
      "%h ? HT_IDENT_TO_GCC_IDENT (%h) : NULL" "%h ? GCC_IDENT_TO_HT_IDENT (%h) : NULL")
     (!option length string  "%h.nslots")
    )
   )
   (!pair  "nslots"
    (!type already_seen 2)
    (!srcfileloc  "stringpool.c" 236)
    nil )
   (!pair  "nelements"
    (!type already_seen 2)
    (!srcfileloc  "stringpool.c" 237)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1422 nil  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 171)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "tree.c" 169)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "tree.c" 170)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1423 nil  gc_used "type_cache_hasher"
  (!srcfileloc  "tree.c" 195)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1424 
  (!type pointer 1425 nil  gc_used
   (!type already_seen 1424)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 195)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type already_seen 1423)
    (!srcfileloc  "tree.c" 195)
    nil )
  )
 )
 
 (!type struct 1426 nil  gc_used "int_cst_hasher"
  (!srcfileloc  "tree.c" 206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1427 
  (!type pointer 1428 nil  gc_used
   (!type already_seen 1427)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 206)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type already_seen 1426)
    (!srcfileloc  "tree.c" 206)
    nil )
  )
 )
 
 (!type struct 1429 nil  gc_used "poly_int_cst_hasher"
  (!srcfileloc  "tree.c" 217)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1430 
  (!type pointer 1431 nil  gc_used
   (!type already_seen 1430)
  )
  gc_pointed_to "hash_table<poly_int_cst_hasher>"
  (!srcfileloc  "tree.c" 217)
  (!fields 1 
   (!pair  "poly_int_cst_hasher"
    (!type already_seen 1429)
    (!srcfileloc  "tree.c" 217)
    nil )
  )
 )
 
 (!type struct 1432 nil  gc_used "cl_option_hasher"
  (!srcfileloc  "tree.c" 233)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1433 
  (!type pointer 1434 nil  gc_used
   (!type already_seen 1433)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 233)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type already_seen 1432)
    (!srcfileloc  "tree.c" 233)
    nil )
  )
 )
 
 (!type user_struct 1435 
  (!type pointer 1436 nil  gc_used
   (!type already_seen 1435)
  )
  gc_pointed_to "hash_table<tree_decl_map_cache_hasher>"
  (!srcfileloc  "tree.c" 239)
  (!fields 1 
   (!pair  "tree_decl_map_cache_hasher"
    (!type already_seen 930)
    (!srcfileloc  "tree.c" 239)
    nil )
  )
 )
 
 (!type struct 1437 nil  gc_used "tree_vec_map_cache_hasher"
  (!srcfileloc  "tree.c" 262)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1438 
  (!type pointer 1439 nil  gc_used
   (!type already_seen 1438)
  )
  gc_pointed_to "hash_table<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 262)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type already_seen 1437)
    (!srcfileloc  "tree.c" 262)
    nil )
  )
 )
 
 (!type struct 1440 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1443 nil  gc_used "section_hasher"
  (!srcfileloc  "varasm.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1444 
  (!type pointer 1445 nil  gc_used
   (!type already_seen 1444)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 189)
  (!fields 1 
   (!pair  "section_hasher"
    (!type already_seen 1443)
    (!srcfileloc  "varasm.c" 189)
    nil )
  )
 )
 
 (!type struct 1446 nil  gc_used "object_block_hasher"
  (!srcfileloc  "varasm.c" 200)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1447 
  (!type pointer 1448 nil  gc_used
   (!type already_seen 1447)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 200)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type already_seen 1446)
    (!srcfileloc  "varasm.c" 200)
    nil )
  )
 )
 
 (!type struct 1449 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1450 
  (!type pointer 1451 nil  gc_used
   (!type already_seen 1450)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type already_seen 1071)
    (!srcfileloc  "varasm.c" 3006)
    nil )
  )
 )
 
 (!type already_seen 1005)
 
 (!type already_seen 1004)
 
 (!type struct 1452 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1453 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_used "tm_clone_hasher"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1455 
  (!type pointer 1456 nil  gc_used
   (!type already_seen 1455)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type already_seen 1454)
    (!srcfileloc  "varasm.c" 6091)
    nil )
  )
 )
 
 (!type struct 1457 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 408)
 
 (!type already_seen 759)
 
 (!type already_seen 757)
 
 (!type already_seen 767)
 
 (!type already_seen 765)
 
 (!type already_seen 390)
 
 (!type already_seen 772)
 
 (!type already_seen 793)
 
 (!type already_seen 782)
 
 (!type struct 1458 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 558)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 557)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type already_seen 798)
 
 (!type already_seen 801)
 
 (!type already_seen 800)
 
 (!type already_seen 795)
 
 (!type struct 1459 nil  gc_pointed_to "gomp_scan"
  (!srcfileloc  "gimple.h" 781)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 795)
 )
 
 (!type already_seen 790)
 
 (!type struct 1460 nil  gc_pointed_to "gimple_statement_omp_return"
  (!srcfileloc  "gimple.h" 823)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 790)
 )
 
 (!type struct 1461 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1462 nil  gc_pointed_to "tm_restart_node"
  (!srcfileloc  "gimple-ssa.h" 32)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 280)
    (!srcfileloc  "gimple-ssa.h" 30)
    nil )
   (!pair  "label_or_list"
    (!type already_seen 23)
    (!srcfileloc  "gimple-ssa.h" 31)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 411)
 
 (!type already_seen 402)
 
 (!type already_seen 399)
 
 (!type already_seen 401)
 
 (!type already_seen 403)
 
 (!type already_seen 410)
 
 (!type struct 1463 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1464 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-eh.c:53"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1465 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1466 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1467 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1468 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1470 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 nil  gc_used "mem_addr_template"
  (!srcfileloc  "tree-ssa-address.c" 94)
  (!fields 3 
   (!pair  "ref"
    (!type already_seen 100)
    (!srcfileloc  "tree-ssa-address.c" 82)
    nil )
   (!pair  "step_p"
    (!type already_seen 101)
    (!srcfileloc  "tree-ssa-address.c" 83)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "off_p"
    (!type already_seen 101)
    (!srcfileloc  "tree-ssa-address.c" 85)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1477 
  (!type pointer 1478 nil  gc_used
   (!type already_seen 1477)
  )
  gc_pointed_to "vec<mem_addr_template,va_gc>"
  (!srcfileloc  "tree-ssa-address.c" 94)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
   (!pair  "mem_addr_template"
    (!type already_seen 1476)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
  )
 )
 
 (!type struct 1479 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1483 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1486 nil  gc_unused "label_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1492 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "iv_use"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 nil  gc_unused "comp_cost"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "iv_inv_expr_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "cost_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "iv_group"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "iv_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 nil  gc_unused "iv_common_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "iv_common_cand_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1504 nil  gc_unused "iv_inv_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1505 nil  gc_unused "ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "iv_ca"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1507 nil  gc_unused "iv_ca_delta"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "ifs_ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "walk_tree_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "aff_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "ainc_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1513 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1514 nil  gc_unused "numbered_tree"
  (!srcfileloc  "tree-dfa.c" 950)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 23)
    (!srcfileloc  "tree-dfa.c" 948)
    nil )
   (!pair  "num"
    (!type already_seen 2)
    (!srcfileloc  "tree-dfa.c" 949)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1515 nil  gc_pointed_to "scev_info_str"
  (!srcfileloc  "tree-scalar-evolution.c" 300)
  (!fields 3 
   (!pair  "name_version"
    (!type already_seen 2)
    (!srcfileloc  "tree-scalar-evolution.c" 297)
    nil )
   (!pair  "instantiated_below"
    (!type already_seen 2)
    (!srcfileloc  "tree-scalar-evolution.c" 298)
    nil )
   (!pair  "chrec"
    (!type already_seen 23)
    (!srcfileloc  "tree-scalar-evolution.c" 299)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1516 nil  gc_used "scev_info_hasher"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1517 
  (!type pointer 1518 nil  gc_used
   (!type already_seen 1517)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type already_seen 1516)
    (!srcfileloc  "tree-scalar-evolution.c" 312)
    nil )
  )
 )
 
 (!type struct 1519 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1520 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 405)
 
 (!type struct 1521 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1522 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1523 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1524 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1525 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1526 nil  gc_unused "pass_omp_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1527 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1528 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1529 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1530 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 
  (!type pointer 1532 nil  gc_used
   (!type already_seen 1531)
  )
  gc_pointed_to "grid_launch_attributes_trees"
  (!srcfileloc  "omp-expand.c" 7671)
  (!fields 5 
   (!pair  "kernel_dim_array_type"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7666)
    nil )
   (!pair  "kernel_lattrs_dimnum_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7667)
    nil )
   (!pair  "kernel_lattrs_grid_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7668)
    nil )
   (!pair  "kernel_lattrs_group_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7669)
    nil )
   (!pair  "kernel_launch_attributes_type"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7670)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1533 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1534 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1535 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1536 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1537 nil  gc_unused "omplow_simd_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1538 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1539 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1540 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1541 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 nil  gc_unused "minipool_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1545 nil  gc_unused "minipool_fixup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1546 nil  gc_unused "four_ints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1547 nil  gc_unused "arm_build_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1548 nil  gc_unused "cpu_tune"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1549 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.c:2458"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1550 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.c:3915"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1551 nil  gc_unused "libcall_hasher"
  (!srcfileloc  "config/arm/arm.c" 5721)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1552 nil  gc_unused "hash_table<libcall_hasher>"
  (!srcfileloc  "config/arm/arm.c" 5721)
  (!fields 1 
   (!pair  "libcall_hasher"
    (!type already_seen 1551)
    (!srcfileloc  "config/arm/arm.c" 5721)
    nil )
  )
 )
 
 (!type struct 1553 nil  gc_unused "scratch_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1555 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1556 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1557 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1558 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1559 nil  gc_unused "pass_ipa_remove_symbols"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1560 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1561 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1562 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1563 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1564 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1565 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1566 
  (!type pointer 1567 nil  gc_unused
   (!type already_seen 1566)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1568 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1569 
  (!type pointer 1570 nil  gc_unused
   (!type already_seen 1569)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1571 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1572 
  (!type pointer 1573 nil  gc_used
   (!type already_seen 1572)
  )
  gc_pointed_to "hash_map<char*,unsigned>"
  (!srcfileloc  "cgraphclones.c" 465)
  (!fields 1 
   (!pair  "unsigned"
    (!type undefined 1574 nil  gc_unused "unsigned"
     (!srcfileloc  "cgraphclones.c" 465)
    )
    (!srcfileloc  "cgraphclones.c" 465)
    nil )
  )
 )
 
 (!type already_seen 1574)
 
 (!type user_struct 1575 
  (!type pointer 1576 nil  gc_used
   (!type already_seen 1575)
  )
  gc_pointed_to "vec<gimple*,va_gc>"
  (!srcfileloc  "tree-phinodes.c" 70)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
   (!pair  "gimple"
    (!type already_seen 280)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
  )
 )
 
 (!type struct 1577 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1578 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type user_struct 1579 nil  gc_unused "value_range_equiv"
  (!srcfileloc  "tree-vrp.h" 78)
  (!fields 0 )
 )
 
 (!type struct 1580 nil  gc_unused "assert_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1121)
 
 (!type already_seen 1114)
 
 (!type already_seen 1122)
 
 (!type already_seen 1113)
 
 (!type already_seen 1111)
 
 (!type already_seen 1117)
 
 (!type struct 1581 nil  gc_used "ipa_vr"
  (!srcfileloc  "ipa-prop.h" 756)
  (!fields 4 
   (!pair  "known"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 297)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 298)
    nil )
   (!pair  "min"
    (!type already_seen 501)
    (!srcfileloc  "ipa-prop.h" 299)
    nil )
   (!pair  "max"
    (!type already_seen 501)
    (!srcfileloc  "ipa-prop.h" 300)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1119)
 
 (!type already_seen 1120)
 
 (!type already_seen 1103)
 
 (!type already_seen 1102)
 
 (!type already_seen 1106)
 
 (!type already_seen 1107)
 
 (!type user_struct 1582 
  (!type pointer 1583 nil  gc_used
   (!type already_seen 1582)
  )
  gc_pointed_to "vec<ipa_bits*,va_gc>"
  (!srcfileloc  "ipa-prop.h" 754)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "ipa_bits"
    (!type already_seen 1116)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
  )
 )
 
 (!type user_struct 1584 
  (!type pointer 1585 nil  gc_used
   (!type already_seen 1584)
  )
  gc_pointed_to "vec<ipa_vr,va_gc>"
  (!srcfileloc  "ipa-prop.h" 756)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
   (!pair  "ipa_vr"
    (!type already_seen 1581)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
 )
 
 (!type struct 1586 
  (!type pointer 1587 nil  gc_used
   (!type already_seen 1586)
  )
  gc_pointed_to "ipcp_transformation"
  (!srcfileloc  "ipa-prop.h" 776)
  (!fields 3 
   (!pair  "agg_values"
    (!type already_seen 1136)
    (!srcfileloc  "ipa-prop.h" 752)
    nil )
   (!pair  "bits"
    (!type already_seen 1583)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "m_vr"
    (!type already_seen 1585)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1129)
 
 (!type already_seen 1131)
 
 (!type user_struct 1588 
  (!type pointer 1589 nil  gc_used
   (!type already_seen 1588)
  )
  gc_pointed_to "ipa_node_params_t"
  (!srcfileloc  "ipa-prop.h" 850)
  (!fields 0 )
 )
 
 (!type user_struct 1590 
  (!type pointer 1591 nil  gc_used
   (!type already_seen 1590)
  )
  gc_pointed_to "ipa_edge_args_sum_t"
  (!srcfileloc  "ipa-prop.h" 872)
  (!fields 0 )
 )
 
 (!type struct 1592 nil  gc_unused "ipcp_transformation_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1593 
  (!type pointer 1594 nil  gc_used
   (!type already_seen 1593)
  )
  gc_pointed_to "function_summary<ipcp_transformation*>"
  (!srcfileloc  "ipa-prop.h" 904)
  (!fields 1 
   (!pair  "ipcp_transformation"
    (!type already_seen 1587)
    (!srcfileloc  "ipa-prop.h" 904)
    nil )
  )
 )
 
 (!type struct 1595 nil  gc_used "tm_wrapper_hasher"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1596 
  (!type pointer 1597 nil  gc_used
   (!type already_seen 1596)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type already_seen 1595)
    (!srcfileloc  "trans-mem.c" 465)
    nil )
  )
 )
 
 (!type struct 1598 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1599 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1600 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1601 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1603 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1604 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1605 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1606 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1607 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1609 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1611 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1612 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1613 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1614 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1615 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4180)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type already_seen 808)
    (!srcfileloc  "trans-mem.c" 4180)
    nil )
  )
 )
 
 (!type struct 1616 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1617 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1618 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1619 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1620 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 345)
 
 (!type struct 1621 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1622 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1623 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1624 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1625 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1626 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 333)
 
 (!type struct 1627 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1628 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 336)
 
 (!type already_seen 340)
 
 (!type already_seen 335)
 
 (!type already_seen 339)
 
 (!type already_seen 341)
 
 (!type already_seen 343)
 
 (!type already_seen 344)
 
 (!type struct 1629 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1630 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1631 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1632 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1633 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "dref_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 588)
 
 (!type already_seen 590)
 
 (!type already_seen 599)
 
 (!type already_seen 601)
 
 (!type already_seen 607)
 
 (!type already_seen 617)
 
 (!type already_seen 619)
 
 (!type already_seen 621)
 
 (!type already_seen 625)
 
 (!type already_seen 627)
 
 (!type already_seen 1159)
 
 (!type already_seen 1158)
 
 (!type already_seen 1156)
 
 (!type struct 1635 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1155)
 
 (!type already_seen 1164)
 
 (!type struct 1636 nil  gc_unused "agg_position_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1163)
 
 (!type struct 1637 nil  gc_unused "ipa_size_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1162)
 
 (!type user_struct 1638 nil  gc_unused "ipa_fn_summary_t"
  (!srcfileloc  "ipa-fnsummary.h" 218)
  (!fields 0 )
 )
 
 (!type user_struct 1639 
  (!type pointer 1640 nil  gc_used
   (!type already_seen 1639)
  )
  gc_pointed_to "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!srcfileloc  "ipa-fnsummary.h" 220)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
   (!pair  "ipa_fn_summary"
    (!type already_seen 1153)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
  )
 )
 
 (!type struct 1641 nil  gc_unused "ipa_size_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1642 nil  gc_unused "ipa_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1643 nil  gc_unused "ipa_call_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1644 nil  gc_unused "ipa_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1645 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1646 nil  gc_unused "vtbl_map_hasher"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1647 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type already_seen 1646)
    (!srcfileloc  "vtable-verify.c" 298)
    nil )
  )
 )
 
 (!type undefined 1648 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type struct 1649 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1650 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1651 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1652 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1653 nil  gc_unused "asan_redzone_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1654 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1655 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1656 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1657 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 58)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 972)
    (!srcfileloc  "ubsan.c" 56)
    nil )
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "ubsan.c" 57)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1658 nil  gc_used "tree_type_map_cache_hasher"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1659 
  (!type pointer 1660 nil  gc_used
   (!type already_seen 1659)
  )
  gc_pointed_to "hash_table<tree_type_map_cache_hasher>"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 1 
   (!pair  "tree_type_map_cache_hasher"
    (!type already_seen 1658)
    (!srcfileloc  "ubsan.c" 82)
    nil )
  )
 )
 
 (!type struct 1661 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1662 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1663 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1664 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1665 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1666 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1667 nil  gc_unused "sanopt_tree_couple"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1668 nil  gc_unused "sanopt_tree_couple_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1669 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1670 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1671 nil  gc_unused "type_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1672 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1172)
 
 (!type struct 1673 nil  gc_unused "odr_name_hasher"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1674 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type already_seen 1673)
    (!srcfileloc  "ipa-devirt.c" 488)
    nil )
  )
 )
 
 (!type user_struct 1675 
  (!type pointer 1676 nil  gc_used
   (!type already_seen 1675)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 495)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
   (!pair  "odr_type"
    (!type already_seen 1171)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
  )
 )
 
 (!type struct 1677 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1678 nil  gc_unused "polymorphic_call_target_hasher"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1679 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type already_seen 1678)
    (!srcfileloc  "ipa-devirt.c" 2742)
    nil )
  )
 )
 
 (!type struct 1680 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1681 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1682 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1683 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1684 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 nil  gc_used "hsa_decl_kernel_map_element"
  (!srcfileloc  "hsa-common.c" 67)
  (!fields 4 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "hsa-common.c" 55)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "hsa-common.c" 57)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "omp_data_size"
    (!type already_seen 2)
    (!srcfileloc  "hsa-common.c" 59)
    nil )
   (!pair  "gridified_kernel_p"
    (!type already_seen 2)
    (!srcfileloc  "hsa-common.c" 61)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1687 
  (!type pointer 1688 nil  gc_used
   (!type already_seen 1687)
  )
  gc_pointed_to "vec<hsa_decl_kernel_map_element,va_gc>"
  (!srcfileloc  "hsa-common.c" 67)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
   (!pair  "hsa_decl_kernel_map_element"
    (!type already_seen 1686)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
  )
 )
 
 (!type struct 1689 nil  gc_unused "arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1690 nil  gc_unused "rdwr_access_hash"
  (!srcfileloc  "calls.c" 1873)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1691 nil  gc_unused "hash_map<rdwr_access_hash,attr_access>"
  (!srcfileloc  "calls.c" 1873)
  (!fields 2 
   (!pair  "attr_access"
    (!type undefined 1692 nil  gc_unused "attr_access"
     (!srcfileloc  "calls.c" 1873)
    )
    (!srcfileloc  "calls.c" 1873)
    nil )
   (!pair  "rdwr_access_hash"
    (!type already_seen 1690)
    (!srcfileloc  "calls.c" 1873)
    nil )
  )
 )
 
 (!type already_seen 1692)
 
 (!type struct 1693 nil  gc_unused "arg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1694 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm-builtins.c:901"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1695 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm-builtins.c:994"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1696 nil  gc_unused "arm_simd_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1697 nil  gc_unused "builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1698 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1699 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1700 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1701 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1702 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1703 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1704 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1705 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1706 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1707 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1708 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1709 nil  gc_used "value_annotation_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1710 
  (!type pointer 1711 nil  gc_used
   (!type already_seen 1710)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type already_seen 1709)
    (!srcfileloc  "ada/gcc-interface/decl.c" 156)
    nil )
  )
 )
 
 (!type user_struct 1712 
  (!type pointer 1713 nil  gc_used
   (!type already_seen 1712)
  )
  gc_pointed_to "vec<Entity_Id,va_gc_atomic>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  (!fields 2 
   (!pair  "va_gc_atomic"
    (!type undefined 1714 nil  gc_unused "va_gc_atomic"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
   (!pair  "Entity_Id"
    (!type undefined 1715 nil  gc_unused "Entity_Id"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
 )
 
 (!type already_seen 1715)
 
 (!type already_seen 1714)
 
 (!type struct 1716 nil  gc_pointed_to "tree_entity_vec_map"
  (!srcfileloc  "ada/gcc-interface/decl.c" 163)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "ada/gcc-interface/decl.c" 161)
    nil )
   (!pair  "to"
    (!type already_seen 1713)
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1717 nil  gc_used "dummy_type_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1718 
  (!type pointer 1719 nil  gc_used
   (!type already_seen 1718)
  )
  gc_pointed_to "hash_table<dummy_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 1 
   (!pair  "dummy_type_hasher"
    (!type already_seen 1717)
    (!srcfileloc  "ada/gcc-interface/decl.c" 197)
    nil )
  )
 )
 
 (!type struct 1720 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/ada/gcc-interface/decl.c:257"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1721 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1722 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 471)
 
 (!type already_seen 469)
 
 (!type struct 1723 
  (!type pointer 1724 nil  gc_used
   (!type already_seen 1723)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 144)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 1724)
    (!srcfileloc  "ada/gcc-interface/trans.c" 140)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 141)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 142)
    nil )
   (!pair  "cleanups"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 143)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type struct 1725 
  (!type pointer 1726 nil  gc_used
   (!type already_seen 1725)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 160)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1726)
    (!srcfileloc  "ada/gcc-interface/trans.c" 157)
    nil )
   (!pair  "elab_proc"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 158)
    nil )
   (!pair  "gnat_node"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 159)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1 nil nil )
 
 (!type struct 1727 
  (!type pointer 1728 nil  gc_used
   (!type already_seen 1727)
  )
  gc_pointed_to "range_check_info_d"
  (!srcfileloc  "ada/gcc-interface/trans.c" 192)
  (!fields 7 
   (!pair  "low_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 185)
    nil )
   (!pair  "high_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 186)
    nil )
   (!pair  "disp"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 187)
    nil )
   (!pair  "neg_p"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 188)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 189)
    nil )
   (!pair  "invariant_cond"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 190)
    nil )
   (!pair  "inserted_cond"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 191)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1729 
  (!type pointer 1730 nil  gc_used
   (!type already_seen 1729)
  )
  gc_pointed_to "vec<range_check_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
   (!pair  "range_check_info"
    (!type already_seen 1728)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
 )
 
 (!type struct 1731 
  (!type pointer 1732 nil  gc_used
   (!type already_seen 1731)
  )
  gc_pointed_to "loop_info_d"
  (!srcfileloc  "ada/gcc-interface/trans.c" 207)
  (!fields 8 
   (!pair  "stmt"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 199)
    nil )
   (!pair  "loop_var"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 200)
    nil )
   (!pair  "low_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 201)
    nil )
   (!pair  "high_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 202)
    nil )
   (!pair  "omp_loop_clauses"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 203)
    nil )
   (!pair  "omp_construct_clauses"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 204)
    nil )
   (!pair  "omp_code"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 205)
    nil )
   (!pair  "checks"
    (!type already_seen 1730)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1733 
  (!type pointer 1734 nil  gc_used
   (!type already_seen 1733)
  )
  gc_pointed_to "vec<loop_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
   (!pair  "loop_info"
    (!type already_seen 1732)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
  )
 )
 
 (!type struct 1735 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1736 
  (!type pointer 1737 nil  gc_used
   (!type already_seen 1736)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 241)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 1737)
    (!srcfileloc  "ada/gcc-interface/utils.c" 235)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 237)
    nil )
   (!pair  "jmpbuf_decl"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 240)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.chain")
  )
  1 nil nil )
 
 (!type struct 1738 nil  gc_pointed_to "pad_type_hash"
  (!srcfileloc  "ada/gcc-interface/utils.c" 268)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/utils.c" 266)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 267)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1739 nil  gc_used "pad_type_hasher"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1740 
  (!type pointer 1741 nil  gc_used
   (!type already_seen 1740)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type already_seen 1739)
    (!srcfileloc  "ada/gcc-interface/utils.c" 282)
    nil )
  )
 )
 
 (!type struct 1742 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1743 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 633)
 
 (!type struct 1744 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1745 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1746 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1747 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 465)
 
 (!type struct 1748 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1749 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1750 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1751 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 649)
 
 (!type struct 1752 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 453)
 
 (!type already_seen 648)
 
 (!type already_seen 646)
 
 (!type already_seen 645)
 
 (!type already_seen 642)
 
 (!type already_seen 651)
 
 (!type already_seen 655)
 
 (!type already_seen 653)
 
 (!type struct 1753 
  (!type pointer 1754 nil  gc_used
   (!type already_seen 1753)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 554)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-decl.c" 541)
    nil )
   (!pair  "function"
    (!type already_seen 23)
    (!srcfileloc  "c/c-decl.c" 544)
    nil )
   (!pair  "static_decl"
    (!type already_seen 23)
    (!srcfileloc  "c/c-decl.c" 547)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "c/c-decl.c" 550)
    nil )
   (!pair  "next"
    (!type already_seen 1754)
    (!srcfileloc  "c/c-decl.c" 553)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type already_seen 547)
 
 (!type struct 1755 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1756 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1757 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1758 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1759 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1760 nil  gc_unused "nonnull_arg_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1761 
  (!type pointer 1762 nil  gc_used
   (!type already_seen 1761)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 5524)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-common.c" 5524)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-common.c" 5524)
    nil )
  )
 )
 
 (!type user_struct 1763 
  (!type pointer 1764 nil  gc_used
   (!type already_seen 1763)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-common.c" 7804)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 84)
    (!srcfileloc  "c-family/c-common.c" 7804)
    nil )
  )
 )
 
 (!type user_struct 1765 nil  gc_unused "hash_set<char*,false,nofree_string_hash>"
  (!srcfileloc  "c-family/c-common.c" 8753)
  (!fields 2 
   (!pair  "nofree_string_hash"
    (!type undefined 1766 nil  gc_unused "nofree_string_hash"
     (!srcfileloc  "c-family/c-common.c" 8753)
    )
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
   (!pair  "false"
    (!type already_seen 876)
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
  )
 )
 
 (!type already_seen 1766)
 
 (!type user_struct 1767 nil  gc_unused "hash_map<char*,per_file_includes_t*>"
  (!srcfileloc  "c-family/c-common.c" 8758)
  (!fields 1 
   (!pair  "per_file_includes_t"
    (!type pointer 1768 nil  gc_unused
     (!type struct 1769 
      (!type already_seen 1768)
      gc_unused "per_file_includes_t"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "c-family/c-common.c" 8758)
    nil )
  )
 )
 
 (!type already_seen 1769)
 
 (!type struct 1770 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 452)
 
 (!type struct 1771 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1772 nil  gc_unused "substring_loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1773 nil  gc_unused "wide_int_bitmask"
  (!srcfileloc  "c-family/c-common.h" 1156)
 )
 
 (!type already_seen 679)
 
 (!type struct 1774 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1626)
  (!fields 4 
   (!pair  "hex_str"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1622)
    nil )
   (!pair  "mode"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1623)
    nil )
   (!pair  "digits"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1624)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1625)
    nil )
  )
  nil 1548 nil nil )
 
 (!type union 1775 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1776 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1777 
  (!type pointer 1778 nil  gc_used
   (!type already_seen 1777)
  )
  gc_pointed_to "align_stack"
  (!srcfileloc  "c-family/c-pragma.c" 47)
  (!fields 3 
   (!pair  "alignment"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-pragma.c" 44)
    nil )
   (!pair  "id"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 45)
    nil )
   (!pair  "prev"
    (!type already_seen 1778)
    (!srcfileloc  "c-family/c-pragma.c" 46)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1779 nil  gc_used "pending_weak"
  (!srcfileloc  "c-family/c-pragma.c" 241)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 236)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 237)
    nil )
  )
  nil 1548 nil nil )
 
 (!type user_struct 1780 
  (!type pointer 1781 nil  gc_used
   (!type already_seen 1780)
  )
  gc_pointed_to "vec<pending_weak,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 241)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
   (!pair  "pending_weak"
    (!type already_seen 1779)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
  )
 )
 
 (!type struct 1782 nil  gc_used "pending_redefinition"
  (!srcfileloc  "c-family/c-pragma.c" 487)
  (!fields 2 
   (!pair  "oldname"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 482)
    nil )
   (!pair  "newname"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 483)
    nil )
  )
  nil 1548 nil nil )
 
 (!type user_struct 1783 
  (!type pointer 1784 nil  gc_used
   (!type already_seen 1783)
  )
  gc_pointed_to "vec<pending_redefinition,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 487)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
   (!pair  "pending_redefinition"
    (!type already_seen 1782)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
  )
 )
 
 (!type struct 1785 
  (!type pointer 1786 nil  gc_used
   (!type already_seen 1785)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 1006)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 1786)
    (!srcfileloc  "c-family/c-pragma.c" 1001)
    nil )
   (!pair  "target_binary"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1002)
    nil )
   (!pair  "target_strings"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1003)
    nil )
   (!pair  "optimize_binary"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1004)
    nil )
   (!pair  "optimize_strings"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1005)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1787 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1788 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1789 nil  gc_unused "function_format_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1790 nil  gc_unused "format_wanted_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1791 nil  gc_unused "format_check_results"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1792 nil  gc_unused "format_check_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1793 nil  gc_unused "flag_chars_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1794 nil  gc_unused "length_modifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1795 nil  gc_unused "argument_parser"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1796 nil  gc_unused "baltoks_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1797 nil  gc_unused "token_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1798 nil  gc_unused "indirection_suffix"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1799 nil  gc_unused "range_label_for_format_type_mismatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1800 
  (!type pointer 1801 nil  gc_unused
   (!type already_seen 1800)
  )
  gc_used "c_token"
  (!srcfileloc  "c/c-parser.c" 173)
  (!fields 7 
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 55)
    nil )
   (!pair  "id_kind"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 58)
    nil )
   (!pair  "keyword"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 61)
    nil )
   (!pair  "pragma_kind"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 64)
    nil )
   (!pair  "location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 66)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "c/c-parser.h" 68)
    nil )
   (!pair  "flags"
    (!type already_seen 8)
    (!srcfileloc  "c/c-parser.h" 70)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 1802 
  (!type pointer 1803 nil  gc_used
   (!type already_seen 1802)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 258)
  (!fields 16 
   (!pair  "tokens"
    (!type already_seen 1801)
    (!srcfileloc  "c/c-parser.c" 173)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 1804 nil  gc_used "4" 
     (!type already_seen 1800)
    )
    (!srcfileloc  "c/c-parser.c" 175)
    nil )
   (!pair  "tokens_avail"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 178)
    nil )
   (!pair  "raw_tokens"
    (!type pointer 1805 nil  gc_used
     (!type user_struct 1806 
      (!type already_seen 1805)
      gc_pointed_to "vec<c_token,va_gc>"
      (!srcfileloc  "c/c-parser.c" 181)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "c/c-parser.c" 181)
        nil )
       (!pair  "c_token"
        (!type already_seen 1800)
        (!srcfileloc  "c/c-parser.c" 181)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 181)
    nil )
   (!pair  "raw_tokens_used"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 184)
    nil )
   (!pair  "error"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 188)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 191)
    nil )
   (!pair  "in_if_block"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 193)
    nil )
   (!pair  "lex_joined_string"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 198)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 202)
    nil )
   (!pair  "objc_pq_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 208)
    nil )
   (!pair  "objc_could_be_foreach_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 213)
    nil )
   (!pair  "objc_need_raw_identifier"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 218)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 221)
    nil )
   (!pair  "objc_property_attr_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 224)
    nil )
   (!pair  "last_token_location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 227)
    nil )
  )
  nil 516 nil nil )
 
 (!type already_seen 1806)
 
 (!type struct 1807 nil  gc_unused "token_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1808 nil  gc_unused "matching_paren_traits"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1809 nil  gc_unused "token_pair<matching_paren_traits>"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 1 
   (!pair  "matching_paren_traits"
    (!type already_seen 1808)
    (!srcfileloc  "c/c-parser.c" 1076)
    nil )
  )
 )
 
 (!type struct 1810 nil  gc_unused "matching_brace_traits"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1811 nil  gc_unused "token_pair<matching_brace_traits>"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 1 
   (!pair  "matching_brace_traits"
    (!type already_seen 1810)
    (!srcfileloc  "c/c-parser.c" 1094)
    nil )
  )
 )
 
 (!type struct 1812 nil  gc_unused "oacc_routine_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1813 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/c/c-parser.c:7830"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1814 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 463)
 
 (!type already_seen 541)
 
 (!type already_seen 544)
 
 (!type already_seen 90)
 
 (!type already_seen 83)
 
 (!type struct 1815 nil  gc_used "cxx_saved_binding"
  (!srcfileloc  "cp/cp-tree.h" 1687)
  (!fields 3 
   (!pair  "identifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/name-lookup.h" 82)
    nil )
   (!pair  "binding"
    (!type already_seen 89)
    (!srcfileloc  "cp/name-lookup.h" 84)
    nil )
   (!pair  "real_type_value"
    (!type already_seen 23)
    (!srcfileloc  "cp/name-lookup.h" 85)
    nil )
  )
  nil 1032 nil nil )
 
 (!type already_seen 88)
 
 (!type already_seen 87)
 
 (!type struct 1816 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 662)
 
 (!type already_seen 663)
 
 (!type already_seen 665)
 
 (!type struct 1817 nil  gc_unused "ovl_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1818 nil  gc_unused "lkp_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 93)
 
 (!type struct 1819 nil  gc_unused "releasing_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 667)
 
 (!type already_seen 666)
 
 (!type already_seen 71)
 
 (!type already_seen 668)
 
 (!type already_seen 669)
 
 (!type already_seen 670)
 
 (!type already_seen 671)
 
 (!type already_seen 672)
 
 (!type already_seen 673)
 
 (!type already_seen 677)
 
 (!type already_seen 676)
 
 (!type already_seen 674)
 
 (!type already_seen 678)
 
 (!type user_struct 1820 
  (!type pointer 1821 nil  gc_used
   (!type already_seen 1820)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1687)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
   (!pair  "cxx_saved_binding"
    (!type already_seen 1815)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
  )
 )
 
 (!type struct 1822 
  (!type pointer 1823 nil  gc_used
   (!type already_seen 1822)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1731)
  (!fields 31 
   (!pair  "old_bindings"
    (!type already_seen 1821)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1688)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 84)
    (!srcfileloc  "cp/cp-tree.h" 1689)
    nil )
   (!pair  "class_name"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1690)
    nil )
   (!pair  "class_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1691)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1692)
    nil )
   (!pair  "function_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1693)
    nil )
   (!pair  "lang_base"
    (!type already_seen 84)
    (!srcfileloc  "cp/cp-tree.h" 1694)
    nil )
   (!pair  "lang_name"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1695)
    nil )
   (!pair  "template_parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1696)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1697)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1698)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1701)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1702)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1704)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1705)
    nil )
   (!pair  "x_processing_constraint"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1706)
    nil )
   (!pair  "suppress_location_wrappers"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1707)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1708)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1709)
    nil )
   (!pair  "discarded_stmt"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1713)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1715)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1716)
    nil )
   (!pair  "noexcept_operand"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1717)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1720)
    nil )
   (!pair  "ref_temp_count"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1721)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 453)
    (!srcfileloc  "cp/cp-tree.h" 1723)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1725)
    nil )
   (!pair  "bindings"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1726)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 398)
    (!srcfileloc  "cp/cp-tree.h" 1728)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "prev"
    (!type already_seen 1823)
    (!srcfileloc  "cp/cp-tree.h" 1730)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1824 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1825 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1826 nil  gc_unused "iloc_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1827 nil  gc_unused "temp_override"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1828 nil  gc_pointed_to "cxx_int_tree_map"
  (!srcfileloc  "cp/cp-tree.h" 1869)
  (!fields 2 
   (!pair  "uid"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1867)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1868)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type already_seen 460)
 
 (!type struct 1829 
  (!type pointer 1830 nil  gc_used
   (!type already_seen 1829)
  )
  gc_pointed_to "named_label_entry"
  (!srcfileloc  "cp/decl.c" 219)
  (!fields 12 
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 188)
    nil )
   (!pair  "label_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 190)
    nil )
   (!pair  "outer"
    (!type already_seen 1830)
    (!srcfileloc  "cp/decl.c" 192)
    nil )
   (!pair  "binding_level"
    (!type already_seen 82)
    (!srcfileloc  "cp/decl.c" 197)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 202)
    nil )
   (!pair  "bad_decls"
    (!type already_seen 84)
    (!srcfileloc  "cp/decl.c" 206)
    nil )
   (!pair  "uses"
    (!type pointer 1831 nil  gc_used
     (!type struct 1832 
      (!type already_seen 1831)
      gc_pointed_to "named_label_use_entry"
      (!srcfileloc  "cp/decl.c" 209)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1831)
        (!srcfileloc  "cp/decl.c" 165)
        nil )
       (!pair  "binding_level"
        (!type already_seen 82)
        (!srcfileloc  "cp/decl.c" 169)
        nil )
       (!pair  "names_in_scope"
        (!type already_seen 23)
        (!srcfileloc  "cp/decl.c" 173)
        nil )
       (!pair  "o_goto_locus"
        (!type already_seen 2)
        (!srcfileloc  "cp/decl.c" 175)
        nil )
       (!pair  "in_omp_scope"
        (!type already_seen 2)
        (!srcfileloc  "cp/decl.c" 179)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      1032 nil nil )
    )
    (!srcfileloc  "cp/decl.c" 209)
    nil )
   (!pair  "in_try_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 214)
    nil )
   (!pair  "in_catch_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 215)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 216)
    nil )
   (!pair  "in_transaction_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 217)
    nil )
   (!pair  "in_constexpr_if"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 218)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type already_seen 457)
 
 (!type already_seen 456)
 
 (!type already_seen 459)
 
 (!type already_seen 538)
 
 (!type already_seen 537)
 
 (!type already_seen 65)
 
 (!type already_seen 66)
 
 (!type already_seen 68)
 
 (!type already_seen 69)
 
 (!type already_seen 67)
 
 (!type already_seen 92)
 
 (!type already_seen 81)
 
 (!type already_seen 94)
 
 (!type already_seen 95)
 
 (!type already_seen 64)
 
 (!type struct 1833 nil  gc_unused "aggr_init_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1834 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1835 nil  gc_unused "cp_evaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1836 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1837 nil  gc_used "ovl_op_info_t"
  (!srcfileloc  "cp/cp-tree.h" 5866)
  (!fields 6 
   (!pair  "identifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 5852)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "cp/cp-tree.h" 5854)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 11)
    (!srcfileloc  "cp/cp-tree.h" 5856)
    nil )
   (!pair  "tree_code"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5858)
    nil )
   (!pair  "ovl_op_code"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5860)
    nil )
   (!pair  "flags"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5862)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1838 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1839 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1840 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1841 
  (!type pointer 1842 nil  gc_used
   (!type already_seen 1841)
  )
  gc_pointed_to "tinst_level"
  (!srcfileloc  "cp/pt.c" 9369)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1842)
    (!srcfileloc  "cp/cp-tree.h" 6145)
    nil )
   (!pair  "tldcl"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 6157)
    nil )
   (!pair  "targs"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 6157)
    nil )
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6202)
    nil )
   (!pair  "errors"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6205)
    nil )
   (!pair  "refcount"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6213)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 1843 nil  gc_unused "access_failure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1844 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 80)
 
 (!type struct 1845 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1846 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1847 nil  gc_unused "diagnosing_failed_constraint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1848 nil  gc_unused "processing_constraint_expression_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 78)
 
 (!type already_seen 76)
 
 (!type already_seen 74)
 
 (!type already_seen 73)
 
 (!type user_struct 1849 
  (!type pointer 1850 nil  gc_used
   (!type already_seen 1849)
  )
  gc_pointed_to "vec<cp_token,va_gc>"
  (!srcfileloc  "cp/parser.h" 86)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
   (!pair  "cp_token"
    (!type already_seen 73)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
  )
 )
 
 (!type user_struct 1851 nil  gc_unused "vec<cp_token_position>"
  (!srcfileloc  "cp/parser.h" 100)
  (!fields 1 
   (!pair  "cp_token_position"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 100)
    nil )
  )
 )
 
 (!type struct 1852 
  (!type pointer 1853 nil  gc_used
   (!type already_seen 1852)
  )
  gc_pointed_to "cp_lexer"
  (!srcfileloc  "cp/parser.h" 223)
  (!fields 9 
   (!pair  "buffer"
    (!type already_seen 1850)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
   (!pair  "last_token"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 90)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "next_token"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 94)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "saved_tokens"
    (!type already_seen 1851)
    (!srcfileloc  "cp/parser.h" 100)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "saved_type"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 103)
    nil )
   (!pair  "saved_keyword"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 104)
    nil )
   (!pair  "next"
    (!type already_seen 1853)
    (!srcfileloc  "cp/parser.h" 107)
    nil )
   (!pair  "debugging_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 110)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 114)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1854 nil  gc_unused "cp_token_ident"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1855 nil  gc_used "cp_default_arg_entry"
  (!srcfileloc  "cp/parser.h" 160)
  (!fields 2 
   (!pair  "class_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 148)
    nil )
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 151)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1856 
  (!type pointer 1857 nil  gc_used
   (!type already_seen 1856)
  )
  gc_pointed_to "vec<cp_default_arg_entry,va_gc>"
  (!srcfileloc  "cp/parser.h" 160)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
   (!pair  "cp_default_arg_entry"
    (!type already_seen 1855)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
  )
 )
 
 (!type struct 1858 nil  gc_used "cp_unparsed_functions_entry"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 4 
   (!pair  "funs_with_default_args"
    (!type already_seen 1857)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
   (!pair  "funs_with_definitions"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 164)
    nil )
   (!pair  "nsdmis"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 168)
    nil )
   (!pair  "noexcepts"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 171)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1859 
  (!type pointer 1860 nil  gc_used
   (!type already_seen 1859)
  )
  gc_pointed_to "cp_parser_context"
  (!srcfileloc  "cp/parser.h" 257)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 193)
    nil )
   (!pair  "object_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 198)
    nil )
   (!pair  "next"
    (!type already_seen 1860)
    (!srcfileloc  "cp/parser.h" 201)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1861 
  (!type pointer 1862 nil  gc_unused
   (!type already_seen 1861)
  )
  gc_unused "cp_omp_declare_simd_data"
  (!srcfileloc  "cp/parser.h" 375)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1863 
  (!type pointer 1864 nil  gc_unused
   (!type already_seen 1863)
  )
  gc_unused "cp_oacc_routine_data"
  (!srcfileloc  "cp/parser.h" 379)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1865 
  (!type pointer 1866 nil  gc_used
   (!type already_seen 1865)
  )
  gc_pointed_to "vec<cp_unparsed_functions_entry,va_gc>"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
   (!pair  "cp_unparsed_functions_entry"
    (!type already_seen 1858)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
  )
 )
 
 (!type struct 1867 
  (!type pointer 1868 nil  gc_used
   (!type already_seen 1867)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.c" 43522)
  (!fields 37 
   (!pair  "lexer"
    (!type already_seen 1853)
    (!srcfileloc  "cp/parser.h" 223)
    nil )
   (!pair  "scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 238)
    nil )
   (!pair  "object_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 245)
    nil )
   (!pair  "qualifying_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 246)
    nil )
   (!pair  "context"
    (!type already_seen 1860)
    (!srcfileloc  "cp/parser.h" 257)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 261)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 268)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 273)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 277)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 283)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 287)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 294)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 299)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 303)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 306)
    nil )
   (!pair  "in_statement"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 318)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 329)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 333)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 337)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 341)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 344)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 350)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 11)
    (!srcfileloc  "cp/parser.h" 355)
    nil )
   (!pair  "type_definition_forbidden_message_arg"
    (!type already_seen 11)
    (!srcfileloc  "cp/parser.h" 358)
    nil )
   (!pair  "unparsed_queues"
    (!type already_seen 1866)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 367)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 371)
    nil )
   (!pair  "omp_declare_simd"
    (!type already_seen 1862)
    (!srcfileloc  "cp/parser.h" 375)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "oacc_routine"
    (!type already_seen 1864)
    (!srcfileloc  "cp/parser.h" 379)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 383)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 388)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 396)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 82)
    (!srcfileloc  "cp/parser.h" 403)
    nil )
   (!pair  "in_result_type_constraint_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 408)
    nil )
   (!pair  "prevent_constrained_type_specifiers"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 412)
    nil )
   (!pair  "innermost_linkage_specification_location"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 416)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1869 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1870 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1871 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1872 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1873 nil  gc_unused "dealloc_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1874 nil  gc_unused "NonPublicField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1875 nil  gc_unused "NonTrivialField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1876 
  (!type pointer 1877 nil  gc_unused
   (!type already_seen 1876)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1878 nil  gc_unused "vtbl_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1879 nil  gc_unused "flexmems_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1880 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1881 nil  gc_unused "find_final_overrider_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1882 
  (!type pointer 1883 nil  gc_used
   (!type already_seen 1882)
  )
  gc_pointed_to "hash_map<tree,int>"
  (!srcfileloc  "cp/class.c" 3302)
  (!fields 2 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "cp/class.c" 3302)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/class.c" 3302)
    nil )
  )
 )
 
 (!type struct 1884 nil  gc_unused "secondary_vptr_vtt_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1885 
  (!type pointer 1886 nil  gc_used
   (!type already_seen 1885)
  )
  gc_pointed_to "constexpr_fundef"
  (!srcfileloc  "cp/constexpr.c" 1002)
  (!fields 4 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 141)
    nil )
   (!pair  "body"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 142)
    nil )
   (!pair  "parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 143)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 144)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1887 nil  gc_used "constexpr_fundef_hasher"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1888 
  (!type pointer 1889 nil  gc_used
   (!type already_seen 1888)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type already_seen 1887)
    (!srcfileloc  "cp/constexpr.c" 156)
    nil )
  )
 )
 
 (!type struct 1890 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 1015)
  (!fields 5 
   (!pair  "fundef"
    (!type already_seen 1886)
    (!srcfileloc  "cp/constexpr.c" 1002)
    nil )
   (!pair  "bindings"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 1004)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 1009)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "cp/constexpr.c" 1012)
    nil )
   (!pair  "manifestly_const_eval"
    (!type already_seen 2)
    (!srcfileloc  "cp/constexpr.c" 1014)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1891 nil  gc_used "constexpr_call_hasher"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1892 nil  gc_unused "constexpr_global_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1893 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1894 
  (!type pointer 1895 nil  gc_used
   (!type already_seen 1894)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type already_seen 1891)
    (!srcfileloc  "cp/constexpr.c" 1100)
    nil )
  )
 )
 
 (!type struct 1896 nil  gc_unused "replace_result_decl_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1897 nil  gc_unused "free_bindings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1898 nil  gc_unused "check_for_return_continue_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1899 nil  gc_unused "subst_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1900 nil  gc_unused "norm_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1901 nil  gc_pointed_to "sat_entry"
  (!srcfileloc  "cp/constraint.cc" 2289)
  (!fields 3 
   (!pair  "constr"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2286)
    nil )
   (!pair  "args"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2287)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2288)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1902 nil  gc_used "sat_hasher"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1903 
  (!type pointer 1904 nil  gc_used
   (!type already_seen 1903)
  )
  gc_pointed_to "hash_table<sat_hasher>"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 1 
   (!pair  "sat_hasher"
    (!type already_seen 1902)
    (!srcfileloc  "cp/constraint.cc" 2308)
    nil )
  )
 )
 
 (!type struct 1905 nil  gc_unused "satisfaction_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1906 nil  gc_pointed_to "coroutine_info"
  (!srcfileloc  "cp/coroutines.cc" 97)
  (!fields 9 
   (!pair  "function_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 84)
    nil )
   (!pair  "promise_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 85)
    nil )
   (!pair  "handle_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 86)
    nil )
   (!pair  "self_h_proxy"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 87)
    nil )
   (!pair  "promise_proxy"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 90)
    nil )
   (!pair  "return_void"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 91)
    nil )
   (!pair  "first_coro_keyword"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 92)
    nil )
   (!pair  "coro_ret_type_error_emitted"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 95)
    nil )
   (!pair  "coro_promise_error_emitted"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 96)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1907 nil  gc_used "coroutine_info_hasher"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1908 
  (!type pointer 1909 nil  gc_used
   (!type already_seen 1908)
  )
  gc_pointed_to "hash_table<coroutine_info_hasher>"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 1 
   (!pair  "coroutine_info_hasher"
    (!type already_seen 1907)
    (!srcfileloc  "cp/coroutines.cc" 111)
    nil )
  )
 )
 
 (!type struct 1910 nil  gc_unused "proxy_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1911 nil  gc_unused "coro_ret_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1912 nil  gc_unused "coro_aw_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1913 nil  gc_unused "suspend_point_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1914 nil  gc_unused "await_xform_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1915 nil  gc_unused "param_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1916 nil  gc_unused "local_var_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1917 nil  gc_unused "local_vars_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1918 nil  gc_unused "susp_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1919 nil  gc_unused "truth_if_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1920 nil  gc_unused "param_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1921 nil  gc_unused "local_vars_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1922 nil  gc_unused "cp_genericize_omp_taskreg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1923 nil  gc_unused "cp_genericize_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1924 nil  gc_pointed_to "source_location_table_entry"
  (!srcfileloc  "cp/cp-gimplify.c" 3149)
  (!fields 3 
   (!pair  "loc"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-gimplify.c" 3146)
    nil )
   (!pair  "uid"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-gimplify.c" 3147)
    nil )
   (!pair  "var"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-gimplify.c" 3148)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1925 nil  gc_used "source_location_table_entry_hash"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1926 
  (!type pointer 1927 nil  gc_used
   (!type already_seen 1926)
  )
  gc_pointed_to "hash_table<source_location_table_entry_hash>"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 1 
   (!pair  "source_location_table_entry_hash"
    (!type already_seen 1925)
    (!srcfileloc  "cp/cp-gimplify.c" 3210)
    nil )
  )
 )
 
 (!type already_seen 1832)
 
 (!type struct 1928 nil  gc_used "incomplete_var"
  (!srcfileloc  "cp/decl.c" 247)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 242)
    nil )
   (!pair  "incomplete_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 243)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1929 
  (!type pointer 1930 nil  gc_used
   (!type already_seen 1929)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 247)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
   (!pair  "incomplete_var"
    (!type already_seen 1928)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
  )
 )
 
 (!type struct 1931 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1932 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1933 nil  gc_used "typename_hasher"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1934 
  (!type pointer 1935 nil  gc_used
   (!type already_seen 1934)
  )
  gc_pointed_to "hash_table<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type already_seen 1933)
    (!srcfileloc  "cp/decl.c" 3825)
    nil )
  )
 )
 
 (!type struct 1936 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1937 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1938 
  (!type pointer 1939 nil  gc_unused
   (!type already_seen 1938)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1940 nil  gc_used "mangled_decl_hash"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1941 
  (!type pointer 1942 nil  gc_used
   (!type already_seen 1941)
  )
  gc_pointed_to "hash_table<mangled_decl_hash>"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 1 
   (!pair  "mangled_decl_hash"
    (!type already_seen 1940)
    (!srcfileloc  "cp/decl2.c" 139)
    nil )
  )
 )
 
 (!type struct 1943 nil  gc_used "pending_noexcept"
  (!srcfileloc  "cp/except.c" 1160)
  (!fields 2 
   (!pair  "fn"
    (!type already_seen 23)
    (!srcfileloc  "cp/except.c" 1157)
    nil )
   (!pair  "loc"
    (!type already_seen 2)
    (!srcfileloc  "cp/except.c" 1158)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1944 
  (!type pointer 1945 nil  gc_used
   (!type already_seen 1944)
  )
  gc_pointed_to "vec<pending_noexcept,va_gc>"
  (!srcfileloc  "cp/except.c" 1160)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
   (!pair  "pending_noexcept"
    (!type already_seen 1943)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
  )
 )
 
 (!type struct 1946 nil  gc_used "tree_int"
  (!srcfileloc  "cp/lambda.c" 1361)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 23)
    (!srcfileloc  "cp/lambda.c" 1358)
    nil )
   (!pair  "i"
    (!type already_seen 2)
    (!srcfileloc  "cp/lambda.c" 1359)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1947 
  (!type pointer 1948 nil  gc_used
   (!type already_seen 1947)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/lambda.c" 1361)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
   (!pair  "tree_int"
    (!type already_seen 1946)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
  )
 )
 
 (!type struct 1949 nil  gc_unused "impl_files"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1950 nil  gc_used "conv_type_hasher"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1951 
  (!type pointer 1952 nil  gc_used
   (!type already_seen 1951)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type already_seen 1950)
    (!srcfileloc  "cp/lex.c" 613)
    nil )
  )
 )
 
 (!type struct 1953 nil  gc_unused "constraint_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1954 nil  gc_unused "clause"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1955 nil  gc_unused "formula"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1956 nil  gc_pointed_to "subsumption_entry"
  (!srcfileloc  "cp/logic.cc" 791)
  (!fields 3 
   (!pair  "lhs"
    (!type already_seen 23)
    (!srcfileloc  "cp/logic.cc" 788)
    nil )
   (!pair  "rhs"
    (!type already_seen 23)
    (!srcfileloc  "cp/logic.cc" 789)
    nil )
   (!pair  "result"
    (!type already_seen 2)
    (!srcfileloc  "cp/logic.cc" 790)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1957 nil  gc_used "subsumption_hasher"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1958 
  (!type pointer 1959 nil  gc_used
   (!type already_seen 1958)
  )
  gc_pointed_to "hash_table<subsumption_hasher>"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 1 
   (!pair  "subsumption_hasher"
    (!type already_seen 1957)
    (!srcfileloc  "cp/logic.cc" 817)
    nil )
  )
 )
 
 (!type struct 1960 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 122)
  (!fields 5 
   (!pair  "substitutions"
    (!type already_seen 84)
    (!srcfileloc  "cp/mangle.c" 106)
    nil )
   (!pair  "entity"
    (!type already_seen 23)
    (!srcfileloc  "cp/mangle.c" 109)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 112)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 116)
    nil )
   (!pair  "need_cxx17_warning"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 119)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1961 nil  gc_unused "comp_cat_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1962 nil  gc_unused "comp_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1963 nil  gc_unused "name_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1964 nil  gc_unused "namespace_limit_reached"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1965 nil  gc_unused "show_candidate_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1966 nil  gc_unused "suggest_alternatives"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1967 nil  gc_unused "namespace_hints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1968 nil  gc_unused "std_name_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1969 nil  gc_unused "missing_std_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1970 nil  gc_unused "macro_use_before_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1971 nil  gc_unused "type_id_in_expr_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1972 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1973 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1974 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1975 nil  gc_unused "tentative_firewall"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1976 nil  gc_unused "scope_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1977 nil  gc_unused "class_decl_loc_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1978 nil  gc_unused "class_to_loc_map_t::iterator"
  (!srcfileloc  "cp/parser.c" 31477)
 )
 
 (!type struct 1979 
  (!type pointer 1980 nil  gc_used
   (!type already_seen 1979)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 9378)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 1980)
    (!srcfileloc  "cp/pt.c" 56)
    nil )
   (!pair  "tinst"
    (!type already_seen 1842)
    (!srcfileloc  "cp/pt.c" 57)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 1981 nil  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 111)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 108)
    nil )
   (!pair  "args"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 109)
    nil )
   (!pair  "spec"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 110)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1982 nil  gc_used "spec_hasher"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1983 
  (!type pointer 1984 nil  gc_used
   (!type already_seen 1983)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type already_seen 1982)
    (!srcfileloc  "cp/pt.c" 119)
    nil )
  )
 )
 
 (!type struct 1985 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1986 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1987 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1988 nil  gc_unused "freelist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1989 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1990 nil  gc_unused "find_template_parameter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1991 nil  gc_unused "el_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1992 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1993 
  (!type pointer 1994 nil  gc_used
   (!type already_seen 1993)
  )
  gc_pointed_to "hash_map<tree,tree_pair_p>"
  (!srcfileloc  "cp/pt.c" 28697)
  (!fields 2 
   (!pair  "tree_pair_p"
    (!type already_seen 539)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
  )
 )
 
 (!type struct 1995 nil  gc_used "tinfo_s"
  (!srcfileloc  "cp/rtti.c" 122)
  (!fields 3 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 65)
    nil )
   (!pair  "vtable"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 67)
    nil )
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 70)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1996 
  (!type pointer 1997 nil  gc_used
   (!type already_seen 1996)
  )
  gc_pointed_to "vec<tinfo_s,va_gc>"
  (!srcfileloc  "cp/rtti.c" 122)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
   (!pair  "tinfo_s"
    (!type already_seen 1995)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
  )
 )
 
 (!type struct 1998 nil  gc_used "deferred_access"
  (!srcfileloc  "cp/semantics.c" 138)
  (!fields 2 
   (!pair  "deferred_access_checks"
    (!type already_seen 77)
    (!srcfileloc  "cp/semantics.c" 130)
    nil )
   (!pair  "deferring_access_checks_kind"
    (!type already_seen 2)
    (!srcfileloc  "cp/semantics.c" 133)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1999 
  (!type pointer 2000 nil  gc_used
   (!type already_seen 1999)
  )
  gc_pointed_to "vec<deferred_access,va_gc>"
  (!srcfileloc  "cp/semantics.c" 138)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
   (!pair  "deferred_access"
    (!type already_seen 1998)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
  )
 )
 
 (!type struct 2001 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2002 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2003 nil  gc_used "cplus_array_hasher"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2004 
  (!type pointer 2005 nil  gc_used
   (!type already_seen 2004)
  )
  gc_pointed_to "hash_table<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type already_seen 2003)
    (!srcfileloc  "cp/tree.c" 979)
    nil )
  )
 )
 
 (!type struct 2006 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2007 nil  gc_used "list_hasher"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2008 
  (!type pointer 2009 nil  gc_used
   (!type already_seen 2008)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 1 
   (!pair  "list_hasher"
    (!type already_seen 2007)
    (!srcfileloc  "cp/tree.c" 2060)
    nil )
  )
 )
 
 (!type struct 2010 nil  gc_unused "bot_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2011 nil  gc_unused "replace_placeholders_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2012 
  (!type pointer 2013 nil  gc_used
   (!type already_seen 2012)
  )
  gc_pointed_to "pending_abstract_type"
  (!srcfileloc  "cp/typeck2.c" 147)
  (!fields 5 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/typeck2.c" 133)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "cp/typeck2.c" 136)
    nil )
   (!pair  "use"
    (!type already_seen 2)
    (!srcfileloc  "cp/typeck2.c" 139)
    nil )
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "cp/typeck2.c" 143)
    nil )
   (!pair  "next"
    (!type already_seen 2013)
    (!srcfileloc  "cp/typeck2.c" 146)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 2014 nil  gc_used "abstract_type_hasher"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2015 
  (!type pointer 2016 nil  gc_used
   (!type already_seen 2015)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type already_seen 2014)
    (!srcfileloc  "cp/typeck2.c" 178)
    nil )
  )
 )
 
 (!type struct 2017 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2018 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2019 nil  gc_unused "Dsymbol"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 62)
 
 (!type already_seen 640)
 
 (!type struct 2020 nil  gc_unused "ClassDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2021 nil  gc_unused "EnumDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 441)
 
 (!type struct 2022 nil  gc_unused "StructDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2023 nil  gc_unused "TypeInfoDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2024 nil  gc_unused "VarDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2025 
  (!type pointer 2026 nil  gc_unused
   (!type already_seen 2025)
  )
  gc_unused "Expression"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2027 nil  gc_unused "ClassReferenceExp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 443)
 
 (!type already_seen 448)
 
 (!type already_seen 534)
 
 (!type struct 2028 nil  gc_unused "TypeFunction"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2029 nil  gc_unused "Parameter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2030 nil  gc_unused "BaseClass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2031 nil  gc_unused "Scope"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2032 nil  gc_unused "Loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2033 nil  gc_unused "Array<Expression*>"
  (!srcfileloc  "d/d-tree.h" 44)
  (!fields 1 
   (!pair  "Expression"
    (!type already_seen 2026)
    (!srcfileloc  "d/d-tree.h" 44)
    nil )
  )
 )
 
 (!type already_seen 436)
 
 (!type already_seen 450)
 
 (!type already_seen 446)
 
 (!type already_seen 660)
 
 (!type already_seen 445)
 
 (!type struct 2034 nil  gc_unused "builtin_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2035 nil  gc_unused "d_option_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2036 nil  gc_unused "module_info"
  (!srcfileloc  "d/modules.cc" 88)
  (!fields 7 
   (!pair  "ctors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 79)
    nil )
   (!pair  "dtors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 80)
    nil )
   (!pair  "ctorgates"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 81)
    nil )
   (!pair  "sharedctors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 83)
    nil )
   (!pair  "shareddtors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 84)
    nil )
   (!pair  "sharedctorgates"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 85)
    nil )
   (!pair  "unitTests"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 87)
    nil )
  )
  nil 16 nil nil )
 
 (!type struct 2037 nil  gc_unused "TypeInfoVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2038 nil  gc_unused "TypeInfoDeclVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2039 nil  gc_unused "SpeculativeTypeVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2040 nil  gc_used "module_hasher"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 0 )
  nil 32 nil nil )
 
 (!type user_struct 2041 
  (!type pointer 2042 nil  gc_used
   (!type already_seen 2041)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 1 
   (!pair  "module_hasher"
    (!type already_seen 2040)
    (!srcfileloc  "fortran/trans-decl.c" 5124)
    nil )
  )
 )
 
 (!type struct 2043 nil  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 699)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans.h" 696)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 697)
    nil )
   (!pair  "decls"
    (!type pointer 2044 nil  gc_used
     (!type user_struct 2045 
      (!type already_seen 2044)
      gc_pointed_to "hash_table<module_decl_hasher>"
      (!srcfileloc  "fortran/trans.h" 698)
      (!fields 1 
       (!pair  "module_decl_hasher"
        (!type struct 2046 nil  gc_used "module_decl_hasher"
         (!srcfileloc  "fortran/trans.h" 698)
         (!fields 0 )
         nil 32 nil nil )
        (!srcfileloc  "fortran/trans.h" 698)
        nil )
      )
     )
    )
    (!srcfileloc  "fortran/trans.h" 698)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  32 nil nil )
 
 (!type struct 2047 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 84)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 50)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 54)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 55)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 58)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 59)
    nil )
   (!pair  "libm_name"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 64)
    nil )
   (!pair  "complex_available"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 67)
    nil )
   (!pair  "is_constant"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 70)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-intrinsic.c" 73)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 76)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 77)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 82)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 83)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2048 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "mask"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "param_type"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
   (!pair  "field_len"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 72)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2049 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2050 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2051 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2052 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2053 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2054 nil  gc_unused "gfc_co_subroutines_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2055 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2056 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2057 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2058 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2059 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:401"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2060 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:413"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 2046)
 
 (!type already_seen 2045)
 
 (!type struct 2061 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2062 nil  gc_used "gfc_powdecl_list"
  (!srcfileloc  "fortran/trans.h" 899)
  (!fields 3 
   (!pair  "integer"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 896)
    nil )
   (!pair  "real"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 897)
    nil )
   (!pair  "cmplx"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 898)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2063 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2064 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2065 nil  gc_unused "go_create_gogo_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2066 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2067 nil  gc_unused "Linemap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2068 nil  gc_unused "Backend"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2069 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2070 nil  gc_unused "lto_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2071 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2072 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2073 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2074 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2075 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2076 nil  gc_unused "int_hash<unsigned,,UINT_MAX>"
  (!srcfileloc  "lto/lto-common.c" 1816)
  (!fields 2 
   (!pair  "UINT_MAX"
    (!type undefined 2077 nil  gc_unused "UINT_MAX"
     (!srcfileloc  "lto/lto-common.c" 1816)
    )
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
   (!pair  "unsigned"
    (!type already_seen 1574)
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
  )
 )
 
 (!type already_seen 2077)
 
 (!type struct 2078 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2079 nil  gc_unused "symbol_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2080 nil  gc_unused "variable_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2081 nil  gc_unused "function_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2082 
  (!type pointer 2083 nil  gc_used
   (!type already_seen 2082)
  )
  gc_pointed_to "objc_map_private"
  (!srcfileloc  "objc/objc-map.h" 79)
  (!fields 7 
   (!pair  "number_of_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 54)
    nil )
   (!pair  "mask"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 57)
    nil )
   (!pair  "number_of_non_empty_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 62)
    nil )
   (!pair  "max_number_of_non_empty_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 68)
    nil )
   (!pair  "maximum_load_factor"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 71)
    nil )
   (!pair  "slots"
    (!type already_seen 24)
    (!srcfileloc  "objc/objc-map.h" 74)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
   (!pair  "values"
    (!type already_seen 24)
    (!srcfileloc  "objc/objc-map.h" 78)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
  )
  nil 1536 nil nil )
 
 (!type struct 2084 
  (!type pointer 2085 
   (!type pointer 2086 nil  gc_used
    (!type already_seen 2085)
   )
   gc_pointed_to
   (!type already_seen 2084)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type pointer 2087 nil  gc_used
     (!type struct 2088 
      (!type already_seen 2087)
      gc_pointed_to "hashed_attribute"
      (!srcfileloc  "objc/objc-act.h" 265)
      (!fields 2 
       (!pair  "next"
        (!type already_seen 2087)
        (!srcfileloc  "objc/objc-act.h" 263)
        nil )
       (!pair  "value"
        (!type already_seen 23)
        (!srcfileloc  "objc/objc-act.h" 264)
        nil )
      )
      nil 1536 nil nil )
    )
    (!srcfileloc  "objc/objc-act.h" 268)
    nil )
   (!pair  "next"
    (!type already_seen 2085)
    (!srcfileloc  "objc/objc-act.h" 269)
    nil )
   (!pair  "key"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 270)
    nil )
  )
  nil 1536 nil nil )
 
 (!type already_seen 2088)
 
 (!type struct 2089 
  (!type pointer 2090 nil  gc_used
   (!type already_seen 2089)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 2090)
    (!srcfileloc  "objc/objc-act.h" 282)
    nil )
   (!pair  "imp_context"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 283)
    nil )
   (!pair  "imp_template"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 284)
    nil )
   (!pair  "class_decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 285)
    nil )
   (!pair  "meta_decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 286)
    nil )
   (!pair  "has_cxx_cdtors"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-act.h" 287)
    nil )
  )
  nil 1536 nil nil )
 
 (!type struct 2091 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2092 nil  gc_pointed_to "string_descriptor"
  (!srcfileloc  "objc/objc-act.c" 252)
  (!fields 2 
   (!pair  "literal"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.c" 248)
    nil )
   (!pair  "constructor"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.c" 251)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1536 nil nil )
 
 (!type struct 2093 nil  gc_used "objc_string_hasher"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 0 )
  nil 1536 nil nil )
 
 (!type user_struct 2094 
  (!type pointer 2095 nil  gc_used
   (!type already_seen 2094)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type already_seen 2093)
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
 )
 
 (!type struct 2096 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2097 nil  gc_used "ident_data_tuple"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  (!fields 2 
   (!pair  "ident"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1019)
    nil )
   (!pair  "data"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1020)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2098 
  (!type pointer 2099 nil  gc_used
   (!type already_seen 2098)
  )
  gc_pointed_to "vec<ident_data_tuple,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
   (!pair  "ident_data_tuple"
    (!type already_seen 2097)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
  )
 )
 
 (!type struct 2100 nil  gc_used "msgref_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  (!fields 3 
   (!pair  "func"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
    nil )
   (!pair  "selname"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1204)
    nil )
   (!pair  "refdecl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2101 
  (!type pointer 2102 nil  gc_used
   (!type already_seen 2101)
  )
  gc_pointed_to "vec<msgref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
   (!pair  "msgref_entry"
    (!type already_seen 2100)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
  )
 )
 
 (!type struct 2103 nil  gc_used "prot_list_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  (!fields 2 
   (!pair  "id"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
    nil )
   (!pair  "refdecl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1260)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2104 
  (!type pointer 2105 nil  gc_used
   (!type already_seen 2104)
  )
  gc_pointed_to "vec<prot_list_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
   (!pair  "prot_list_entry"
    (!type already_seen 2103)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
  )
 )
 
 (!type struct 2106 nil  gc_used "ivarref_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2764)
    nil )
   (!pair  "offset"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2107 
  (!type pointer 2108 nil  gc_used
   (!type already_seen 2107)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
   (!pair  "ivarref_entry"
    (!type already_seen 2106)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
  )
 )
)
(!typedefs 815
 (!pair  "ivarref_entry"
  (!type already_seen 2106)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 2103)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 2104)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 2100)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 2101)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 2097)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 2098)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 2093)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 2094)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "attr"
  (!type already_seen 2087)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 2085)
  (!srcfileloc  "objc/objc-act.h" 259)
  nil )
 (!pair  "objc_map_iterator_t"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-map.h" 241)
  nil )
 (!pair  "objc_map_t"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-map.h" 90)
  nil )
 (!pair  "objc_map_private_hash_t"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-map.h" 40)
  nil )
 (!pair  "code_id_hash"
  (!type already_seen 2076)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "UINT_MAX"
  (!type already_seen 2077)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "int_hash<unsigned,,UINT_MAX>"
  (!type already_seen 2076)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 9)
  (!srcfileloc  "go/go-lang.c" 185)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 2064)
  (!srcfileloc  "fortran/trans.h" 1145)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 2063)
  (!srcfileloc  "fortran/trans.h" 1130)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 2062)
  (!srcfileloc  "fortran/trans.h" 900)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 2046)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 2045)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 2060)
  (!srcfileloc  "fortran/trans.h" 418)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 2059)
  (!srcfileloc  "fortran/trans.h" 405)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 2058)
  (!srcfileloc  "fortran/trans.h" 395)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 2057)
  (!srcfileloc  "fortran/trans.h" 346)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 2056)
  (!srcfileloc  "fortran/trans.h" 305)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 2055)
  (!srcfileloc  "fortran/trans.h" 206)
  nil )
 (!pair  "gfc_co_subroutines_args"
  (!type already_seen 2054)
  (!srcfileloc  "fortran/trans.h" 117)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 2053)
  (!srcfileloc  "fortran/trans.h" 108)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 2052)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "forall_info"
  (!type already_seen 2051)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "iter_info"
  (!type already_seen 2050)
  (!srcfileloc  "fortran/trans-stmt.c" 46)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 2049)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 2048)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 2047)
  (!srcfileloc  "fortran/trans-intrinsic.c" 85)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 2040)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 2041)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "tree_frame_info"
  (!type already_seen 660)
  (!srcfileloc  "d/d-tree.h" 338)
  nil )
 (!pair  "lang_identifier"
  (!type already_seen 633)
  (!srcfileloc  "d/d-tree.h" 337)
  nil )
 (!pair  "Type"
  (!type already_seen 534)
  (!srcfileloc  "d/d-tree.h" 311)
  nil )
 (!pair  "d_label_entry"
  (!type already_seen 446)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "hash_map<Statement*,d_label_entry>"
  (!type already_seen 445)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "Module"
  (!type already_seen 443)
  (!srcfileloc  "d/d-tree.h" 230)
  nil )
 (!pair  "FuncDeclaration"
  (!type already_seen 441)
  (!srcfileloc  "d/d-tree.h" 229)
  nil )
 (!pair  "AggregateDeclaration"
  (!type already_seen 640)
  (!srcfileloc  "d/d-tree.h" 206)
  nil )
 (!pair  "Declaration"
  (!type already_seen 62)
  (!srcfileloc  "d/d-tree.h" 205)
  nil )
 (!pair  "Statement"
  (!type already_seen 448)
  (!srcfileloc  "d/d-tree.h" 131)
  nil )
 (!pair  "d_label_use_entry"
  (!type already_seen 450)
  (!srcfileloc  "d/d-tree.h" 128)
  nil )
 (!pair  "binding_level"
  (!type already_seen 436)
  (!srcfileloc  "d/d-tree.h" 113)
  nil )
 (!pair  "Expressions"
  (!type already_seen 2033)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "Array<Expression*>"
  (!type already_seen 2033)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 2014)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 2015)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 2007)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 2008)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 2003)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 2004)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 1998)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 1999)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 1995)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 1996)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "hash_map<tree,tree_pair_p>"
  (!type already_seen 1993)
  (!srcfileloc  "cp/pt.c" 28697)
  nil )
 (!pair  "pending_template"
  (!type already_seen 1979)
  (!srcfileloc  "cp/pt.c" 9378)
  nil )
 (!pair  "tinst_level"
  (!type already_seen 1841)
  (!srcfileloc  "cp/pt.c" 9369)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 1982)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 1983)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/pt.c" 49)
  nil )
 (!pair  "cp_parser"
  (!type already_seen 1867)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "iter_t"
  (!type already_seen 1978)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "class_to_loc_map_t::iterator"
  (!type already_seen 1978)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 2109 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 1974)
  )
  (!srcfileloc  "cp/parser.c" 1896)
  nil )
 (!pair  "cp_parser_flags"
  (!type already_seen 2)
  (!srcfileloc  "cp/parser.c" 1827)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/mangle.c" 147)
  nil )
 (!pair  "globals"
  (!type already_seen 1960)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_hasher"
  (!type already_seen 1957)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "hash_table<subsumption_hasher>"
  (!type already_seen 1958)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 1950)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 1951)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "tree_int"
  (!type already_seen 1946)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 1947)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 1943)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 1944)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "mangled_decl_hash"
  (!type already_seen 1940)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "hash_table<mangled_decl_hash>"
  (!type already_seen 1941)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "priority_info"
  (!type already_seen 1939)
  (!srcfileloc  "cp/decl2.c" 66)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 1933)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 1934)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 1928)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 1929)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "named_label_use_entry"
  (!type already_seen 1832)
  (!srcfileloc  "cp/decl.c" 209)
  nil )
 (!pair  "named_label_entry"
  (!type already_seen 1829)
  (!srcfileloc  "cp/decl.c" 192)
  nil )
 (!pair  "source_location_table_entry_hash"
  (!type already_seen 1925)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "hash_table<source_location_table_entry_hash>"
  (!type already_seen 1926)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "coroutine_info_hasher"
  (!type already_seen 1907)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "hash_table<coroutine_info_hasher>"
  (!type already_seen 1908)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "sat_hasher"
  (!type already_seen 1902)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "hash_table<sat_hasher>"
  (!type already_seen 1903)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 1891)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 1894)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 1885)
  (!srcfileloc  "cp/constexpr.c" 1002)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 1887)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 1888)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_map<tree,int>"
  (!type already_seen 1882)
  (!srcfileloc  "cp/class.c" 3302)
  nil )
 (!pair  "subobject_offset_fn"
  (!type already_seen 2)
  (!srcfileloc  "cp/class.c" 104)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 1877)
  (!srcfileloc  "cp/class.c" 70)
  nil )
 (!pair  "cp_oacc_routine_data"
  (!type already_seen 1863)
  (!srcfileloc  "cp/parser.h" 379)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 1861)
  (!srcfileloc  "cp/parser.h" 375)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 1858)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 1865)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 1859)
  (!srcfileloc  "cp/parser.h" 257)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 1852)
  (!srcfileloc  "cp/parser.h" 223)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 1855)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 1856)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 70)
  (!srcfileloc  "cp/parser.h" 132)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 71)
  (!srcfileloc  "cp/parser.h" 132)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 1851)
  (!srcfileloc  "cp/parser.h" 100)
  nil )
 (!pair  "cp_token"
  (!type already_seen 73)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 1849)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 72)
  (!srcfileloc  "cp/parser.h" 76)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 80)
  (!srcfileloc  "cp/parser.h" 34)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 78)
  (!srcfileloc  "cp/parser.h" 34)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 1840)
  (!srcfileloc  "cp/cp-tree.h" 6045)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 1839)
  (!srcfileloc  "cp/cp-tree.h" 6043)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5909)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5893)
  nil )
 (!pair  "ovl_op_info_t"
  (!type already_seen 1837)
  (!srcfileloc  "cp/cp-tree.h" 5866)
  nil )
 (!pair  "base_access"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5336)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5322)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5202)
  nil )
 (!pair  "named_decl_hash"
  (!type already_seen 93)
  (!srcfileloc  "cp/cp-tree.h" 2777)
  nil )
 (!pair  "hash_table<named_decl_hash>"
  (!type already_seen 92)
  (!srcfileloc  "cp/cp-tree.h" 2777)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 537)
  (!srcfileloc  "cp/cp-tree.h" 2217)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 539)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 538)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 460)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 459)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "named_label_hash"
  (!type already_seen 457)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "hash_table<named_label_hash>"
  (!type already_seen 456)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 1815)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 1820)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 676)
  (!srcfileloc  "cp/cp-tree.h" 1496)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 677)
  (!srcfileloc  "cp/cp-tree.h" 1471)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 664)
  (!srcfileloc  "cp/cp-tree.h" 683)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 88)
  (!srcfileloc  "cp/name-lookup.h" 184)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 87)
  (!srcfileloc  "cp/name-lookup.h" 184)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 90)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 2)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 543)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 540)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "matching_braces"
  (!type already_seen 1811)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_brace_traits"
  (!type already_seen 1810)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "token_pair<matching_brace_traits>"
  (!type already_seen 1811)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_parens"
  (!type already_seen 1809)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "matching_paren_traits"
  (!type already_seen 1808)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "token_pair<matching_paren_traits>"
  (!type already_seen 1809)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "c_parser"
  (!type already_seen 1802)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 1806)
  (!srcfileloc  "c/c-parser.c" 181)
  nil )
 (!pair  "c_token"
  (!type already_seen 1800)
  (!srcfileloc  "c/c-parser.c" 173)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 1782)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 1783)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 1779)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 1780)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "pragma_handler_2arg"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-pragma.h" 197)
  nil )
 (!pair  "pragma_handler_1arg"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-pragma.h" 194)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 1773)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "wide_int_bitmask"
  (!type already_seen 1773)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 454)
  (!srcfileloc  "c-family/c-common.h" 569)
  nil )
 (!pair  "added_includes_t"
  (!type already_seen 1767)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "hash_map<char*,per_file_includes_t*>"
  (!type already_seen 1767)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "per_file_includes_t"
  (!type already_seen 1765)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "nofree_string_hash"
  (!type already_seen 1766)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "hash_set<char*,false,nofree_string_hash>"
  (!type already_seen 1765)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 1763)
  (!srcfileloc  "c-family/c-common.c" 7804)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 84)
  (!srcfileloc  "c-family/c-common.c" 7803)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 1761)
  (!srcfileloc  "c-family/c-common.c" 5524)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5523)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 644)
  (!srcfileloc  "c/c-decl.c" 572)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 653)
  (!srcfileloc  "c/c-decl.c" 380)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 654)
  (!srcfileloc  "c/c-decl.c" 361)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 1744)
  (!srcfileloc  "c/c-tree.h" 175)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/utils.c" 6000)
  nil )
 (!pair  "pad_type_hasher"
  (!type already_seen 1739)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 1740)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "atomic_acces_t"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/trans.c" 4811)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 1733)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "loop_info"
  (!type already_seen 1732)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 1729)
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 1728)
  (!srcfileloc  "ada/gcc-interface/trans.c" 194)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 469)
  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 470)
  (!srcfileloc  "ada/gcc-interface/trans.c" 112)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 1722)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7584)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 1720)
  (!srcfileloc  "ada/gcc-interface/decl.c" 261)
  nil )
 (!pair  "dummy_type_hasher"
  (!type already_seen 1717)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "hash_table<dummy_type_hasher>"
  (!type already_seen 1718)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "va_gc_atomic"
  (!type already_seen 1714)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "Entity_Id"
  (!type already_seen 1715)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "vec<Entity_Id,va_gc_atomic>"
  (!type already_seen 1712)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 1709)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 1710)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 1708)
  (!srcfileloc  "ada/gcc-interface/decl.c" 131)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 1707)
  (!srcfileloc  "ada/gcc-interface/decl.c" 113)
  nil )
 (!pair  "rewrite_fn"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/gigi.h" 962)
  nil )
 (!pair  "builtin_arg"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm-builtins.c" 2872)
  nil )
 (!pair  "arm_builtin_cde_datum"
  (!type already_seen 1695)
  (!srcfileloc  "config/arm/arm-builtins.c" 998)
  nil )
 (!pair  "arm_builtin_datum"
  (!type already_seen 1694)
  (!srcfileloc  "config/arm/arm-builtins.c" 907)
  nil )
 (!pair  "rdwr_map"
  (!type already_seen 1691)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "attr_access"
  (!type already_seen 1692)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "rdwr_access_hash"
  (!type already_seen 1690)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hash_map<rdwr_access_hash,attr_access>"
  (!type already_seen 1691)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hsa_decl_kernel_map_element"
  (!type already_seen 1686)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 1687)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 1679)
  (!srcfileloc  "ipa-devirt.c" 2743)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 1678)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 1679)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 1675)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 1674)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 1673)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 1674)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 1172)
  (!srcfileloc  "ipa-devirt.c" 202)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1658)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1659)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1647)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1646)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1647)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "value_range"
  (!type already_seen 1119)
  (!srcfileloc  "value-range.h" 43)
  nil )
 (!pair  "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!type already_seen 1639)
  (!srcfileloc  "ipa-fnsummary.h" 220)
  nil )
 (!pair  "ipa_fn_summary_t"
  (!type already_seen 1638)
  (!srcfileloc  "ipa-fnsummary.h" 218)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1163)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1162)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "ipa_fn_summary"
  (!type already_seen 1152)
  (!srcfileloc  "ipa-fnsummary.h" 110)
  nil )
 (!pair  "predicate"
  (!type already_seen 1164)
  (!srcfileloc  "ipa-fnsummary.h" 76)
  nil )
 (!pair  "ipa_hints"
  (!type already_seen 2)
  (!srcfileloc  "ipa-fnsummary.h" 55)
  nil )
 (!pair  "clause_t"
  (!type already_seen 1026)
  (!srcfileloc  "ipa-predicate.h" 109)
  nil )
 (!pair  "conditions"
  (!type already_seen 1154)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "condition"
  (!type already_seen 1156)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1155)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "expr_eval_ops"
  (!type already_seen 1157)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "expr_eval_op"
  (!type already_seen 1159)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "vec<expr_eval_op,va_gc>"
  (!type already_seen 1158)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "lto_file_decl_data_ptr"
  (!type already_seen 326)
  (!srcfileloc  "lto-streamer.h" 634)
  nil )
 (!pair  "lto_section"
  (!type already_seen 345)
  (!srcfileloc  "lto-streamer.h" 627)
  nil )
 (!pair  "ld_plugin_symbol_resolution"
  (!type already_seen 344)
  (!srcfileloc  "lto-streamer.h" 621)
  nil )
 (!pair  "hash_map<tree,ld_plugin_symbol_resolution>"
  (!type already_seen 343)
  (!srcfileloc  "lto-streamer.h" 621)
  nil )
 (!pair  "gcov_summary"
  (!type already_seen 341)
  (!srcfileloc  "lto-streamer.h" 618)
  nil )
 (!pair  "res_pair"
  (!type already_seen 340)
  (!srcfileloc  "lto-streamer.h" 615)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 339)
  (!srcfileloc  "lto-streamer.h" 615)
  nil )
 (!pair  "decl_state_hasher"
  (!type already_seen 336)
  (!srcfileloc  "lto-streamer.h" 594)
  nil )
 (!pair  "hash_table<decl_state_hasher>"
  (!type already_seen 335)
  (!srcfileloc  "lto-streamer.h" 594)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1570)
  (!srcfileloc  "lto-streamer.h" 565)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 329)
  (!srcfileloc  "lto-streamer.h" 529)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 332)
  (!srcfileloc  "lto-streamer.h" 495)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 297)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 288)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 256)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 8)
  (!srcfileloc  "lto-streamer.h" 126)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 1615)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1615)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1595)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1596)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "function_summary<ipcp_transformation*>"
  (!type already_seen 1593)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum_t"
  (!type already_seen 1590)
  (!srcfileloc  "ipa-prop.h" 872)
  nil )
 (!pair  "ipa_node_params_t"
  (!type already_seen 1588)
  (!srcfileloc  "ipa-prop.h" 850)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1131)
  (!srcfileloc  "ipa-prop.h" 804)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1108)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1129)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1127)
  (!srcfileloc  "ipa-prop.h" 791)
  nil )
 (!pair  "ipcp_transformation"
  (!type already_seen 1586)
  (!srcfileloc  "ipa-prop.h" 759)
  nil )
 (!pair  "ipa_vr"
  (!type already_seen 1581)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_vr,va_gc>"
  (!type already_seen 1584)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_bits*,va_gc>"
  (!type already_seen 1582)
  (!srcfileloc  "ipa-prop.h" 754)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1135)
  (!srcfileloc  "ipa-prop.h" 752)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context>"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<tree>"
  (!type already_seen 1106)
  (!srcfileloc  "ipa-prop.h" 481)
  nil )
 (!pair  "ipa_param_descriptor"
  (!type already_seen 1103)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "vec<ipa_param_descriptor,va_gc>"
  (!type already_seen 1102)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "ipa_node_params"
  (!type already_seen 1100)
  (!srcfileloc  "ipa-prop.h" 465)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1112)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1111)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "value_range_equiv"
  (!type already_seen 1579)
  (!srcfileloc  "tree-vrp.h" 78)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1578)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1575)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "unsigned"
  (!type already_seen 1574)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "hash_map<char*,unsigned>"
  (!type already_seen 1572)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1567)
  (!srcfileloc  "passes.c" 990)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 9)
  (!srcfileloc  "passes.c" 870)
  nil )
 (!pair  "arm_pragma_enum"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 7184)
  nil )
 (!pair  "libcall_table_type"
  (!type already_seen 1552)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "libcall_hasher"
  (!type already_seen 1551)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "hash_table<libcall_hasher>"
  (!type already_seen 1552)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "isr_attribute_arg"
  (!type already_seen 1550)
  (!srcfileloc  "config/arm/arm.c" 3919)
  nil )
 (!pair  "arm_fixed_mode_set"
  (!type already_seen 1549)
  (!srcfileloc  "config/arm/arm.c" 2461)
  nil )
 (!pair  "Mfix"
  (!type already_seen 1545)
  (!srcfileloc  "config/arm/arm.c" 78)
  nil )
 (!pair  "Mnode"
  (!type already_seen 1544)
  (!srcfileloc  "config/arm/arm.c" 77)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 407)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 565)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 564)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "def_operand_p"
  (!type already_seen 24)
  (!srcfileloc  "tree-ssa-operands.h" 27)
  nil )
 (!pair  "scev_info_hasher"
  (!type already_seen 1516)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1517)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1476)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1477)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "treemple"
  (!type already_seen 1464)
  (!srcfileloc  "tree-eh.c" 53)
  nil )
 (!pair  "tm_restart_hasher"
  (!type already_seen 411)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "hash_table<tm_restart_hasher>"
  (!type already_seen 410)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "ssa_name_hasher"
  (!type already_seen 402)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_table<ssa_name_hasher>"
  (!type already_seen 401)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_map<tree,tree>"
  (!type already_seen 399)
  (!srcfileloc  "gimple-ssa.h" 84)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1461)
  (!srcfileloc  "gimple.h" 1646)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 280)
  (!srcfileloc  "gimple.h" 28)
  nil )
 (!pair  "tm_clone_hasher"
  (!type already_seen 1454)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1455)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1005)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1004)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1071)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1450)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1446)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1447)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1443)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1444)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1437)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1438)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 930)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1435)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1432)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1433)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "poly_int_cst_hasher"
  (!type already_seen 1429)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "hash_table<poly_int_cst_hasher>"
  (!type already_seen 1430)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1426)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1427)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1423)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1424)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "block_info"
  (!type already_seen 1413)
  (!srcfileloc  "reg-stack.c" 219)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1411)
  (!srcfileloc  "reg-stack.c" 206)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1405)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1404)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1403)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1402)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1395)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1396)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1386)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1384)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1384)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1379)
  (!srcfileloc  "gcse.c" 306)
  nil )
 (!pair  "user_struct"
  (!type already_seen 1375)
  (!srcfileloc  "ggc-tests.c" 399)
  nil )
 (!pair  "test_node"
  (!type already_seen 1373)
  (!srcfileloc  "ggc-tests.c" 334)
  nil )
 (!pair  "some_other_subclass"
  (!type already_seen 1371)
  (!srcfileloc  "ggc-tests.c" 272)
  nil )
 (!pair  "some_subclass"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 261)
  nil )
 (!pair  "example_base"
  (!type already_seen 1367)
  (!srcfileloc  "ggc-tests.c" 236)
  nil )
 (!pair  "test_of_union"
  (!type already_seen 1364)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "test_other"
  (!type already_seen 918)
  (!srcfileloc  "ggc-tests.c" 139)
  nil )
 (!pair  "test_of_length"
  (!type already_seen 1361)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "test_struct"
  (!type already_seen 916)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1358)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1357)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1358)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1355)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1351)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 934)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1348)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1305)
  (!srcfileloc  "function.c" 1261)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1339)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1340)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1335)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1336)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "by_pieces_constfn"
  (!type already_seen 2)
  (!srcfileloc  "expr.h" 110)
  nil )
 (!pair  "sepops"
  (!type already_seen 1334)
  (!srcfileloc  "expr.h" 55)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 2)
  (!srcfileloc  "except.h" 247)
  nil )
 (!pair  "hash_map<gimple*,int>"
  (!type already_seen 377)
  (!srcfileloc  "except.h" 204)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 375)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 373)
  (!srcfileloc  "except.h" 197)
  nil )
 (!pair  "eh_region"
  (!type already_seen 360)
  (!srcfileloc  "except.h" 184)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 183)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 368)
  (!srcfileloc  "except.h" 182)
  nil )
 (!pair  "twi"
  (!type already_seen 911)
  (!srcfileloc  "emit-rtl.c" 773)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1324)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1325)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1321)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1322)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1318)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1319)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "const_poly_int_hasher"
  (!type already_seen 1315)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "hash_table<const_poly_int_hasher>"
  (!type already_seen 1316)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1312)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1313)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1309)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1310)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1306)
  (!srcfileloc  "emit-rtl.h" 145)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 750)
  (!srcfileloc  "emit-rtl.h" 125)
  nil )
 (!pair  "predefined_function_abi"
  (!type already_seen 906)
  (!srcfileloc  "emit-rtl.h" 74)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1300)
  (!srcfileloc  "emit-rtl.h" 24)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 2)
  (!srcfileloc  "tree-vect-generic.c" 123)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1292)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "inline_entry_data_hasher"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "hash_table<inline_entry_data_hasher>"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "sym_off_pair"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "hash_map<tree,sym_off_pair>"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1271)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1272)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1223)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "vec<dw_ranges_by_label,va_gc>"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<dw_ranges,va_gc>"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1217)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 3523)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1245)
  (!srcfileloc  "dwarf2out.c" 3482)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1242)
  (!srcfileloc  "dwarf2out.c" 3443)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hasher"
  (!type already_seen 1236)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "hash_table<variable_value_hasher>"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "vec<dw_die_ref,va_gc>"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3415)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1227)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1228)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3194)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1224)
  (!srcfileloc  "dwarf2out.c" 3186)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1222)
  (!srcfileloc  "dwarf2out.c" 3158)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1220)
  (!srcfileloc  "dwarf2out.c" 3136)
  nil )
 (!pair  "die_node"
  (!type already_seen 492)
  (!srcfileloc  "dwarf2out.c" 3105)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 498)
  (!srcfileloc  "dwarf2out.c" 3083)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 495)
  (!srcfileloc  "dwarf2out.c" 3080)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 499)
  (!srcfileloc  "dwarf2out.c" 3069)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1215)
  (!srcfileloc  "dwarf2out.c" 3019)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1214)
  (!srcfileloc  "dwarf2out.c" 2977)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 2931)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 490)
  (!srcfileloc  "dwarf2out.c" 1334)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 486)
  (!srcfileloc  "dwarf2out.c" 1308)
  nil )
 (!pair  "var_loc_view"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 1300)
  nil )
 (!pair  "indirect_string_hasher"
  (!type already_seen 1211)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1212)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1209)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1202)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1200)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 517)
  (!srcfileloc  "dwarf2cfi.c" 66)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1198)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 483)
  (!srcfileloc  "dwarf2out.h" 256)
  nil )
 (!pair  "dw_discr_value"
  (!type already_seen 512)
  (!srcfileloc  "dwarf2out.h" 235)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 504)
  (!srcfileloc  "dwarf2out.h" 215)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 474)
  (!srcfileloc  "dwarf2out.h" 70)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 476)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 477)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 480)
  (!srcfileloc  "dwarf2out.h" 57)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 500)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_discr_list_ref"
  (!type already_seen 514)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 489)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 478)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 484)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "ipa_sra_function_summaries"
  (!type already_seen 1187)
  (!srcfileloc  "ipa-sra.c" 376)
  nil )
 (!pair  "isra_param_desc"
  (!type already_seen 1180)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "vec<isra_param_desc,va_gc>"
  (!type already_seen 1184)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "isra_func_summary"
  (!type already_seen 1182)
  (!srcfileloc  "ipa-sra.c" 238)
  nil )
 (!pair  "vec<param_access*,va_gc>"
  (!type already_seen 1178)
  (!srcfileloc  "ipa-sra.c" 165)
  nil )
 (!pair  "ipa_adjusted_param"
  (!type already_seen 835)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "vec<ipa_adjusted_param,va_gc>"
  (!type already_seen 834)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "odr_type"
  (!type already_seen 1171)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 1170)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "ipa_vr_ggc_hash_traits"
  (!type already_seen 1095)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "hash_table<ipa_vr_ggc_hash_traits>"
  (!type already_seen 1096)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "ipa_bit_ggc_hash_traits"
  (!type already_seen 1092)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "hash_table<ipa_bit_ggc_hash_traits>"
  (!type already_seen 1093)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1088)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1089)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1082)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1077)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1078)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_set<cgraph_node*>"
  (!type already_seen 1069)
  (!srcfileloc  "cgraph.h" 2547)
  nil )
 (!pair  "FILE"
  (!type already_seen 1068)
  (!srcfileloc  "cgraph.h" 2543)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1033)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1066)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1057)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1064)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1031)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1062)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "vec<int>"
  (!type already_seen 1060)
  (!srcfileloc  "cgraph.h" 2505)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1055)
  (!srcfileloc  "cgraph.h" 2425)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1053)
  (!srcfileloc  "cgraph.h" 2419)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1051)
  (!srcfileloc  "cgraph.h" 2398)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1049)
  (!srcfileloc  "cgraph.h" 2391)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1047)
  (!srcfileloc  "cgraph.h" 2384)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1058)
  (!srcfileloc  "cgraph.h" 2252)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2202)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2201)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2200)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2199)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2198)
  nil )
 (!pair  "asm_node"
  (!type already_seen 1045)
  (!srcfileloc  "cgraph.h" 2171)
  nil )
 (!pair  "availability"
  (!type already_seen 1044)
  (!srcfileloc  "cgraph.h" 2053)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 812)
  (!srcfileloc  "cgraph.h" 1946)
  nil )
 (!pair  "gcall"
  (!type already_seen 770)
  (!srcfileloc  "cgraph.h" 1943)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 813)
  (!srcfileloc  "cgraph.h" 1618)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1041)
  (!srcfileloc  "cgraph.h" 1565)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1039)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1038)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 839)
  (!srcfileloc  "cgraph.h" 1472)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 826)
  (!srcfileloc  "cgraph.h" 1471)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 821)
  (!srcfileloc  "cgraph.h" 1464)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 818)
  (!srcfileloc  "cgraph.h" 1457)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 816)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 815)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1037)
  (!srcfileloc  "cgraph.h" 1204)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 810)
  (!srcfileloc  "cgraph.h" 1179)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1035)
  (!srcfileloc  "cgraph.h" 872)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 820)
  (!srcfileloc  "cgraph.h" 862)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 807)
  (!srcfileloc  "cgraph.h" 856)
  nil )
 (!pair  "ipa_param_performed_split"
  (!type already_seen 838)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "vec<ipa_param_performed_split,va_gc>"
  (!type already_seen 837)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "ipa_param_adjustments"
  (!type already_seen 832)
  (!srcfileloc  "cgraph.h" 746)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 828)
  (!srcfileloc  "cgraph.h" 744)
  nil )
 (!pair  "section_hash_entry"
  (!type already_seen 347)
  (!srcfileloc  "cgraph.h" 623)
  nil )
 (!pair  "ipa_ref_list"
  (!type already_seen 319)
  (!srcfileloc  "cgraph.h" 607)
  nil )
 (!pair  "ipa_ref"
  (!type already_seen 323)
  (!srcfileloc  "cgraph.h" 169)
  nil )
 (!pair  "explicit"
  (!type already_seen 1032)
  (!srcfileloc  "cgraph.h" 113)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 822)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 823)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 325)
  (!srcfileloc  "ipa-ref.h" 137)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 322)
  (!srcfileloc  "ipa-ref.h" 134)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 324)
  (!srcfileloc  "ipa-ref.h" 71)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 323)
  (!srcfileloc  "ipa-ref.h" 70)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 318)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 2110 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 2)
  )
  (!srcfileloc  "basic-block.h" 162)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 270)
  (!srcfileloc  "basic-block.h" 119)
  nil )
 (!pair  "edge_def"
  (!type already_seen 272)
  (!srcfileloc  "basic-block.h" 53)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 2)
  (!srcfileloc  "cselib.h" 88)
  nil )
 (!pair  "sreal"
  (!type already_seen 1024)
  (!srcfileloc  "profile-count.h" 1206)
  nil )
 (!pair  "uint32_t"
  (!type already_seen 1026)
  (!srcfileloc  "profile-count.h" 807)
  nil )
 (!pair  "profile_probability"
  (!type already_seen 1025)
  (!srcfileloc  "profile-count.h" 634)
  nil )
 (!pair  "profile_count"
  (!type already_seen 299)
  (!srcfileloc  "cfg.h" 76)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 385)
  (!srcfileloc  "cfg.h" 45)
  nil )
 (!pair  "loop_exit_hasher"
  (!type already_seen 416)
  (!srcfileloc  "cfgloop.h" 331)
  nil )
 (!pair  "hash_table<loop_exit_hasher>"
  (!type already_seen 415)
  (!srcfileloc  "cfgloop.h" 331)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 277)
  (!srcfileloc  "cfgloop.h" 142)
  nil )
 (!pair  "loop_p"
  (!type already_seen 273)
  (!srcfileloc  "cfgloop.h" 95)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 482)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 456)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 2)
  (!srcfileloc  "hwint.h" 77)
  nil )
 (!pair  "used_type_hasher"
  (!type already_seen 1011)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1012)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 473)
  (!srcfileloc  "function.h" 298)
  nil )
 (!pair  "callinfo_dalloc"
  (!type already_seen 424)
  (!srcfileloc  "function.h" 233)
  nil )
 (!pair  "vec<callinfo_dalloc,va_gc>"
  (!type already_seen 423)
  (!srcfileloc  "function.h" 233)
  nil )
 (!pair  "callinfo_callee"
  (!type already_seen 421)
  (!srcfileloc  "function.h" 229)
  nil )
 (!pair  "vec<callinfo_callee,va_gc>"
  (!type already_seen 420)
  (!srcfileloc  "function.h" 229)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 997)
  (!srcfileloc  "function.h" 147)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 381)
  (!srcfileloc  "function.h" 145)
  nil )
 (!pair  "rtx_code_label"
  (!type already_seen 371)
  (!srcfileloc  "function.h" 140)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 996)
  (!srcfileloc  "function.h" 134)
  nil )
 (!pair  "vec<rtx_insn*,va_gc>"
  (!type already_seen 992)
  (!srcfileloc  "function.h" 131)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 16)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 984)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 16)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 15)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "libfunc_hasher"
  (!type already_seen 613)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 612)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 979)
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 967)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 981)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 970)
  (!srcfileloc  "tree-core.h" 2107)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 85)
  (!srcfileloc  "tree-core.h" 1583)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 575)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 574)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 938)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 934)
  nil )
 (!pair  "priority_type"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 931)
  nil )
 (!pair  "poly_int_traits"
  (!type already_seen 963)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "typename"
  (!type already_seen 963)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "widest2_int_cst"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5807)
  nil )
 (!pair  "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5806)
  nil )
 (!pair  "unextended"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "generic_wide_int<unextended_tree>"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "extended"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "N"
  (!type already_seen 958)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "extended_tree<N"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "generic_wide_int<extended_tree<N>>"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "tree_to_poly_wide_ref"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5783)
  nil )
 (!pair  "unextended_tree"
  (!type already_seen 943)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "generic_wide_int<unextended_tree"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "tree_to_poly_offset_ref"
  (!type already_seen 952)
  (!srcfileloc  "tree.h" 5780)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!type already_seen 952)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "tree_to_poly_widest_ref"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5777)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree"
  (!type already_seen 951)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "tree_to_wide_ref"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5768)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5767)
  nil )
 (!pair  "tree_to_offset_ref"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree>"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "tree_to_widest_ref"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree>"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "offset_extended_tree"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "extended_tree<ADDR_MAX_PRECISION>"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "widest_extended_tree"
  (!type already_seen 945)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!type already_seen 945)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "type_tree_cache_map"
  (!type already_seen 941)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "type_tree_cache_traits"
  (!type already_seen 940)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "hash_map<tree,tree,type_tree_cache_traits>"
  (!type already_seen 941)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "decl_tree_cache_map"
  (!type already_seen 938)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "decl_tree_cache_traits"
  (!type already_seen 937)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "hash_map<tree,tree,decl_tree_cache_traits>"
  (!type already_seen 938)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "tree_cache_map"
  (!type already_seen 936)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "tree_cache_traits"
  (!type already_seen 935)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_map<tree,tree,tree_cache_traits>"
  (!type already_seen 936)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3551)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3546)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3542)
  nil )
 (!pair  "rtx_to_poly_wide_ref"
  (!type already_seen 924)
  (!srcfileloc  "rtl.h" 2333)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false"
  (!type already_seen 925)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!type already_seen 924)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 923)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 923)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 296)
  (!srcfileloc  "rtl.h" 496)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 741)
  (!srcfileloc  "rtl.h" 493)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 739)
  (!srcfileloc  "rtl.h" 464)
  nil )
 (!pair  "NUM_POLY_INT_COEFFS"
  (!type already_seen 912)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!type already_seen 911)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "va_gc"
  (!type already_seen 79)
  (!srcfileloc  "rtl.h" 267)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 220)
  (!srcfileloc  "rtl.h" 267)
  nil )
 (!pair  "rtunion"
  (!type already_seen 210)
  (!srcfileloc  "rtl.h" 237)
  nil )
 (!pair  "reg_attrs"
  (!type already_seen 238)
  (!srcfileloc  "rtl.h" 229)
  nil )
 (!pair  "mem_attrs"
  (!type already_seen 227)
  (!srcfileloc  "rtl.h" 153)
  nil )
 (!pair  "trailing_wide_ints"
  (!type already_seen 896)
  (!srcfileloc  "wide-int.h" 1406)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 895)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 894)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 895)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 892)
  (!srcfileloc  "wide-int.h" 1221)
  nil )
 (!pair  "ASSIGNMENT_OPERATOR"
  (!type already_seen 890)
  (!srcfileloc  "wide-int.h" 754)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 889)
  (!srcfileloc  "wide-int.h" 715)
  nil )
 (!pair  "T1"
  (!type already_seen 886)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 885)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 884)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 883)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "signed_predicate_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 442)
  nil )
 (!pair  "signed_shift_result_type"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 441)
  nil )
 (!pair  "precision"
  (!type already_seen 879)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "T2"
  (!type already_seen 882)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 881)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 880)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 878)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "predicate_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 429)
  nil )
 (!pair  "operator_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 428)
  nil )
 (!pair  "result_type"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 420)
  nil )
 (!pair  "wide_int_ref"
  (!type already_seen 874)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "false"
  (!type already_seen 876)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 875)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 874)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "widest2_int"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 324)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "wide_int"
  (!type already_seen 501)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 502)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 501)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 397)
  (!srcfileloc  "bitmap.h" 349)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 394)
  (!srcfileloc  "bitmap.h" 345)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 2)
  (!srcfileloc  "bitmap.h" 276)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 864)
  (!srcfileloc  "../include/splay-tree.h" 127)
  nil )
 (!pair  "splay_tree_deallocate_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 88)
  nil )
 (!pair  "splay_tree_allocate_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 82)
  nil )
 (!pair  "splay_tree_foreach_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 76)
  nil )
 (!pair  "splay_tree_delete_value_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 73)
  nil )
 (!pair  "splay_tree_delete_key_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 67)
  nil )
 (!pair  "splay_tree_compare_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 58)
  nil )
 (!pair  "splay_tree_node"
  (!type already_seen 862)
  (!srcfileloc  "../include/splay-tree.h" 54)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 51)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 50)
  nil )
 (!pair  "htab_t"
  (!type already_seen 337)
  (!srcfileloc  "../include/hashtab.h" 139)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 77)
  nil )
 (!pair  "htab_free"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 73)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 70)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 64)
  nil )
 (!pair  "htab_del"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 58)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 54)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 42)
  nil )
 (!pair  "target_unit"
  (!type already_seen 860)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "TARGET_UNIT"
  (!type already_seen 860)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "machine_function"
  (!type already_seen 426)
  (!srcfileloc  "config/arm/arm.h" 1522)
  nil )
 (!pair  "arm_stack_offsets"
  (!type already_seen 427)
  (!srcfileloc  "config/arm/arm.h" 1476)
  nil )
 (!pair  "arm_cc"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.h" 63)
  nil )
 (!pair  "uchar"
  (!type already_seen 8)
  (!srcfileloc  "coretypes.h" 427)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 424)
  nil )
 (!pair  "complex_mode"
  (!type already_seen 732)
  (!srcfileloc  "coretypes.h" 379)
  nil )
 (!pair  "string_int_pair"
  (!type already_seen 852)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "int"
  (!type already_seen 378)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "std::pair<char*,int>"
  (!type already_seen 852)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "tree_pair"
  (!type already_seen 851)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 851)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 343)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 267)
  (!srcfileloc  "coretypes.h" 323)
  nil )
 (!pair  "basic_block"
  (!type already_seen 267)
  (!srcfileloc  "coretypes.h" 322)
  nil )
 (!pair  "const_edge"
  (!type already_seen 271)
  (!srcfileloc  "coretypes.h" 320)
  nil )
 (!pair  "edge"
  (!type already_seen 271)
  (!srcfileloc  "coretypes.h" 319)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 316)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 8)
  (!srcfileloc  "coretypes.h" 167)
  nil )
 (!pair  "section"
  (!type already_seen 214)
  (!srcfileloc  "coretypes.h" 147)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 280)
  (!srcfileloc  "coretypes.h" 100)
  nil )
 (!pair  "gimple"
  (!type already_seen 281)
  (!srcfileloc  "coretypes.h" 100)
  nil )
 (!pair  "const_tree"
  (!type already_seen 23)
  (!srcfileloc  "coretypes.h" 98)
  nil )
 (!pair  "tree"
  (!type already_seen 23)
  (!srcfileloc  "coretypes.h" 97)
  nil )
 (!pair  "const_hwivec"
  (!type already_seen 753)
  (!srcfileloc  "coretypes.h" 95)
  nil )
 (!pair  "hwivec"
  (!type already_seen 753)
  (!srcfileloc  "coretypes.h" 94)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 229)
  (!srcfileloc  "coretypes.h" 92)
  nil )
 (!pair  "rtvec"
  (!type already_seen 229)
  (!srcfileloc  "coretypes.h" 91)
  nil )
 (!pair  "fixed_size_mode_pod"
  (!type already_seen 738)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "pod_mode<fixed_size_mode>"
  (!type already_seen 738)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "scalar_int_mode_pod"
  (!type already_seen 737)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "pod_mode<scalar_int_mode>"
  (!type already_seen 737)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "scalar_mode_pod"
  (!type already_seen 44)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "pod_mode<scalar_mode>"
  (!type already_seen 44)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "opt_scalar_float_mode"
  (!type already_seen 736)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "scalar_float_mode"
  (!type already_seen 731)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_mode<scalar_float_mode>"
  (!type already_seen 736)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_scalar_int_mode"
  (!type already_seen 735)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "scalar_int_mode"
  (!type already_seen 288)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_mode<scalar_int_mode>"
  (!type already_seen 735)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_scalar_mode"
  (!type already_seen 734)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "scalar_mode"
  (!type already_seen 45)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "opt_mode<scalar_mode>"
  (!type already_seen 734)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 100)
  (!srcfileloc  "coretypes.h" 58)
  nil )
 (!pair  "rtx"
  (!type already_seen 100)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 730)
  (!srcfileloc  "coretypes.h" 55)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 730)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 391)
  (!srcfileloc  "coretypes.h" 52)
  nil )
 (!pair  "bitmap"
  (!type already_seen 391)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_hash"
  (!type already_seen 724)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "hash_map<location_hash,string_concat*>"
  (!type already_seen 728)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "string_concat_db"
  (!type already_seen 725)
  (!srcfileloc  "input.h" 193)
  nil )
 (!pair  "string_concat"
  (!type already_seen 722)
  (!srcfileloc  "input.h" 182)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1271)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 719)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1258)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 718)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1244)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 717)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1093)
  nil )
 (!pair  "cpp_num_part"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1092)
  nil )
 (!pair  "missing_header_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 628)
  nil )
 (!pair  "cppchar_signed_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 293)
  nil )
 (!pair  "cppchar_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 292)
  nil )
 (!pair  "cpp_dir"
  (!type already_seen 713)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 712)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 20)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 12)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 689)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 685)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 711)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 710)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 709)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 700)
  (!srcfileloc  "../libcpp/include/line-map.h" 1264)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 694)
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 693)
  (!srcfileloc  "../libcpp/include/line-map.h" 778)
  nil )
 (!pair  "source_range"
  (!type already_seen 1)
  (!srcfileloc  "../libcpp/include/line-map.h" 749)
  nil )
 (!pair  "line_map_macro"
  (!type already_seen 691)
  (!srcfileloc  "../libcpp/include/line-map.h" 733)
  nil )
 (!pair  "line_map_ordinary"
  (!type already_seen 6)
  (!srcfileloc  "../libcpp/include/line-map.h" 718)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 353)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 349)
  nil )
 (!pair  "location_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 291)
  nil )
 (!pair  "linenum_arith_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 53)
  nil )
 (!pair  "linenum_type"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 50)
  nil )
 (!pair  "PTR"
  (!type already_seen 3)
  (!srcfileloc  "gengtype.c" 5210)
  nil )
 (!pair  "CONSTEXPR"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5209)
  nil )
 (!pair  "fixed_size_mode"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5208)
  nil )
 (!pair  "machine_mode"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5207)
  nil )
 (!pair  "void"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5206)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5205)
  nil )
 (!pair  "jword"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5204)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5203)
  nil )
 (!pair  "uint8"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5202)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5201)
  nil )
 (!pair  "poly_int64"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5200)
  nil )
 (!pair  "int64_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5199)
  nil )
 (!pair  "widest_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5198)
  nil )
 (!pair  "offset_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5197)
  nil )
 (!pair  "poly_int64_pod"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5196)
  nil )
 (!pair  "double_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5195)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5194)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5193)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5192)
  nil )
)
(!variables 723
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3611)
  nil )
 (!pair  "next_v2_EHTYPE_id_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3401)
  nil )
 (!pair  "next_v2_ehvtable_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3400)
  nil )
 (!pair  "objc_v2_ehtype_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3399)
  nil )
 (!pair  "ehtype_list"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3058)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2108)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "protlist"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2113)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2025)
  nil )
 (!pair  "category_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2014)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2003)
  nil )
 (!pair  "class_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1995)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1439)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1438)
  nil )
 (!pair  "protrefs"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 2102)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "classrefs"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "extern_names"
  (!type already_seen 2086)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 235)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 2111 nil  gc_used "OCTI_V2_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 185)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2112 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 182)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 2787)
  nil )
 (!pair  "V1_Property_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1517)
  nil )
 (!pair  "V1_ProtocolExt_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1516)
  nil )
 (!pair  "V1_Protocol_OPT_CLS_METHODS_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1515)
  nil )
 (!pair  "V1_Protocol_OPT_NST_METHODS_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1514)
  nil )
 (!pair  "objc_class_ext_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1109)
  nil )
 (!pair  "objc_protocol_extension_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1075)
  nil )
 (!pair  "objc_v1_property_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1045)
  nil )
 (!pair  "class_reference_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 677)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2113 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 107)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 2141)
  nil )
 (!pair  "num_static_inst"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 862)
  nil )
 (!pair  "meta_base"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 193)
  nil )
 (!pair  "objc_meta"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 192)
  nil )
 (!pair  "property_name_attr_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 292)
  nil )
 (!pair  "meth_var_types_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 291)
  nil )
 (!pair  "meth_var_names_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 290)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2114 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 54)
  nil )
 (!pair  "objc_parmlist"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-act.c" 8244)
  nil )
 (!pair  "interface_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 3790)
  nil )
 (!pair  "string_layout_checked"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.c" 3076)
  nil )
 (!pair  "string_htab"
  (!type already_seen 2095)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 164)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 163)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 159)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 158)
  nil )
 (!pair  "objc_global_trees"
  (!type array 2115 nil  gc_used "OCTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-act.h" 422)
  nil )
 (!pair  "objc_ivar_visibility"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 294)
  nil )
 (!pair  "cat_count"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 292)
  nil )
 (!pair  "imp_count"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 291)
  nil )
 (!pair  "imp_list"
  (!type already_seen 2090)
  (!srcfileloc  "objc/objc-act.h" 290)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-act.h" 277)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 327)
  (!srcfileloc  "lto/lto-common.c" 2657)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 327)
  (!srcfileloc  "lto/lto-common.c" 2624)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "types_to_register"
  (!type already_seen 84)
  (!srcfileloc  "lto/lto-common.c" 227)
  nil )
 (!pair  "tree_with_vars"
  (!type already_seen 84)
  (!srcfileloc  "lto/lto-common.h" 28)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 790)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 244)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 243)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 242)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 241)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 240)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 239)
  nil )
 (!pair  "builtin_types"
  (!type array 2116 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 237)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2117 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 172)
  nil )
 (!pair  "go_non_zero_struct"
  (!type already_seen 23)
  (!srcfileloc  "go/go-c.h" 79)
  nil )
 (!pair  "go_gc_root"
  (!type already_seen 23)
  (!srcfileloc  "go/go-lang.c" 563)
  nil )
 (!pair  "gfc_rank_cst"
  (!type array 2118 nil  gc_used "GFC_MAX_DIMENSIONS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-const.h" 65)
  nil )
 (!pair  "gfor_fndecl_random_init"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 959)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_exit"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 956)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_entry"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 955)
  nil )
 (!pair  "gfor_fndecl_sr_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 952)
  nil )
 (!pair  "gfor_fndecl_si_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 951)
  nil )
 (!pair  "gfor_fndecl_sc_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 950)
  nil )
 (!pair  "gfor_fndecl_is_contiguous0"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 947)
  nil )
 (!pair  "gfor_fndecl_kill_sub"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 946)
  nil )
 (!pair  "gfor_fndecl_kill"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 945)
  nil )
 (!pair  "gfor_fndecl_iargc"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 944)
  nil )
 (!pair  "gfor_fndecl_size1"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 943)
  nil )
 (!pair  "gfor_fndecl_size0"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 942)
  nil )
 (!pair  "gfor_fndecl_convert_char4_to_char1"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 939)
  nil )
 (!pair  "gfor_fndecl_convert_char1_to_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 938)
  nil )
 (!pair  "gfor_fndecl_select_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 935)
  nil )
 (!pair  "gfor_fndecl_adjustr_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 934)
  nil )
 (!pair  "gfor_fndecl_adjustl_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 933)
  nil )
 (!pair  "gfor_fndecl_string_minmax_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 932)
  nil )
 (!pair  "gfor_fndecl_string_trim_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 931)
  nil )
 (!pair  "gfor_fndecl_string_verify_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 930)
  nil )
 (!pair  "gfor_fndecl_string_scan_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 929)
  nil )
 (!pair  "gfor_fndecl_string_index_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 928)
  nil )
 (!pair  "gfor_fndecl_string_len_trim_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 927)
  nil )
 (!pair  "gfor_fndecl_concat_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 926)
  nil )
 (!pair  "gfor_fndecl_compare_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 925)
  nil )
 (!pair  "gfor_fndecl_select_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 924)
  nil )
 (!pair  "gfor_fndecl_adjustr"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 923)
  nil )
 (!pair  "gfor_fndecl_adjustl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 922)
  nil )
 (!pair  "gfor_fndecl_string_minmax"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 921)
  nil )
 (!pair  "gfor_fndecl_string_trim"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 920)
  nil )
 (!pair  "gfor_fndecl_string_verify"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 919)
  nil )
 (!pair  "gfor_fndecl_string_scan"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 918)
  nil )
 (!pair  "gfor_fndecl_string_index"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 917)
  nil )
 (!pair  "gfor_fndecl_string_len_trim"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 916)
  nil )
 (!pair  "gfor_fndecl_concat_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 915)
  nil )
 (!pair  "gfor_fndecl_compare_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 914)
  nil )
 (!pair  "gfor_fndecl_zgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 911)
  nil )
 (!pair  "gfor_fndecl_cgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 910)
  nil )
 (!pair  "gfor_fndecl_dgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 909)
  nil )
 (!pair  "gfor_fndecl_sgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 908)
  nil )
 (!pair  "gfor_fndecl_math_ishftc16"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 905)
  nil )
 (!pair  "gfor_fndecl_math_ishftc8"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 904)
  nil )
 (!pair  "gfor_fndecl_math_ishftc4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 903)
  nil )
 (!pair  "gfor_fndecl_math_powi"
  (!type array 2119 nil  gc_used "4" 
   (!type array 2120 nil  gc_used "3" 
    (!type already_seen 2062)
   )
  )
  (!srcfileloc  "fortran/trans.h" 902)
  nil )
 (!pair  "gfor_fndecl_caf_is_present"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 890)
  nil )
 (!pair  "gfor_fndecl_co_sum"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 889)
  nil )
 (!pair  "gfor_fndecl_co_reduce"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 888)
  nil )
 (!pair  "gfor_fndecl_co_min"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 887)
  nil )
 (!pair  "gfor_fndecl_co_max"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 886)
  nil )
 (!pair  "gfor_fndecl_co_broadcast"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 885)
  nil )
 (!pair  "gfor_fndecl_caf_team_number"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 884)
  nil )
 (!pair  "gfor_fndecl_caf_sync_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 883)
  nil )
 (!pair  "gfor_fndecl_caf_get_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 882)
  nil )
 (!pair  "gfor_fndecl_caf_end_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 881)
  nil )
 (!pair  "gfor_fndecl_caf_change_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 880)
  nil )
 (!pair  "gfor_fndecl_caf_form_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 879)
  nil )
 (!pair  "gfor_fndecl_caf_stopped_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 878)
  nil )
 (!pair  "gfor_fndecl_caf_image_status"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 877)
  nil )
 (!pair  "gfor_fndecl_caf_failed_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 876)
  nil )
 (!pair  "gfor_fndecl_caf_fail_image"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 875)
  nil )
 (!pair  "gfor_fndecl_caf_event_query"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 874)
  nil )
 (!pair  "gfor_fndecl_caf_event_wait"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 873)
  nil )
 (!pair  "gfor_fndecl_caf_event_post"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 872)
  nil )
 (!pair  "gfor_fndecl_caf_unlock"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 871)
  nil )
 (!pair  "gfor_fndecl_caf_lock"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 870)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_op"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 869)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_cas"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 868)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 867)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_def"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 866)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop_str"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 865)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 864)
  nil )
 (!pair  "gfor_fndecl_caf_stop_str"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 863)
  nil )
 (!pair  "gfor_fndecl_caf_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 862)
  nil )
 (!pair  "gfor_fndecl_caf_sync_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 861)
  nil )
 (!pair  "gfor_fndecl_caf_sync_memory"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 860)
  nil )
 (!pair  "gfor_fndecl_caf_sync_all"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 859)
  nil )
 (!pair  "gfor_fndecl_caf_sendget_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 858)
  nil )
 (!pair  "gfor_fndecl_caf_send_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 857)
  nil )
 (!pair  "gfor_fndecl_caf_get_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 856)
  nil )
 (!pair  "gfor_fndecl_caf_sendget"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 855)
  nil )
 (!pair  "gfor_fndecl_caf_send"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 854)
  nil )
 (!pair  "gfor_fndecl_caf_get"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 853)
  nil )
 (!pair  "gfor_fndecl_caf_deregister"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 852)
  nil )
 (!pair  "gfor_fndecl_caf_register"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 851)
  nil )
 (!pair  "gfor_fndecl_caf_num_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 850)
  nil )
 (!pair  "gfor_fndecl_caf_this_image"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 849)
  nil )
 (!pair  "gfor_fndecl_caf_finalize"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 848)
  nil )
 (!pair  "gfor_fndecl_caf_init"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 847)
  nil )
 (!pair  "gfor_fndecl_system_clock8"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 843)
  nil )
 (!pair  "gfor_fndecl_system_clock4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 842)
  nil )
 (!pair  "gfor_fndecl_associated"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 841)
  nil )
 (!pair  "gfor_fndecl_gfc_to_cfi"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 840)
  nil )
 (!pair  "gfor_fndecl_cfi_to_gfc"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 839)
  nil )
 (!pair  "gfor_fndecl_in_unpack"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 838)
  nil )
 (!pair  "gfor_fndecl_in_pack"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 837)
  nil )
 (!pair  "gfor_fndecl_fdate"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 836)
  nil )
 (!pair  "gfor_fndecl_ctime"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 835)
  nil )
 (!pair  "gfor_fndecl_ttynam"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 834)
  nil )
 (!pair  "gfor_fndecl_set_options"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 833)
  nil )
 (!pair  "gfor_fndecl_set_fpe"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 832)
  nil )
 (!pair  "gfor_fndecl_generate_error"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 831)
  nil )
 (!pair  "gfor_fndecl_os_error_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 830)
  nil )
 (!pair  "gfor_fndecl_runtime_warning_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 829)
  nil )
 (!pair  "gfor_fndecl_runtime_error_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 828)
  nil )
 (!pair  "gfor_fndecl_runtime_error"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 827)
  nil )
 (!pair  "gfor_fndecl_error_stop_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 826)
  nil )
 (!pair  "gfor_fndecl_error_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 825)
  nil )
 (!pair  "gfor_fndecl_stop_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 824)
  nil )
 (!pair  "gfor_fndecl_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 823)
  nil )
 (!pair  "gfor_fndecl_pause_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 822)
  nil )
 (!pair  "gfor_fndecl_pause_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 821)
  nil )
 (!pair  "gfc_static_ctors"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 710)
  nil )
 (!pair  "gfc_charlen_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 53)
  nil )
 (!pair  "logical_false_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 49)
  nil )
 (!pair  "logical_true_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 48)
  nil )
 (!pair  "logical_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 47)
  nil )
 (!pair  "gfc_complex_float128_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 35)
  nil )
 (!pair  "gfc_float128_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 34)
  nil )
 (!pair  "pchar_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 33)
  nil )
 (!pair  "prvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 32)
  nil )
 (!pair  "pvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 31)
  nil )
 (!pair  "ppvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 30)
  nil )
 (!pair  "gfc_character1_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 29)
  nil )
 (!pair  "gfc_array_range_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 28)
  nil )
 (!pair  "gfc_array_index_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 27)
  nil )
 (!pair  "gfc_pcharacter_types"
  (!type array 2121 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_character_types"
  (!type array 2122 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 96)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 2123 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_real_types"
  (!type array 2124 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 2125 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 2126 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 86)
  nil )
 (!pair  "gfc_array_descriptor_base_caf"
  (!type array 2127 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 78)
  nil )
 (!pair  "gfc_array_descriptor_base"
  (!type array 2128 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 77)
  nil )
 (!pair  "gfc_max_array_element_size"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.c" 76)
  nil )
 (!pair  "gfc_desc_dim_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.c" 75)
  nil )
 (!pair  "select_struct"
  (!type array 2129 nil  gc_used "2" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-stmt.c" 3213)
  nil )
 (!pair  "dt_parm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-io.c" 162)
  nil )
 (!pair  "iocall"
  (!type array 2130 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-io.c" 153)
  nil )
 (!pair  "st_parameter_field"
  (!type array 2131 nil  gc_used "" 
   (!type already_seen 2048)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 2132 nil  gc_used "" 
   (!type already_seen 2049)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 2133 nil  gc_used "" 
   (!type already_seen 2047)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 114)
  nil )
 (!pair  "module_htab"
  (!type already_seen 2042)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "saved_local_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 68)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 63)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 58)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 57)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "fortran/f95-lang.c" 311)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "fortran/f95-lang.c" 307)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 23)
  (!srcfileloc  "fortran/f95-lang.c" 185)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "fortran/f95-lang.c" 179)
  nil )
 (!pair  "tinfo_types"
  (!type array 2134 nil  gc_used "TK_END" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/typeinfo.cc" 93)
  nil )
 (!pair  "static_dtor_list"
  (!type already_seen 84)
  (!srcfileloc  "d/modules.cc" 126)
  nil )
 (!pair  "static_ctor_list"
  (!type already_seen 84)
  (!srcfileloc  "d/modules.cc" 125)
  nil )
 (!pair  "d_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 1768)
  nil )
 (!pair  "d_keep_list"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 1757)
  nil )
 (!pair  "global_declarations"
  (!type already_seen 84)
  (!srcfileloc  "d/d-lang.cc" 98)
  nil )
 (!pair  "global_context"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 95)
  nil )
 (!pair  "builtin_types"
  (!type array 2135 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 1001)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2136 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 905)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 764)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 763)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 762)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 761)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 760)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 759)
  nil )
 (!pair  "gcc_builtins_types"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 46)
  nil )
 (!pair  "gcc_builtins_libfuncs"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 45)
  nil )
 (!pair  "gcc_builtins_functions"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 44)
  nil )
 (!pair  "d_global_trees"
  (!type array 2137 nil  gc_used "DTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-tree.h" 425)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "d/d-tree.h" 121)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "d/d-tree.h" 120)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 84)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 2016)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "deleted_copy_types"
  (!type already_seen 472)
  (!srcfileloc  "cp/tree.c" 4087)
  nil )
 (!pair  "list_hash_table"
  (!type already_seen 2009)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 2005)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access_no_check"
  (!type already_seen 2)
  (!srcfileloc  "cp/semantics.c" 139)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 2000)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 1997)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "dguide_cache"
  (!type already_seen 1994)
  (!srcfileloc  "cp/pt.c" 28697)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "explicit_specifier_map"
  (!type already_seen 939)
  (!srcfileloc  "cp/pt.c" 13527)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "defarg_inst"
  (!type already_seen 939)
  (!srcfileloc  "cp/pt.c" 13416)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "last_error_tinst_level"
  (!type already_seen 1842)
  (!srcfileloc  "cp/pt.c" 10726)
  nil )
 (!pair  "pending_template_freelist_head"
  (!type already_seen 1980)
  (!srcfileloc  "cp/pt.c" 9378)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tinst_level_freelist_head"
  (!type already_seen 1842)
  (!srcfileloc  "cp/pt.c" 9369)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tree_list_freelist_head"
  (!type already_seen 23)
  (!srcfileloc  "cp/pt.c" 9360)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "defaulted_ttp_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/pt.c" 7673)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tparm_obj_values"
  (!type already_seen 398)
  (!srcfileloc  "cp/pt.c" 7026)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 84)
  (!srcfileloc  "cp/pt.c" 127)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1984)
  (!srcfileloc  "cp/pt.c" 121)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 1984)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "saved_access_scope"
  (!type already_seen 84)
  (!srcfileloc  "cp/pt.c" 71)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 1842)
  (!srcfileloc  "cp/pt.c" 69)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 23)
  (!srcfileloc  "cp/pt.c" 66)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 1980)
  (!srcfileloc  "cp/pt.c" 61)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 1980)
  (!srcfileloc  "cp/pt.c" 60)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 2)
  (!srcfileloc  "cp/parser.c" 44012)
  nil )
 (!pair  "the_parser"
  (!type already_seen 1868)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 1860)
  (!srcfileloc  "cp/parser.c" 1907)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_saved_scope"
  (!type already_seen 1823)
  (!srcfileloc  "cp/name-lookup.c" 7094)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_level"
  (!type already_seen 82)
  (!srcfileloc  "cp/name-lookup.c" 3303)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "extern_c_decls"
  (!type already_seen 91)
  (!srcfileloc  "cp/name-lookup.c" 2517)
  nil )
 (!pair  "free_bindings"
  (!type already_seen 89)
  (!srcfileloc  "cp/name-lookup.c" 1938)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 543)
  (!srcfileloc  "cp/name-lookup.c" 1732)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "comp_cat_cache"
  (!type array 2138 nil  gc_used "cc_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/method.c" 910)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 2)
  (!srcfileloc  "cp/method.c" 183)
  nil )
 (!pair  "subst_identifiers"
  (!type array 2139 nil  gc_used "SUBID_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/mangle.c" 151)
  nil )
 (!pair  "G"
  (!type already_seen 1960)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_cache"
  (!type already_seen 1959)
  (!srcfileloc  "cp/logic.cc" 817)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "conv_type_names"
  (!type already_seen 1952)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 1948)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 2)
  (!srcfileloc  "cp/lambda.c" 1355)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 1354)
  nil )
 (!pair  "max_id"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 471)
  nil )
 (!pair  "ptr_id"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 470)
  nil )
 (!pair  "nsdmi_inst"
  (!type already_seen 939)
  (!srcfileloc  "cp/init.c" 552)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "fn"
  (!type already_seen 23)
  (!srcfileloc  "cp/init.c" 53)
  nil )
 (!pair  "global_friend"
  (!type already_seen 23)
  (!srcfileloc  "cp/friend.c" 35)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 1945)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 3723)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3719)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3716)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3713)
  nil )
 (!pair  "mangled_decls"
  (!type already_seen 1942)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "mangling_aliases"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 103)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 99)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 95)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 91)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 2)
  (!srcfileloc  "cp/decl.c" 8639)
  nil )
 (!pair  "decomp_type_table"
  (!type already_seen 939)
  (!srcfileloc  "cp/decl.c" 8121)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "typename_htab"
  (!type already_seen 1935)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "local_entities"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl.c" 875)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 1930)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "debug_type_map"
  (!type already_seen 942)
  (!srcfileloc  "cp/cp-objcp-common.c" 126)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-lang.c" 132)
  nil )
 (!pair  "source_location_id"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-gimplify.c" 3212)
  nil )
 (!pair  "source_location_table"
  (!type already_seen 1927)
  (!srcfileloc  "cp/cp-gimplify.c" 3211)
  nil )
 (!pair  "fold_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/cp-gimplify.c" 2465)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "void_coro_handle_type"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 247)
  nil )
 (!pair  "coro_handle_templ"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 246)
  nil )
 (!pair  "coro_traits_templ"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 245)
  nil )
 (!pair  "coro_await_resume_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 213)
  nil )
 (!pair  "coro_await_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 212)
  nil )
 (!pair  "coro_await_ready_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 211)
  nil )
 (!pair  "coro_unhandled_exception_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 207)
  nil )
 (!pair  "coro_gro_on_allocation_fail_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 206)
  nil )
 (!pair  "coro_get_return_object_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 205)
  nil )
 (!pair  "coro_from_address_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 204)
  nil )
 (!pair  "coro_address_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 203)
  nil )
 (!pair  "coro_resume_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 202)
  nil )
 (!pair  "coro_yield_value_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 201)
  nil )
 (!pair  "coro_return_value_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 200)
  nil )
 (!pair  "coro_return_void_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 199)
  nil )
 (!pair  "coro_final_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 198)
  nil )
 (!pair  "coro_initial_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 197)
  nil )
 (!pair  "coro_await_transform_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 196)
  nil )
 (!pair  "coro_promise_type_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 192)
  nil )
 (!pair  "coro_handle_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 191)
  nil )
 (!pair  "coro_traits_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 190)
  nil )
 (!pair  "coroutine_info_table"
  (!type already_seen 1909)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "decl_satisfied_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/constraint.cc" 2311)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "sat_cache"
  (!type already_seen 1904)
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "decl_constraints"
  (!type already_seen 939)
  (!srcfileloc  "cp/constraint.cc" 1157)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "normalized_map"
  (!type already_seen 398)
  (!srcfileloc  "cp/constraint.cc" 758)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "cv_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/constexpr.c" 6893)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "fundef_copies_table"
  (!type already_seen 398)
  (!srcfileloc  "cp/constexpr.c" 1152)
  nil )
 (!pair  "constexpr_call_table"
  (!type already_seen 1895)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1889)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "dvirt_fn"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 9719)
  nil )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 9718)
  nil )
 (!pair  "enum_to_min_precision"
  (!type already_seen 1883)
  (!srcfileloc  "cp/class.c" 3302)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 84)
  (!srcfileloc  "cp/call.c" 8075)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 7043)
  nil )
 (!pair  "ovl_op_alternate"
  (!type array 2140 nil  gc_used "OVL_OP_MAX" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5870)
  nil )
 (!pair  "ovl_op_mapping"
  (!type array 2141 nil  gc_used "MAX_TREE_CODES" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5868)
  nil )
 (!pair  "ovl_op_info"
  (!type array 2142 nil  gc_used "2" 
   (!type array 2143 nil  gc_used "OVL_OP_MAX" 
    (!type already_seen 1837)
   )
  )
  (!srcfileloc  "cp/cp-tree.h" 5866)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5538)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5536)
  nil )
 (!pair  "keyed_classes"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 5445)
  nil )
 (!pair  "static_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 5441)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5364)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 1823)
  (!srcfileloc  "cp/cp-tree.h" 1733)
  nil )
 (!pair  "cp_global_trees"
  (!type array 2144 nil  gc_used "CPTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/cp-tree.h" 219)
  nil )
 (!pair  "current_omp_declare_target_attribute"
  (!type already_seen 2)
  (!srcfileloc  "c/c-lang.h" 66)
  nil )
 (!pair  "the_parser"
  (!type already_seen 1803)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "locus"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 71)
  nil )
 (!pair  "local_cgraph_node_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 70)
  nil )
 (!pair  "local_gimple_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 69)
  nil )
 (!pair  "local_event_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 68)
  nil )
 (!pair  "local_tree_type_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 67)
  nil )
 (!pair  "options_stack"
  (!type already_seen 1786)
  (!srcfileloc  "c-family/c-pragma.c" 1008)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 1784)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 1781)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 1778)
  (!srcfileloc  "c-family/c-pragma.c" 49)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-pragma.h" 253)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1635)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 2145 nil  gc_used "LAZY_HEX_FP_VALUES_CNT" 
   (!type already_seen 1774)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1634)
  nil )
 (!pair  "g_string_concat_db"
  (!type already_seen 726)
  (!srcfileloc  "c-family/c-common.h" 1110)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-common.h" 1093)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-common.h" 1046)
  nil )
 (!pair  "c_global_trees"
  (!type array 2146 nil  gc_used "CTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c-family/c-common.h" 514)
  nil )
 (!pair  "ridpointers"
  (!type already_seen 24)
  (!srcfileloc  "c-family/c-common.h" 295)
  (!options 
   (!option length string  "(int) RID_MAX")
  )
 )
 (!pair  "tree_vector_cache"
  (!type already_seen 1764)
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 1762)
  (!srcfileloc  "c-family/c-common.c" 5524)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-common.c" 4474)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2147 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c-family/c-common.c" 3763)
  nil )
 (!pair  "ext_block"
  (!type already_seen 23)
  (!srcfileloc  "c/c-decl.c" 11841)
  nil )
 (!pair  "last_structptr_types"
  (!type array 2148 nil  gc_used "builtin_structptr_type_count" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c/c-decl.c" 1654)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 1754)
  (!srcfileloc  "c/c-decl.c" 558)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 644)
  (!srcfileloc  "c/c-decl.c" 510)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 506)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 502)
  nil )
 (!pair  "file_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 497)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "current_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 487)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 23)
  (!srcfileloc  "c/c-decl.c" 120)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 453)
  (!srcfileloc  "c/c-decl.c" 113)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 584)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 583)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 582)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 581)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 580)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 579)
  nil )
 (!pair  "builtin_types"
  (!type array 2149 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 577)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2150 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 574)
  nil )
 (!pair  "brig_gc_root"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 434)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 327)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/misc.c" 1332)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2151 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6170)
  nil )
 (!pair  "builtin_types"
  (!type array 2152 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6003)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5764)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1741)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 259)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "builtin_decls"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/utils.c" 256)
  nil )
 (!pair  "global_decls"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/utils.c" 253)
  nil )
 (!pair  "global_context"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 250)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 1737)
  (!srcfileloc  "ada/gcc-interface/utils.c" 247)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 1737)
  (!srcfileloc  "ada/gcc-interface/utils.c" 244)
  nil )
 (!pair  "float_types"
  (!type array 2153 nil  gc_used "NUM_MACHINE_MODES" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 228)
  nil )
 (!pair  "signed_and_unsigned_types"
  (!type array 2154 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 2155 nil  gc_used "2" 
    (!type already_seen 23)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 225)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 24)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 24)
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/trans.c" 11189)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 1734)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 177)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 173)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/trans.c" 170)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 167)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 1726)
  (!srcfileloc  "ada/gcc-interface/trans.c" 162)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 1724)
  (!srcfileloc  "ada/gcc-interface/trans.c" 149)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 1724)
  (!srcfileloc  "ada/gcc-interface/trans.c" 146)
  nil )
 (!pair  "dummy_to_subprog_map"
  (!type already_seen 1719)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "annotate_value_cache"
  (!type already_seen 1711)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 2156 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 453)
  nil )
 (!pair  "gnat_raise_decls"
  (!type array 2157 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 452)
  nil )
 (!pair  "gnat_std_decls"
  (!type array 2158 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 451)
  nil )
 (!pair  "arm_builtin_decls"
  (!type array 2159 nil  gc_used "ARM_BUILTIN_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/arm/arm-builtins.c" 1349)
  nil )
 (!pair  "omp_requires_mask"
  (!type already_seen 2)
  (!srcfileloc  "omp-general.h" 115)
  nil )
 (!pair  "alloc_object_size_limit"
  (!type already_seen 23)
  (!srcfileloc  "calls.c" 1219)
  nil )
 (!pair  "hsa_tree_gt_roots"
  (!type array 2160 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "hsa-common.c" 745)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 1688)
  (!srcfileloc  "hsa-common.c" 68)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 2161 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "internal-fn.h" 124)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 1676)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "ubsan_vptr_type_cache_decl"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 1200)
  nil )
 (!pair  "ubsan_ids"
  (!type array 2162 nil  gc_used "2" 
   (!type already_seen 2)
  )
  (!srcfileloc  "ubsan.c" 344)
  nil )
 (!pair  "ubsan_source_location_type"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 239)
  nil )
 (!pair  "ubsan_type_descriptor_type"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 189)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1660)
  (!srcfileloc  "ubsan.c" 82)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 23)
  (!srcfileloc  "asan.c" 3052)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 23)
  (!srcfileloc  "asan.c" 354)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 2163 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "asan.c" 351)
  nil )
 (!pair  "vtbl_mangled_name_ids"
  (!type already_seen 84)
  (!srcfileloc  "vtable-verify.c" 309)
  nil )
 (!pair  "vtbl_mangled_name_types"
  (!type already_seen 84)
  (!srcfileloc  "vtable-verify.c" 308)
  nil )
 (!pair  "verify_vtbl_ptr_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "vtable-verify.c" 151)
  nil )
 (!pair  "ipa_fn_summaries"
  (!type already_seen 1640)
  (!srcfileloc  "ipa-fnsummary.h" 221)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1597)
  (!srcfileloc  "trans-mem.c" 465)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipcp_transformation_sum"
  (!type already_seen 1594)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum"
  (!type already_seen 1591)
  (!srcfileloc  "ipa-prop.h" 877)
  nil )
 (!pair  "ipa_node_params_sum"
  (!type already_seen 1589)
  (!srcfileloc  "ipa-prop.h" 875)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 390)
  (!srcfileloc  "tree-ssa-alias.h" 176)
  nil )
 (!pair  "free_phinodes"
  (!type array 2164 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1576)
  )
  (!srcfileloc  "tree-phinodes.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_ids"
  (!type already_seen 1573)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 23)
  (!srcfileloc  "cgraphunit.c" 220)
  nil )
 (!pair  "arm_previous_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 32214)
  nil )
 (!pair  "tls_get_addr_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.c" 8945)
  nil )
 (!pair  "pic_labelno"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 8081)
  nil )
 (!pair  "init_optimize"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 3021)
  nil )
 (!pair  "thumb_flipper"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 3018)
  nil )
 (!pair  "va_list_type"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 2814)
  nil )
 (!pair  "speculation_barrier_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.c" 2500)
  nil )
 (!pair  "stack_chk_fail_decl"
  (!type already_seen 23)
  (!srcfileloc  "targhooks.c" 880)
  nil )
 (!pair  "stack_chk_guard_decl"
  (!type already_seen 23)
  (!srcfileloc  "targhooks.c" 847)
  nil )
 (!pair  "critical_name_mutexes"
  (!type already_seen 398)
  (!srcfileloc  "omp-low.c" 9392)
  nil )
 (!pair  "grid_attr_trees"
  (!type already_seen 1532)
  (!srcfileloc  "omp-expand.c" 7673)
  nil )
 (!pair  "offload_vars"
  (!type already_seen 84)
  (!srcfileloc  "omp-offload.h" 30)
  nil )
 (!pair  "offload_funcs"
  (!type already_seen 84)
  (!srcfileloc  "omp-offload.h" 29)
  nil )
 (!pair  "descriptor_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-nested.c" 545)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-nested.c" 505)
  nil )
 (!pair  "ic_tuple_callee_field"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 71)
  nil )
 (!pair  "ic_tuple_counters_field"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 70)
  nil )
 (!pair  "ic_tuple_var"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 69)
  nil )
 (!pair  "tree_time_profiler_counter"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 66)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 65)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 64)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 63)
  nil )
 (!pair  "tree_topn_values_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 62)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 61)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 60)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 59)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1518)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 2)
  (!srcfileloc  "gimple-expr.c" 415)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 84)
  (!srcfileloc  "tree-iterator.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "addr_list"
  (!type already_seen 219)
  (!srcfileloc  "tree-ssa-loop-ivopts.c" 2590)
  nil )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1478)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 8069)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 8068)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1456)
  (!srcfileloc  "varasm.c" 6091)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 5746)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1451)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "initial_trampoline"
  (!type already_seen 100)
  (!srcfileloc  "varasm.c" 2670)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 2465)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 2396)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1002)
  (!srcfileloc  "varasm.c" 206)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 203)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1448)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1445)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "unnamed_sections"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 174)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 81)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 11)
  (!srcfileloc  "varasm.c" 67)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 11)
  (!srcfileloc  "varasm.c" 66)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 12834)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 9587)
  nil )
 (!pair  "nonstandard_boolean_type_cache"
  (!type array 2165 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 8034)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 2166 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 7994)
  nil )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1439)
  (!srcfileloc  "tree.c" 262)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 242)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 239)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1434)
  (!srcfileloc  "tree.c" 233)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 225)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 224)
  nil )
 (!pair  "poly_int_cst_hash_table"
  (!type already_seen 1431)
  (!srcfileloc  "tree.c" 217)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1428)
  (!srcfileloc  "tree.c" 206)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 198)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1425)
  (!srcfileloc  "tree.c" 195)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 163)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 160)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 158)
  nil )
 (!pair  "spd"
  (!type already_seen 1421)
  (!srcfileloc  "stringpool.c" 240)
  nil )
 (!pair  "size_functions"
  (!type already_seen 84)
  (!srcfileloc  "stor-layout.c" 88)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 295)
  (!srcfileloc  "cfgrtl.c" 74)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 295)
  (!srcfileloc  "cfgrtl.c" 73)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 1397)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "unused_expr_list"
  (!type already_seen 100)
  (!srcfileloc  "lists.c" 34)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 100)
  (!srcfileloc  "lists.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 84)
  (!srcfileloc  "godump.c" 57)
  nil )
 (!pair  "test_insn"
  (!type already_seen 295)
  (!srcfileloc  "gcse.c" 823)
  nil )
 (!pair  "dummy_unittesting_tree"
  (!type already_seen 23)
  (!srcfileloc  "ggc-tests.c" 454)
  nil )
 (!pair  "root_user_struct_ptr"
  (!type already_seen 1376)
  (!srcfileloc  "ggc-tests.c" 401)
  nil )
 (!pair  "root_test_node"
  (!type already_seen 1374)
  (!srcfileloc  "ggc-tests.c" 339)
  nil )
 (!pair  "test_some_other_subclass_as_base_ptr"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 286)
  nil )
 (!pair  "test_some_subclass_as_base_ptr"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 285)
  nil )
 (!pair  "test_some_other_subclass"
  (!type already_seen 1372)
  (!srcfileloc  "ggc-tests.c" 284)
  nil )
 (!pair  "test_some_subclass"
  (!type already_seen 1370)
  (!srcfileloc  "ggc-tests.c" 283)
  nil )
 (!pair  "test_example_base"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 282)
  nil )
 (!pair  "test_of_deletable"
  (!type already_seen 915)
  (!srcfileloc  "ggc-tests.c" 216)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "root_test_of_union_2"
  (!type already_seen 1365)
  (!srcfileloc  "ggc-tests.c" 146)
  nil )
 (!pair  "root_test_of_union_1"
  (!type already_seen 1365)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "root_test_of_length"
  (!type already_seen 1362)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "root_test_struct"
  (!type already_seen 915)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 23)
  (!srcfileloc  "except.c" 155)
  nil )
 (!pair  "setjmp_fn"
  (!type already_seen 23)
  (!srcfileloc  "except.c" 152)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 1349)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "call_site_base"
  (!type already_seen 2)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 2)
  (!srcfileloc  "function.c" 4590)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1341)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1337)
  (!srcfileloc  "function.c" 129)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1337)
  (!srcfileloc  "function.c" 127)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 2)
  (!srcfileloc  "function.c" 109)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "explow.c" 1610)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 2167 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 2168 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 100)
   )
  )
  (!srcfileloc  "emit-rtl.c" 6481)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 990)
  (!srcfileloc  "emit-rtl.c" 5487)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "spill_slot_decl"
  (!type already_seen 23)
  (!srcfileloc  "emit-rtl.c" 2638)
  nil )
 (!pair  "const_fixed_htab"
  (!type already_seen 1326)
  (!srcfileloc  "emit-rtl.c" 189)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1323)
  (!srcfileloc  "emit-rtl.c" 180)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1320)
  (!srcfileloc  "emit-rtl.c" 171)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_poly_int_htab"
  (!type already_seen 1317)
  (!srcfileloc  "emit-rtl.c" 162)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1314)
  (!srcfileloc  "emit-rtl.c" 152)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1311)
  (!srcfileloc  "emit-rtl.c" 144)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "emit-rtl.c" 94)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1308)
  (!srcfileloc  "emit-rtl.h" 323)
  nil )
 (!pair  "shift_test"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 127)
  nil )
 (!pair  "and_test"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 126)
  nil )
 (!pair  "and_reg"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 125)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 2)
  (!srcfileloc  "tree-vect-generic.c" 101)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-vect-generic.c" 100)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-vect-generic.c" 99)
  nil )
 (!pair  "inline_entry_data_table"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_die_map"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "generic_type_instances"
  (!type already_seen 84)
  (!srcfileloc  "dwarf2out.c" 3612)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3604)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 508)
  (!srcfileloc  "dwarf2out.c" 3601)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3598)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3595)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3592)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "macinfo_table"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3572)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3557)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3556)
  nil )
 (!pair  "cur_line_info_table"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 3539)
  nil )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1247)
  (!srcfileloc  "dwarf2out.c" 3507)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hash"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "file_table"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3389)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3385)
  nil )
 (!pair  "cu_die_list"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3382)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 494)
  (!srcfileloc  "dwarf2out.c" 3379)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.c" 3376)
  nil )
 (!pair  "zero_view_p"
  (!type already_seen 391)
  (!srcfileloc  "dwarf2out.c" 3301)
  nil )
 (!pair  "do_eh_frame"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 284)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 100)
  (!srcfileloc  "dwarf2out.c" 281)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.c" 272)
  nil )
 (!pair  "auto_die"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.c" 269)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 266)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 263)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 262)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 259)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 256)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "debug_line_str_hash"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 233)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1210)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 174)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 173)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 172)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 171)
  nil )
 (!pair  "debug_line_str_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 170)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 169)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 84)
  (!srcfileloc  "dwarf2out.c" 152)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 219)
  (!srcfileloc  "dwarf2out.c" 146)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2cfi.c" 3512)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2cfi.c" 197)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1203)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1201)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2asm.c" 867)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1199)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 476)
  (!srcfileloc  "dwarf2out.h" 297)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 254)
  nil )
 (!pair  "lastlineno"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 250)
  nil )
 (!pair  "lastfile"
  (!type already_seen 11)
  (!srcfileloc  "dbxout.c" 246)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 242)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 237)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 233)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 229)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 23)
  (!srcfileloc  "dbxout.c" 196)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 190)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 184)
  nil )
 (!pair  "typevec"
  (!type already_seen 1194)
  (!srcfileloc  "dbxout.c" 180)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "func_sums"
  (!type already_seen 1188)
  (!srcfileloc  "ipa-sra.c" 427)
  nil )
 (!pair  "ipa_vr_hash_table"
  (!type already_seen 1097)
  (!srcfileloc  "ipa-prop.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_bits_hash_table"
  (!type already_seen 1094)
  (!srcfileloc  "ipa-prop.c" 105)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1036)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1090)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "callmem"
  (!type already_seen 100)
  (!srcfileloc  "cselib.c" 237)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 393)
  (!srcfileloc  "bitmap.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 2)
  (!srcfileloc  "alias.c" 1358)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 2)
  (!srcfileloc  "alias.c" 1336)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1083)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 257)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 238)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 100)
  (!srcfileloc  "alias.c" 230)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 225)
  nil )
 (!pair  "restinsn"
  (!type already_seen 295)
  (!srcfileloc  "caller-save.c" 107)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 295)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "test_mem"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_reg"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "restpat"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "savepat"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "saved_symtab"
  (!type already_seen 1059)
  (!srcfileloc  "cgraph.h" 3585)
  nil )
 (!pair  "symtab"
  (!type already_seen 1059)
  (!srcfileloc  "cgraph.h" 2591)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 522)
  nil )
 (!pair  "in_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 521)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 519)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 518)
  nil )
 (!pair  "comm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 517)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "exception_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 514)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "bss_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "data_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "text_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 84)
  (!srcfileloc  "function.h" 480)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1013)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "cfun"
  (!type already_seen 356)
  (!srcfileloc  "function.h" 445)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 101)
  (!srcfileloc  "function.h" 87)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 609)
  (!srcfileloc  "libfuncs.h" 64)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 11)
  (!srcfileloc  "tree-core.h" 2245)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 23)
  (!srcfileloc  "tree-core.h" 2242)
  nil )
 (!pair  "builtin_info"
  (!type array 2169 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 979)
  )
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "sizetype_tab"
  (!type array 2170 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2224)
  nil )
 (!pair  "integer_types"
  (!type array 2171 nil  gc_used "itk_none" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2221)
  nil )
 (!pair  "global_trees"
  (!type array 2172 nil  gc_used "TI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2217)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 84)
  (!srcfileloc  "tree-core.h" 2214)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 982)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "int_n_trees"
  (!type array 2173 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 964)
  )
  (!srcfileloc  "tree.h" 6146)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 4332)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 592)
  (!srcfileloc  "rtl.h" 3765)
  nil )
 (!pair  "invalid_insn_rtx"
  (!type already_seen 295)
  (!srcfileloc  "rtl.h" 3663)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3662)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3661)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3660)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3659)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 2174 nil  gc_used "4" 
   (!type array 2175 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 100)
   )
  )
  (!srcfileloc  "rtl.h" 3646)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3644)
  nil )
 (!pair  "const_int_rtx"
  (!type array 2176 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 100)
  )
  (!srcfileloc  "rtl.h" 3638)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 101)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 100)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 99)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 2177 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 23)
  )
  (!srcfileloc  "coverage.c" 94)
  nil )
 (!pair  "functions_head"
  (!type already_seen 903)
  (!srcfileloc  "coverage.c" 85)
  nil )
 (!pair  "thumb_call_via_label"
  (!type array 2178 nil  gc_used "14" 
   (!type already_seen 100)
  )
  (!srcfileloc  "config/arm/arm.h" 1530)
  nil )
 (!pair  "arm_target_insn"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.h" 76)
  nil )
 (!pair  "saved_line_table"
  (!type already_seen 699)
  (!srcfileloc  "input.h" 27)
  nil )
 (!pair  "line_table"
  (!type already_seen 699)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
