;;;;@@@@ 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-aarch64-cros-linux-gnu/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 220
 (!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/aarch64/biarchlp64.h")
 (!srcfile 2047  "config/aarch64/aarch64.h")
 (!srcfile 2047  "config/dbxelf.h")
 (!srcfile 2047  "config/elfos.h")
 (!srcfile 2047  "config/gnu-user.h")
 (!srcfile 2047  "config/linux.h")
 (!srcfile 2047  "config/glibc-stdint.h")
 (!srcfile 2047  "config/aarch64/aarch64-elf.h")
 (!srcfile 2047  "config/aarch64/aarch64-errata.h")
 (!srcfile 2047  "config/aarch64/aarch64-linux.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/aarch64/aarch64.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/aarch64/aarch64-builtins.c")
 (!srcfile 2047  "config/aarch64/aarch64-sve-builtins.h")
 (!srcfile 2047  "config/aarch64/aarch64-sve-builtins.cc")
 (!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 1632
 
 (!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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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-aarch64-cros-linux-gnu/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/aarch64/aarch64.h" 862)
                            (!fields 3 
                             (!pair  "frame"
                              (!type struct 427 nil  gc_used "aarch64_frame"
                               (!srcfileloc  "config/aarch64/aarch64.h" 854)
                               (!fields 17 
                                (!pair  "reg_offset"
                                 (!type array 428 nil  gc_used "LAST_SAVED_REGNUM + 1" 
                                  (!type already_seen 2)
                                 )
                                 (!srcfileloc  "config/aarch64/aarch64.h" 794)
                                 nil )
                                (!pair  "saved_varargs_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 800)
                                 nil )
                                (!pair  "saved_regs_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 803)
                                 nil )
                                (!pair  "below_hard_fp_saved_regs_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 807)
                                 nil )
                                (!pair  "locals_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 812)
                                 nil )
                                (!pair  "hard_fp_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 817)
                                 nil )
                                (!pair  "frame_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 822)
                                 nil )
                                (!pair  "initial_adjust"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 825)
                                 nil )
                                (!pair  "callee_adjust"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 829)
                                 nil )
                                (!pair  "callee_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 833)
                                 nil )
                                (!pair  "sve_callee_adjust"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 837)
                                 nil )
                                (!pair  "final_adjust"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 840)
                                 nil )
                                (!pair  "emit_frame_chain"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 843)
                                 nil )
                                (!pair  "wb_candidate1"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 845)
                                 nil )
                                (!pair  "wb_candidate2"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 846)
                                 nil )
                                (!pair  "spare_pred_reg"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 851)
                                 nil )
                                (!pair  "laid_out"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/aarch64/aarch64.h" 853)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "config/aarch64/aarch64.h" 858)
                              nil )
                             (!pair  "reg_is_wrapped_separately"
                              (!type array 429 nil  gc_used "LAST_SAVED_REGNUM" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "config/aarch64/aarch64.h" 860)
                              nil )
                             (!pair  "label_is_assembled"
                              (!type already_seen 2)
                              (!srcfileloc  "config/aarch64/aarch64.h" 861)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 292)
                          (!options 
                           (!option maybe_undef string  "")
                          )
                         )
                         (!pair  "language"
                          (!type pointer 430 nil  gc_used
                           (!type lang_struct 431 
                            (!type already_seen 430)
                            gc_pointed_to "language_function"
                            (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                            (!fields 0 )
                            nil 2047 
                            (!homotypes 9
                             (!type struct 432 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 431)
                              nil )
                             
                             (!type struct 433 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 431)
                              nil )
                             
                             (!type struct 434 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 431)
                              nil )
                             
                             (!type struct 435 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "fortran/f95-lang.c" 68)
                              (!fields 1 
                               (!pair  "binding_level"
                                (!type pointer 436 nil  gc_used
                                 (!type lang_struct 437 
                                  (!type already_seen 436)
                                  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 438 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 436)
                                      (!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 437)
                                    nil )
                                   
                                   (!type struct 439 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 436)
                                      (!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 437)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "fortran/f95-lang.c" 67)
                                nil )
                              )
                              nil 32 
                              (!type already_seen 431)
                              nil )
                             
                             (!type struct 440 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "d/d-tree.h" 244)
                              (!fields 6 
                               (!pair  "function"
                                (!type pointer 441 nil  gc_unused
                                 (!type struct 442 
                                  (!type already_seen 441)
                                  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 443 nil  gc_unused
                                 (!type struct 444 
                                  (!type already_seen 443)
                                  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 445 nil  gc_used
                                 (!type user_struct 446 
                                  (!type already_seen 445)
                                  gc_pointed_to "hash_map<Statement*,d_label_entry>"
                                  (!srcfileloc  "d/d-tree.h" 243)
                                  (!fields 2 
                                   (!pair  "d_label_entry"
                                    (!type struct 447 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 448 nil  gc_used
                                        (!type struct 449 
                                         (!type already_seen 448)
                                         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 436)
                                       (!srcfileloc  "d/d-tree.h" 154)
                                       nil )
                                      (!pair  "fwdrefs"
                                       (!type pointer 450 nil  gc_used
                                        (!type struct 451 
                                         (!type already_seen 450)
                                         gc_pointed_to "d_label_use_entry"
                                         (!srcfileloc  "d/d-tree.h" 137)
                                         (!fields 3 
                                          (!pair  "next"
                                           (!type already_seen 450)
                                           (!srcfileloc  "d/d-tree.h" 128)
                                           nil )
                                          (!pair  "statement"
                                           (!type already_seen 448)
                                           (!srcfileloc  "d/d-tree.h" 131)
                                           (!options 
                                            (!option skip string  "")
                                           )
                                          )
                                          (!pair  "level"
                                           (!type already_seen 436)
                                           (!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 448)
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "d/d-tree.h" 243)
                                nil )
                              )
                              nil 16 
                              (!type already_seen 431)
                              nil )
                             
                             (!type struct 452 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "cp/cp-tree.h" 1930)
                              (!fields 21 
                               (!pair  "base"
                                (!type struct 453 nil  gc_used "c_language_function"
                                 (!srcfileloc  "c-family/c-common.h" 582)
                                 (!fields 2 
                                  (!pair  "x_stmt_tree"
                                   (!type struct 454 
                                    (!type pointer 455 nil  gc_unused
                                     (!type already_seen 454)
                                    )
                                    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 456 nil  gc_used
                                 (!type user_struct 457 
                                  (!type already_seen 456)
                                  gc_pointed_to "hash_table<named_label_hash>"
                                  (!srcfileloc  "cp/cp-tree.h" 1922)
                                  (!fields 1 
                                   (!pair  "named_label_hash"
                                    (!type struct 458 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 459 nil  gc_used
                                 (!type user_struct 460 
                                  (!type already_seen 459)
                                  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 461 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 431)
                              nil )
                             
                             (!type struct 462 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "c/c-lang.h" 62)
                              (!fields 9 
                               (!pair  "base"
                                (!type already_seen 453)
                                (!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 463 nil  gc_unused
                                 (!type struct 464 
                                  (!type already_seen 463)
                                  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 465 nil  gc_unused
                                 (!type struct 466 
                                  (!type already_seen 465)
                                  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 431)
                              nil )
                             
                             (!type struct 467 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 431)
                              nil )
                             
                             (!type struct 468 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                              (!fields 4 
                               (!pair  "parm_attr_cache"
                                (!type pointer 469 nil  gc_used
                                 (!type user_struct 470 
                                  (!type already_seen 469)
                                  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 471 nil  gc_used
                                     (!type struct 472 
                                      (!type already_seen 471)
                                      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 431)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 295)
                          nil )
                         (!pair  "used_types_hash"
                          (!type pointer 473 nil  gc_used
                           (!type user_struct 474 
                            (!type already_seen 473)
                            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 475 nil  gc_used
                           (!type struct 476 
                            (!type already_seen 475)
                            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 477 nil  gc_used
                               (!type user_struct 478 
                                (!type already_seen 477)
                                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 479 nil  gc_used
                                   (!type struct 480 
                                    (!type already_seen 479)
                                    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 481 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 482 nil  gc_used
                                          (!type struct 483 
                                           (!type already_seen 482)
                                           gc_pointed_to "dw_loc_descr_node"
                                           (!srcfileloc  "dwarf2out.h" 258)
                                           (!fields 7 
                                            (!pair  "dw_loc_next"
                                             (!type already_seen 482)
                                             (!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 484 
                                              (!type pointer 485 nil  gc_unused
                                               (!type already_seen 484)
                                              )
                                              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 486 nil  gc_used
                                                 (!type struct 487 
                                                  (!type already_seen 486)
                                                  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 488 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 489 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 490 nil  gc_used
                                                    (!type struct 491 
                                                     (!type already_seen 490)
                                                     gc_pointed_to "dw_loc_list_struct"
                                                     (!srcfileloc  "dwarf2out.c" 1334)
                                                     (!fields 18 
                                                      (!pair  "dw_loc_next"
                                                       (!type already_seen 490)
                                                       (!srcfileloc  "dwarf2out.c" 1306)
                                                       nil )
                                                      (!pair  "begin"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1307)
                                                       nil )
                                                      (!pair  "begin_entry"
                                                       (!type already_seen 486)
                                                       (!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 482)
                                                       (!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 492 nil  gc_used
                                                    (!type struct 493 
                                                     (!type already_seen 492)
                                                     gc_pointed_to "die_struct"
                                                     (!srcfileloc  "dwarf2out.c" 3104)
                                                     (!fields 15 
                                                      (!pair  "die_id"
                                                       (!type union 494 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 495 nil  gc_used
                                                           (!type struct 496 
                                                            (!type already_seen 495)
                                                            gc_pointed_to "comdat_type_node"
                                                            (!srcfileloc  "dwarf2out.c" 3174)
                                                            (!fields 5 
                                                             (!pair  "root_die"
                                                              (!type already_seen 492)
                                                              (!srcfileloc  "dwarf2out.c" 3169)
                                                              nil )
                                                             (!pair  "type_die"
                                                              (!type already_seen 492)
                                                              (!srcfileloc  "dwarf2out.c" 3170)
                                                              nil )
                                                             (!pair  "skeleton_die"
                                                              (!type already_seen 492)
                                                              (!srcfileloc  "dwarf2out.c" 3171)
                                                              nil )
                                                             (!pair  "signature"
                                                              (!type array 497 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                               (!type already_seen 8)
                                                              )
                                                              (!srcfileloc  "dwarf2out.c" 3172)
                                                              nil )
                                                             (!pair  "next"
                                                              (!type already_seen 495)
                                                              (!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 498 nil  gc_used
                                                        (!type user_struct 499 
                                                         (!type already_seen 498)
                                                         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 500 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 484)
                                                              (!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 492)
                                                       (!srcfileloc  "dwarf2out.c" 3084)
                                                       nil )
                                                      (!pair  "die_child"
                                                       (!type already_seen 492)
                                                       (!srcfileloc  "dwarf2out.c" 3085)
                                                       nil )
                                                      (!pair  "die_sib"
                                                       (!type already_seen 492)
                                                       (!srcfileloc  "dwarf2out.c" 3086)
                                                       nil )
                                                      (!pair  "die_definition"
                                                       (!type already_seen 492)
                                                       (!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 482)
                                                   (!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 501 nil  gc_used
                                                    (!type user_struct 502 
                                                     (!type already_seen 501)
                                                     gc_pointed_to "generic_wide_int<wide_int_storage>"
                                                     (!srcfileloc  "wide-int.h" 322)
                                                     (!fields 1 
                                                      (!pair  "wide_int_storage"
                                                       (!type struct 503 nil  gc_used "wide_int_storage"
                                                        (!srcfileloc  "wide-int.h" 1088)
                                                        (!fields 3 
                                                         (!pair  "val"
                                                          (!type array 504 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 505 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 506 nil  gc_used "dw_val_die_union"
                                                    (!srcfileloc  "dwarf2out.h" 220)
                                                    (!fields 2 
                                                     (!pair  "die"
                                                      (!type already_seen 492)
                                                      (!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 507 nil  gc_used
                                                    (!type struct 508 
                                                     (!type already_seen 507)
                                                     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 509 nil  gc_used
                                                    (!type struct 510 
                                                     (!type already_seen 509)
                                                     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 509)
                                                   (!srcfileloc  "dwarf2out.h" 227)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file_implicit")
                                                   )
                                                  )
                                                  (!pair  "val_data8"
                                                   (!type array 511 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 512 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 513 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 514 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 515 nil  gc_used
                                                    (!type struct 516 
                                                     (!type already_seen 515)
                                                     gc_pointed_to "dw_discr_list_node"
                                                     (!srcfileloc  "dwarf2out.h" 273)
                                                     (!fields 4 
                                                      (!pair  "dw_discr_next"
                                                       (!type already_seen 515)
                                                       (!srcfileloc  "dwarf2out.h" 265)
                                                       nil )
                                                      (!pair  "dw_discr_lower_bound"
                                                       (!type already_seen 513)
                                                       (!srcfileloc  "dwarf2out.h" 267)
                                                       nil )
                                                      (!pair  "dw_discr_upper_bound"
                                                       (!type already_seen 513)
                                                       (!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 484)
                                             (!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 517 nil  gc_used
                                          (!type struct 518 
                                           (!type already_seen 517)
                                           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 481)
                                      (!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 519 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 520 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 521 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 492)
                         (!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 522 nil  gc_used "tree_type_with_lang_specific"
                    (!srcfileloc  "tree-core.h" 1653)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 520)
                      (!srcfileloc  "tree-core.h" 1650)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 523 nil  gc_used
                       (!type lang_struct 524 
                        (!type already_seen 523)
                        gc_pointed_to "lang_type"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 525 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 524)
                          nil )
                         
                         (!type struct 526 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 524)
                          nil )
                         
                         (!type struct 527 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 524)
                          nil )
                         
                         (!type struct 528 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 529 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 989)
                            nil )
                           (!pair  "ubound"
                            (!type array 530 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 990)
                            nil )
                           (!pair  "stride"
                            (!type array 531 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 532 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 524)
                          nil )
                         
                         (!type struct 533 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "d/d-tree.h" 312)
                          (!fields 1 
                           (!pair  "type"
                            (!type pointer 534 nil  gc_unused
                             (!type struct 535 
                              (!type already_seen 534)
                              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 524)
                          nil )
                         
                         (!type struct 536 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 537 nil  gc_used
                             (!type user_struct 538 
                              (!type already_seen 537)
                              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 539 
                                 (!type pointer 540 nil  gc_used
                                  (!type already_seen 539)
                                 )
                                 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 541 nil  gc_used
                             (!type struct 542 
                              (!type already_seen 541)
                              gc_pointed_to "binding_table_s"
                              (!srcfileloc  "cp/name-lookup.c" 1802)
                              (!fields 3 
                               (!pair  "chain"
                                (!type pointer 543 nil  gc_unused
                                 (!type pointer 544 
                                  (!type already_seen 543)
                                  gc_used
                                  (!type struct 545 
                                   (!type already_seen 544)
                                   gc_pointed_to "binding_entry_s"
                                   (!srcfileloc  "cp/name-lookup.h" 38)
                                   (!fields 3 
                                    (!pair  "chain"
                                     (!type already_seen 544)
                                     (!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 524)
                          nil )
                         
                         (!type struct 546 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "c/c-lang.h" 42)
                          (!fields 4 
                           (!pair  "s"
                            (!type pointer 547 nil  gc_used
                             (!type struct 548 
                              (!type already_seen 547)
                              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 549 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 524)
                          nil )
                         
                         (!type struct 550 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 524)
                          nil )
                         
                         (!type struct 551 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 524)
                          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 552 nil  gc_used "tree_type_non_common"
                    (!srcfileloc  "tree-core.h" 1661)
                    (!fields 5 
                     (!pair  "with_lang_specific"
                      (!type already_seen 522)
                      (!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 553 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 554 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 555 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 556 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 557 nil  gc_used "tree_exp_subunion"
                       (!srcfileloc  "tree-core.h" 1495)
                       (!fields 1 
                        (!pair  ""
                         (!type array 558 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 559 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 560 nil  gc_used "ssa_name_info_type"
                       (!srcfileloc  "tree-core.h" 1527)
                       (!fields 2 
                        (!pair  "ptr_info"
                         (!type pointer 561 nil  gc_used
                          (!type struct 562 
                           (!type already_seen 561)
                           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 563 nil  gc_used
                          (!type struct 564 
                           (!type already_seen 563)
                           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 565 
                       (!type pointer 566 nil  gc_unused
                        (!type already_seen 565)
                       )
                       gc_used "ssa_use_operand_t"
                       (!srcfileloc  "tree-ssa-operands.h" 30)
                       (!fields 4 
                        (!pair  "prev"
                         (!type already_seen 566)
                         (!srcfileloc  "tree-core.h" 1501)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 566)
                         (!srcfileloc  "tree-core.h" 1502)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "loc"
                         (!type union 567 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 568 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 492)
                      (!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 569 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 570 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 571 nil  gc_used
                       (!type struct 572 
                        (!type already_seen 571)
                        gc_pointed_to "tree_statement_list_node"
                        (!srcfileloc  "tree-core.h" 1923)
                        (!fields 3 
                         (!pair  "prev"
                          (!type already_seen 571)
                          (!srcfileloc  "tree-core.h" 1920)
                          nil )
                         (!pair  "next"
                          (!type already_seen 571)
                          (!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 571)
                      (!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 573 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 574 nil  gc_used
                       (!type user_struct 575 
                        (!type already_seen 574)
                        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 576 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 577 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 578 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 579 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 580 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 581 nil  gc_used
                       (!type struct 582 
                        (!type already_seen 581)
                        gc_pointed_to "cl_optimization"
                        (!fileloc  "options.h" 7738)
                        (!fields 454 
                         (!pair  "x_str_align_functions"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7284)
                          nil )
                         (!pair  "x_str_align_jumps"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7285)
                          nil )
                         (!pair  "x_str_align_labels"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7286)
                          nil )
                         (!pair  "x_str_align_loops"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7287)
                          nil )
                         (!pair  "x_param_align_loop_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7288)
                          nil )
                         (!pair  "x_param_align_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7289)
                          nil )
                         (!pair  "x_param_asan_protect_allocas"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7290)
                          nil )
                         (!pair  "x_param_asan_instrument_reads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7291)
                          nil )
                         (!pair  "x_param_asan_instrument_writes"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7292)
                          nil )
                         (!pair  "x_param_asan_instrumentation_with_call_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7293)
                          nil )
                         (!pair  "x_param_asan_memintrin"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7294)
                          nil )
                         (!pair  "x_param_asan_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7295)
                          nil )
                         (!pair  "x_param_asan_use_after_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7296)
                          nil )
                         (!pair  "x_param_avg_loop_niter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7297)
                          nil )
                         (!pair  "x_param_avoid_fma_max_bits"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7298)
                          nil )
                         (!pair  "x_param_builtin_expect_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7299)
                          nil )
                         (!pair  "x_param_builtin_string_cmp_inline_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7300)
                          nil )
                         (!pair  "x_param_case_values_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7301)
                          nil )
                         (!pair  "x_param_comdat_sharing_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7302)
                          nil )
                         (!pair  "x_param_dse_max_alias_queries_per_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7303)
                          nil )
                         (!pair  "x_param_dse_max_object_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7304)
                          nil )
                         (!pair  "x_param_early_inlining_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7305)
                          nil )
                         (!pair  "x_param_fsm_maximum_phi_arguments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7306)
                          nil )
                         (!pair  "x_param_fsm_scale_path_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7307)
                          nil )
                         (!pair  "x_param_fsm_scale_path_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7308)
                          nil )
                         (!pair  "x_param_gcse_after_reload_critical_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7309)
                          nil )
                         (!pair  "x_param_gcse_after_reload_partial_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7310)
                          nil )
                         (!pair  "x_param_gcse_cost_distance_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7311)
                          nil )
                         (!pair  "x_param_gcse_unrestricted_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7312)
                          nil )
                         (!pair  "x_param_graphite_max_arrays_per_scop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7313)
                          nil )
                         (!pair  "x_param_graphite_max_nb_scop_params"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7314)
                          nil )
                         (!pair  "x_param_inline_heuristics_hint_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7315)
                          nil )
                         (!pair  "x_param_inline_min_speedup"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7316)
                          nil )
                         (!pair  "x_param_inline_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7317)
                          nil )
                         (!pair  "x_param_ipa_cp_eval_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7318)
                          nil )
                         (!pair  "x_param_ipa_cp_loop_hint_bonus"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7319)
                          nil )
                         (!pair  "x_param_ipa_cp_max_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7320)
                          nil )
                         (!pair  "x_param_ipa_cp_min_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7321)
                          nil )
                         (!pair  "x_param_ipa_cp_recursion_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7322)
                          nil )
                         (!pair  "x_param_ipa_cp_single_call_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7323)
                          nil )
                         (!pair  "x_param_ipa_cp_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7324)
                          nil )
                         (!pair  "x_param_ipa_cp_value_list_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7325)
                          nil )
                         (!pair  "x_param_ipa_max_aa_steps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7326)
                          nil )
                         (!pair  "x_param_ipa_max_agg_items"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7327)
                          nil )
                         (!pair  "x_param_ipa_max_param_expr_ops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7328)
                          nil )
                         (!pair  "x_param_ipa_max_switch_predicate_bounds"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7329)
                          nil )
                         (!pair  "x_param_ipa_sra_max_replacements"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7330)
                          nil )
                         (!pair  "x_param_ipa_sra_ptr_growth_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7331)
                          nil )
                         (!pair  "x_param_ira_loop_reserved_regs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7332)
                          nil )
                         (!pair  "x_param_ira_max_conflict_table_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7333)
                          nil )
                         (!pair  "x_param_ira_max_loops_num"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7334)
                          nil )
                         (!pair  "x_param_iv_always_prune_cand_set_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7335)
                          nil )
                         (!pair  "x_param_iv_consider_all_candidates_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7336)
                          nil )
                         (!pair  "x_param_iv_max_considered_uses"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7337)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7338)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7339)
                          nil )
                         (!pair  "x_param_l1_cache_line_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7340)
                          nil )
                         (!pair  "x_param_l1_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7341)
                          nil )
                         (!pair  "x_param_l2_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7342)
                          nil )
                         (!pair  "x_param_large_function_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7343)
                          nil )
                         (!pair  "x_param_large_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7344)
                          nil )
                         (!pair  "x_param_stack_frame_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7345)
                          nil )
                         (!pair  "x_param_large_stack_frame"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7346)
                          nil )
                         (!pair  "x_param_large_unit_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7347)
                          nil )
                         (!pair  "x_param_lim_expensive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7348)
                          nil )
                         (!pair  "x_param_loop_block_tile_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7349)
                          nil )
                         (!pair  "x_param_loop_interchange_max_num_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7350)
                          nil )
                         (!pair  "x_param_loop_interchange_stride_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7351)
                          nil )
                         (!pair  "x_param_loop_invariant_max_bbs_in_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7352)
                          nil )
                         (!pair  "x_param_loop_max_datarefs_for_datadeps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7353)
                          nil )
                         (!pair  "x_param_loop_versioning_max_inner_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7354)
                          nil )
                         (!pair  "x_param_loop_versioning_max_outer_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7355)
                          nil )
                         (!pair  "x_param_lra_inheritance_ebb_probability_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7356)
                          nil )
                         (!pair  "x_param_lra_max_considered_reload_pseudos"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7357)
                          nil )
                         (!pair  "x_param_max_average_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7358)
                          nil )
                         (!pair  "x_param_max_combine_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7359)
                          nil )
                         (!pair  "x_param_max_unroll_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7360)
                          nil )
                         (!pair  "x_param_max_completely_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7361)
                          nil )
                         (!pair  "x_param_max_completely_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7362)
                          nil )
                         (!pair  "x_param_max_crossjump_edges"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7363)
                          nil )
                         (!pair  "x_param_max_cse_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7364)
                          nil )
                         (!pair  "x_param_max_cse_path_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7365)
                          nil )
                         (!pair  "x_param_max_cselib_memory_locations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7366)
                          nil )
                         (!pair  "x_param_max_debug_marker_count"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7367)
                          nil )
                         (!pair  "x_param_max_delay_slot_insn_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7368)
                          nil )
                         (!pair  "x_param_max_delay_slot_live_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7369)
                          nil )
                         (!pair  "x_param_max_dse_active_local_stores"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7370)
                          nil )
                         (!pair  "x_param_early_inliner_max_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7371)
                          nil )
                         (!pair  "x_param_max_find_base_term_values"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7372)
                          nil )
                         (!pair  "x_param_max_fsm_thread_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7373)
                          nil )
                         (!pair  "x_param_max_fsm_thread_path_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7374)
                          nil )
                         (!pair  "x_param_max_fsm_thread_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7375)
                          nil )
                         (!pair  "x_param_max_gcse_insertion_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7376)
                          nil )
                         (!pair  "x_param_max_gcse_memory"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7377)
                          nil )
                         (!pair  "x_param_max_goto_duplication_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7378)
                          nil )
                         (!pair  "x_param_max_grow_copy_bb_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7379)
                          nil )
                         (!pair  "x_param_max_hoist_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7380)
                          nil )
                         (!pair  "x_param_max_inline_insns_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7381)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7382)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7383)
                          nil )
                         (!pair  "x_param_max_inline_insns_single"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7384)
                          nil )
                         (!pair  "x_param_max_inline_insns_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7385)
                          nil )
                         (!pair  "x_param_max_inline_insns_small"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7386)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7387)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7388)
                          nil )
                         (!pair  "x_param_max_isl_operations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7389)
                          nil )
                         (!pair  "x_param_max_iterations_computation_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7390)
                          nil )
                         (!pair  "x_param_max_iterations_to_track"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7391)
                          nil )
                         (!pair  "x_param_max_jump_thread_duplication_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7392)
                          nil )
                         (!pair  "x_param_max_last_value_rtl"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7393)
                          nil )
                         (!pair  "x_param_max_loop_header_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7394)
                          nil )
                         (!pair  "x_param_max_modulo_backtrack_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7395)
                          nil )
                         (!pair  "x_param_max_partial_antic_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7396)
                          nil )
                         (!pair  "x_param_max_peel_branches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7397)
                          nil )
                         (!pair  "x_param_max_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7398)
                          nil )
                         (!pair  "x_param_max_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7399)
                          nil )
                         (!pair  "x_param_max_pending_list_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7400)
                          nil )
                         (!pair  "x_param_max_pipeline_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7401)
                          nil )
                         (!pair  "x_param_max_pipeline_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7402)
                          nil )
                         (!pair  "x_param_max_pow_sqrt_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7403)
                          nil )
                         (!pair  "x_param_max_predicted_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7404)
                          nil )
                         (!pair  "x_param_max_reload_search_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7405)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7406)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_predictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7407)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_unpredictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7408)
                          nil )
                         (!pair  "x_param_max_sched_extend_regions_iters"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7409)
                          nil )
                         (!pair  "x_param_max_sched_insn_conflict_delay"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7410)
                          nil )
                         (!pair  "x_param_max_sched_ready_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7411)
                          nil )
                         (!pair  "x_param_max_sched_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7412)
                          nil )
                         (!pair  "x_param_max_sched_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7413)
                          nil )
                         (!pair  "x_param_max_slsr_candidate_scan"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7414)
                          nil )
                         (!pair  "x_param_max_speculative_devirt_maydefs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7415)
                          nil )
                         (!pair  "x_param_max_stores_to_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7416)
                          nil )
                         (!pair  "x_param_max_stores_to_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7417)
                          nil )
                         (!pair  "x_param_max_tail_merge_comparisons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7418)
                          nil )
                         (!pair  "x_param_max_tail_merge_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7419)
                          nil )
                         (!pair  "x_param_max_tracked_strlens"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7420)
                          nil )
                         (!pair  "x_param_max_tree_if_conversion_phi_args"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7421)
                          nil )
                         (!pair  "x_param_max_unroll_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7422)
                          nil )
                         (!pair  "x_param_max_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7423)
                          nil )
                         (!pair  "x_param_max_unswitch_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7424)
                          nil )
                         (!pair  "x_param_max_unswitch_level"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7425)
                          nil )
                         (!pair  "x_param_max_variable_expansions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7426)
                          nil )
                         (!pair  "x_param_max_vartrack_expr_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7427)
                          nil )
                         (!pair  "x_param_max_vartrack_reverse_op_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7428)
                          nil )
                         (!pair  "x_param_max_vartrack_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7429)
                          nil )
                         (!pair  "x_param_max_vrp_switch_assertions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7430)
                          nil )
                         (!pair  "x_param_min_crossjump_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7431)
                          nil )
                         (!pair  "x_param_min_inline_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7432)
                          nil )
                         (!pair  "x_param_min_insn_to_prefetch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7433)
                          nil )
                         (!pair  "x_param_min_loop_cond_split_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7434)
                          nil )
                         (!pair  "x_param_min_size_for_stack_sharing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7435)
                          nil )
                         (!pair  "x_param_min_spec_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7436)
                          nil )
                         (!pair  "x_param_min_vect_loop_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7437)
                          nil )
                         (!pair  "x_param_parloops_chunk_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7438)
                          nil )
                         (!pair  "x_param_parloops_min_per_thread"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7439)
                          nil )
                         (!pair  "x_param_parloops_schedule"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7440)
                          nil )
                         (!pair  "x_param_partial_inlining_entry_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7441)
                          nil )
                         (!pair  "x_param_predictable_branch_outcome"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7442)
                          nil )
                         (!pair  "x_param_prefetch_dynamic_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7443)
                          nil )
                         (!pair  "x_param_prefetch_latency"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7444)
                          nil )
                         (!pair  "x_param_prefetch_min_insn_to_mem_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7445)
                          nil )
                         (!pair  "x_param_prefetch_minimum_stride"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7446)
                          nil )
                         (!pair  "x_param_rpo_vn_max_loop_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7447)
                          nil )
                         (!pair  "x_param_sccvn_max_alias_queries_per_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7448)
                          nil )
                         (!pair  "x_param_scev_max_expr_complexity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7449)
                          nil )
                         (!pair  "x_param_scev_max_expr_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7450)
                          nil )
                         (!pair  "x_param_sched_autopref_queue_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7451)
                          nil )
                         (!pair  "x_param_sched_mem_true_dep_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7452)
                          nil )
                         (!pair  "x_param_sched_pressure_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7453)
                          nil )
                         (!pair  "x_param_sched_spec_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7454)
                          nil )
                         (!pair  "x_param_sched_state_edge_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7455)
                          nil )
                         (!pair  "x_param_selsched_insns_to_rename"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7456)
                          nil )
                         (!pair  "x_param_selsched_max_lookahead"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7457)
                          nil )
                         (!pair  "x_param_selsched_max_sched_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7458)
                          nil )
                         (!pair  "x_param_simultaneous_prefetches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7459)
                          nil )
                         (!pair  "x_param_sink_frequency_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7460)
                          nil )
                         (!pair  "x_param_slp_max_insns_in_bb"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7461)
                          nil )
                         (!pair  "x_param_sms_dfa_history"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7462)
                          nil )
                         (!pair  "x_param_sms_loop_average_count_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7463)
                          nil )
                         (!pair  "x_param_sms_max_ii_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7464)
                          nil )
                         (!pair  "x_param_sms_min_sc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7465)
                          nil )
                         (!pair  "x_param_sra_max_propagations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7466)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7467)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7468)
                          nil )
                         (!pair  "x_param_ssa_name_def_chain_limit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7469)
                          nil )
                         (!pair  "x_param_ssp_buffer_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7470)
                          nil )
                         (!pair  "x_param_stack_clash_protection_guard_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7471)
                          nil )
                         (!pair  "x_param_stack_clash_protection_probe_interval"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7472)
                          nil )
                         (!pair  "x_param_store_merging_allow_unaligned"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7473)
                          nil )
                         (!pair  "x_param_store_merging_max_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7474)
                          nil )
                         (!pair  "x_param_switch_conversion_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7475)
                          nil )
                         (!pair  "x_param_tm_max_aggregate_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7476)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7477)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7478)
                          nil )
                         (!pair  "x_param_tracer_max_code_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7479)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7480)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7481)
                          nil )
                         (!pair  "x_param_tracer_min_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7482)
                          nil )
                         (!pair  "x_param_tree_reassoc_width"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7483)
                          nil )
                         (!pair  "x_param_uninit_control_dep_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7484)
                          nil )
                         (!pair  "x_param_uninlined_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7485)
                          nil )
                         (!pair  "x_param_uninlined_function_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7486)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7487)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7488)
                          nil )
                         (!pair  "x_param_unlikely_bb_count_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7489)
                          nil )
                         (!pair  "x_param_unroll_jam_max_unroll"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7490)
                          nil )
                         (!pair  "x_param_unroll_jam_min_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7491)
                          nil )
                         (!pair  "x_param_use_after_scope_direct_emission_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7492)
                          nil )
                         (!pair  "x_param_vect_epilogues_nomask"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7493)
                          nil )
                         (!pair  "x_param_vect_max_peeling_for_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7494)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alias_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7495)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alignment_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7496)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7497)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns_dep"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7498)
                          nil )
                         (!pair  "x_flag_tree_parallelize_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7499)
                          nil )
                         (!pair  "x_flag_excess_precision"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7500)
                          nil )
                         (!pair  "x_flag_fp_contract_mode"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7501)
                          nil )
                         (!pair  "x_flag_ira_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7502)
                          nil )
                         (!pair  "x_flag_ira_region"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7503)
                          nil )
                         (!pair  "x_flag_live_patching"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7504)
                          nil )
                         (!pair  "x_flag_reorder_blocks_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7505)
                          nil )
                         (!pair  "x_flag_simd_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7506)
                          nil )
                         (!pair  "x_flag_stack_reuse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7507)
                          nil )
                         (!pair  "x_flag_vect_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7508)
                          nil )
                         (!pair  "x_optimize"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7509)
                          nil )
                         (!pair  "x_optimize_size"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7510)
                          nil )
                         (!pair  "x_optimize_debug"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7511)
                          nil )
                         (!pair  "x_optimize_fast"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7512)
                          nil )
                         (!pair  "x_warn_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7513)
                          nil )
                         (!pair  "x_flag_aggressive_loop_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7514)
                          nil )
                         (!pair  "x_flag_align_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7515)
                          nil )
                         (!pair  "x_flag_align_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7516)
                          nil )
                         (!pair  "x_flag_align_labels"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7517)
                          nil )
                         (!pair  "x_flag_align_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7518)
                          nil )
                         (!pair  "x_flag_allocation_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7519)
                          nil )
                         (!pair  "x_flag_store_data_races"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7520)
                          nil )
                         (!pair  "x_flag_associative_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7521)
                          nil )
                         (!pair  "x_flag_assume_phsa"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7522)
                          nil )
                         (!pair  "x_flag_asynchronous_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7523)
                          nil )
                         (!pair  "x_flag_auto_inc_dec"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7524)
                          nil )
                         (!pair  "x_flag_branch_on_count_reg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7525)
                          nil )
                         (!pair  "x_flag_branch_probabilities"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7526)
                          nil )
                         (!pair  "x_flag_caller_saves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7527)
                          nil )
                         (!pair  "x_flag_code_hoisting"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7528)
                          nil )
                         (!pair  "x_flag_combine_stack_adjustments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7529)
                          nil )
                         (!pair  "x_flag_compare_elim_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7530)
                          nil )
                         (!pair  "x_flag_conserve_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7531)
                          nil )
                         (!pair  "x_flag_cprop_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7532)
                          nil )
                         (!pair  "x_flag_crossjumping"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7533)
                          nil )
                         (!pair  "x_flag_cse_follow_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7534)
                          nil )
                         (!pair  "x_flag_cx_fortran_rules"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7535)
                          nil )
                         (!pair  "x_flag_cx_limited_range"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7536)
                          nil )
                         (!pair  "x_flag_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7537)
                          nil )
                         (!pair  "x_flag_defer_pop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7538)
                          nil )
                         (!pair  "x_flag_delayed_branch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7539)
                          nil )
                         (!pair  "x_flag_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7540)
                          nil )
                         (!pair  "x_flag_delete_null_pointer_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7541)
                          nil )
                         (!pair  "x_flag_devirtualize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7542)
                          nil )
                         (!pair  "x_flag_devirtualize_speculatively"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7543)
                          nil )
                         (!pair  "x_flag_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7544)
                          nil )
                         (!pair  "x_flag_early_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7545)
                          nil )
                         (!pair  "x_flag_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7546)
                          nil )
                         (!pair  "x_flag_expensive_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7547)
                          nil )
                         (!pair  "x_flag_finite_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7548)
                          nil )
                         (!pair  "x_flag_finite_math_only"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7549)
                          nil )
                         (!pair  "x_flag_float_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7550)
                          nil )
                         (!pair  "x_flag_forward_propagate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7551)
                          nil )
                         (!pair  "x_flag_fp_int_builtin_inexact"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7552)
                          nil )
                         (!pair  "x_flag_no_function_cse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7553)
                          nil )
                         (!pair  "x_flag_gcse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7554)
                          nil )
                         (!pair  "x_flag_gcse_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7555)
                          nil )
                         (!pair  "x_flag_gcse_las"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7556)
                          nil )
                         (!pair  "x_flag_gcse_lm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7557)
                          nil )
                         (!pair  "x_flag_gcse_sm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7558)
                          nil )
                         (!pair  "x_flag_graphite"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7559)
                          nil )
                         (!pair  "x_flag_graphite_identity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7560)
                          nil )
                         (!pair  "x_flag_guess_branch_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7561)
                          nil )
                         (!pair  "x_flag_hoist_adjacent_loads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7562)
                          nil )
                         (!pair  "x_flag_if_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7563)
                          nil )
                         (!pair  "x_flag_if_conversion2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7564)
                          nil )
                         (!pair  "x_flag_indirect_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7565)
                          nil )
                         (!pair  "x_flag_no_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7566)
                          nil )
                         (!pair  "x_flag_inline_atomics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7567)
                          nil )
                         (!pair  "x_flag_inline_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7568)
                          nil )
                         (!pair  "x_flag_inline_functions_called_once"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7569)
                          nil )
                         (!pair  "x_flag_inline_small_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7570)
                          nil )
                         (!pair  "x_flag_ipa_bit_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7571)
                          nil )
                         (!pair  "x_flag_ipa_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7572)
                          nil )
                         (!pair  "x_flag_ipa_cp_clone"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7573)
                          nil )
                         (!pair  "x_flag_ipa_icf"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7574)
                          nil )
                         (!pair  "x_flag_ipa_icf_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7575)
                          nil )
                         (!pair  "x_flag_ipa_icf_variables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7576)
                          nil )
                         (!pair  "x_flag_ipa_profile"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7577)
                          nil )
                         (!pair  "x_flag_ipa_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7578)
                          nil )
                         (!pair  "x_flag_ipa_pure_const"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7579)
                          nil )
                         (!pair  "x_flag_ipa_ra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7580)
                          nil )
                         (!pair  "x_flag_ipa_reference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7581)
                          nil )
                         (!pair  "x_flag_ipa_reference_addressable"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7582)
                          nil )
                         (!pair  "x_flag_ipa_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7583)
                          nil )
                         (!pair  "x_flag_ipa_stack_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7584)
                          nil )
                         (!pair  "x_flag_ipa_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7585)
                          nil )
                         (!pair  "x_flag_ira_hoist_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7586)
                          nil )
                         (!pair  "x_flag_ira_loop_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7587)
                          nil )
                         (!pair  "x_flag_ira_share_save_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7588)
                          nil )
                         (!pair  "x_flag_ira_share_spill_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7589)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_attribute"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7590)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_dereference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7591)
                          nil )
                         (!pair  "x_flag_ivopts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7592)
                          nil )
                         (!pair  "x_flag_jump_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7593)
                          nil )
                         (!pair  "x_flag_keep_gc_roots_live"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7594)
                          nil )
                         (!pair  "x_flag_lifetime_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7595)
                          nil )
                         (!pair  "x_flag_limit_function_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7596)
                          nil )
                         (!pair  "x_flag_live_range_shrinkage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7597)
                          nil )
                         (!pair  "x_flag_loop_interchange"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7598)
                          nil )
                         (!pair  "x_flag_loop_nest_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7599)
                          nil )
                         (!pair  "x_flag_loop_parallelize_all"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7600)
                          nil )
                         (!pair  "x_flag_unroll_jam"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7601)
                          nil )
                         (!pair  "x_flag_lra_remat"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7602)
                          nil )
                         (!pair  "x_flag_errno_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7603)
                          nil )
                         (!pair  "x_flag_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7604)
                          nil )
                         (!pair  "x_flag_modulo_sched_allow_regmoves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7605)
                          nil )
                         (!pair  "x_flag_move_loop_invariants"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7606)
                          nil )
                         (!pair  "x_flag_non_call_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7607)
                          nil )
                         (!pair  "x_flag_nothrow_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7608)
                          nil )
                         (!pair  "x_flag_omit_frame_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7609)
                          nil )
                         (!pair  "x_flag_opt_info"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7610)
                          nil )
                         (!pair  "x_flag_optimize_sibling_calls"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7611)
                          nil )
                         (!pair  "x_flag_optimize_strlen"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7612)
                          nil )
                         (!pair  "x_flag_pack_struct"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7613)
                          nil )
                         (!pair  "x_flag_partial_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7614)
                          nil )
                         (!pair  "x_flag_peel_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7615)
                          nil )
                         (!pair  "x_flag_no_peephole"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7616)
                          nil )
                         (!pair  "x_flag_peephole2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7617)
                          nil )
                         (!pair  "x_flag_plt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7618)
                          nil )
                         (!pair  "x_flag_predictive_commoning"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7619)
                          nil )
                         (!pair  "x_flag_prefetch_loop_arrays"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7620)
                          nil )
                         (!pair  "x_flag_printf_return_value"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7621)
                          nil )
                         (!pair  "x_flag_profile_partial_training"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7622)
                          nil )
                         (!pair  "x_flag_profile_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7623)
                          nil )
                         (!pair  "x_flag_reciprocal_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7624)
                          nil )
                         (!pair  "x_flag_ree"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7625)
                          nil )
                         (!pair  "x_flag_pcc_struct_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7626)
                          nil )
                         (!pair  "x_flag_rename_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7627)
                          nil )
                         (!pair  "x_flag_reorder_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7628)
                          nil )
                         (!pair  "x_flag_reorder_blocks_and_partition"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7629)
                          nil )
                         (!pair  "x_flag_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7630)
                          nil )
                         (!pair  "x_flag_rerun_cse_after_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7631)
                          nil )
                         (!pair  "x_flag_resched_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7632)
                          nil )
                         (!pair  "x_flag_rounding_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7633)
                          nil )
                         (!pair  "x_flag_rtti"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7634)
                          nil )
                         (!pair  "x_flag_save_optimization_record"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7635)
                          nil )
                         (!pair  "x_flag_sched_critical_path_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7636)
                          nil )
                         (!pair  "x_flag_sched_dep_count_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7637)
                          nil )
                         (!pair  "x_flag_sched_group_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7638)
                          nil )
                         (!pair  "x_flag_schedule_interblock"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7639)
                          nil )
                         (!pair  "x_flag_sched_last_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7640)
                          nil )
                         (!pair  "x_flag_sched_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7641)
                          nil )
                         (!pair  "x_flag_sched_rank_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7642)
                          nil )
                         (!pair  "x_flag_schedule_speculative"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7643)
                          nil )
                         (!pair  "x_flag_sched_spec_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7644)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7645)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load_dangerous"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7646)
                          nil )
                         (!pair  "x_flag_sched2_use_superblocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7647)
                          nil )
                         (!pair  "x_flag_schedule_fusion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7648)
                          nil )
                         (!pair  "x_flag_schedule_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7649)
                          nil )
                         (!pair  "x_flag_schedule_insns_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7650)
                          nil )
                         (!pair  "x_flag_section_anchors"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7651)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7652)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7653)
                          nil )
                         (!pair  "x_flag_sel_sched_reschedule_pipelined"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7654)
                          nil )
                         (!pair  "x_flag_selective_scheduling"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7655)
                          nil )
                         (!pair  "x_flag_selective_scheduling2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7656)
                          nil )
                         (!pair  "x_flag_short_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7657)
                          nil )
                         (!pair  "x_flag_short_wchar"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7658)
                          nil )
                         (!pair  "x_flag_shrink_wrap"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7659)
                          nil )
                         (!pair  "x_flag_shrink_wrap_separate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7660)
                          nil )
                         (!pair  "x_flag_signaling_nans"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7661)
                          nil )
                         (!pair  "x_flag_signed_zeros"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7662)
                          nil )
                         (!pair  "x_flag_single_precision_constant"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7663)
                          nil )
                         (!pair  "x_flag_split_ivs_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7664)
                          nil )
                         (!pair  "x_flag_split_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7665)
                          nil )
                         (!pair  "x_flag_split_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7666)
                          nil )
                         (!pair  "x_flag_split_wide_types"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7667)
                          nil )
                         (!pair  "x_flag_split_wide_types_early"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7668)
                          nil )
                         (!pair  "x_flag_ssa_backprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7669)
                          nil )
                         (!pair  "x_flag_ssa_phiopt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7670)
                          nil )
                         (!pair  "x_flag_stack_clash_protection"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7671)
                          nil )
                         (!pair  "x_flag_stack_protect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7672)
                          nil )
                         (!pair  "x_flag_stdarg_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7673)
                          nil )
                         (!pair  "x_flag_store_merging"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7674)
                          nil )
                         (!pair  "x_flag_strict_aliasing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7675)
                          nil )
                         (!pair  "x_flag_strict_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7676)
                          nil )
                         (!pair  "x_flag_strict_volatile_bitfields"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7677)
                          nil )
                         (!pair  "x_flag_thread_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7678)
                          nil )
                         (!pair  "x_flag_threadsafe_statics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7679)
                          nil )
                         (!pair  "x_flag_toplevel_reorder"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7680)
                          nil )
                         (!pair  "x_flag_tracer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7681)
                          nil )
                         (!pair  "x_flag_trapping_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7682)
                          nil )
                         (!pair  "x_flag_trapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7683)
                          nil )
                         (!pair  "x_flag_tree_bit_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7684)
                          nil )
                         (!pair  "x_flag_tree_builtin_call_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7685)
                          nil )
                         (!pair  "x_flag_tree_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7686)
                          nil )
                         (!pair  "x_flag_tree_ch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7687)
                          nil )
                         (!pair  "x_flag_tree_coalesce_vars"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7688)
                          nil )
                         (!pair  "x_flag_tree_copy_prop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7689)
                          nil )
                         (!pair  "x_flag_tree_cselim"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7690)
                          nil )
                         (!pair  "x_flag_tree_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7691)
                          nil )
                         (!pair  "x_flag_tree_dom"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7692)
                          nil )
                         (!pair  "x_flag_tree_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7693)
                          nil )
                         (!pair  "x_flag_tree_forwprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7694)
                          nil )
                         (!pair  "x_flag_tree_fre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7695)
                          nil )
                         (!pair  "x_flag_tree_loop_distribute_patterns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7696)
                          nil )
                         (!pair  "x_flag_tree_loop_distribution"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7697)
                          nil )
                         (!pair  "x_flag_tree_loop_if_convert"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7698)
                          nil )
                         (!pair  "x_flag_tree_loop_im"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7699)
                          nil )
                         (!pair  "x_flag_tree_loop_ivcanon"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7700)
                          nil )
                         (!pair  "x_flag_tree_loop_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7701)
                          nil )
                         (!pair  "x_flag_tree_loop_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7702)
                          nil )
                         (!pair  "x_flag_tree_live_range_split"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7703)
                          nil )
                         (!pair  "x_flag_tree_partial_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7704)
                          nil )
                         (!pair  "x_flag_tree_phiprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7705)
                          nil )
                         (!pair  "x_flag_tree_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7706)
                          nil )
                         (!pair  "x_flag_tree_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7707)
                          nil )
                         (!pair  "x_flag_tree_reassoc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7708)
                          nil )
                         (!pair  "x_flag_tree_scev_cprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7709)
                          nil )
                         (!pair  "x_flag_tree_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7710)
                          nil )
                         (!pair  "x_flag_tree_slp_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7711)
                          nil )
                         (!pair  "x_flag_tree_slsr"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7712)
                          nil )
                         (!pair  "x_flag_tree_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7713)
                          nil )
                         (!pair  "x_flag_tree_switch_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7714)
                          nil )
                         (!pair  "x_flag_tree_tail_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7715)
                          nil )
                         (!pair  "x_flag_tree_ter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7716)
                          nil )
                         (!pair  "x_flag_tree_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7717)
                          nil )
                         (!pair  "x_flag_unconstrained_commons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7718)
                          nil )
                         (!pair  "x_flag_unroll_all_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7719)
                          nil )
                         (!pair  "x_flag_cunroll_grow_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7720)
                          nil )
                         (!pair  "x_flag_unroll_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7721)
                          nil )
                         (!pair  "x_flag_unsafe_math_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7722)
                          nil )
                         (!pair  "x_flag_unswitch_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7723)
                          nil )
                         (!pair  "x_flag_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7724)
                          nil )
                         (!pair  "x_flag_var_tracking"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7725)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7726)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments_toggle"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7727)
                          nil )
                         (!pair  "x_flag_var_tracking_uninit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7728)
                          nil )
                         (!pair  "x_flag_variable_expansion_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7729)
                          nil )
                         (!pair  "x_flag_version_loops_for_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7730)
                          nil )
                         (!pair  "x_flag_value_profile_transformations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7731)
                          nil )
                         (!pair  "x_flag_web"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7732)
                          nil )
                         (!pair  "x_flag_wrapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7733)
                          nil )
                         (!pair  "x_flag_wrapv_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7734)
                          nil )
                         (!pair  "x_flag_mlow_precision_div"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7735)
                          nil )
                         (!pair  "x_flag_mrecip_low_precision_sqrt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7736)
                          nil )
                         (!pair  "x_flag_mlow_precision_sqrt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7737)
                          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 583 nil  gc_unused
                       (!type struct 584 
                        (!type already_seen 583)
                        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 585 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 586 nil  gc_used
                       (!type struct 587 
                        (!type already_seen 586)
                        gc_pointed_to "target_globals"
                        (!srcfileloc  "target-globals.h" 64)
                        (!fields 17 
                         (!pair  "flag_state"
                          (!type pointer 588 nil  gc_unused
                           (!type struct 589 
                            (!type already_seen 588)
                            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 590 nil  gc_unused
                           (!type struct 591 
                            (!type already_seen 590)
                            gc_unused "target_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 48)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "rtl"
                          (!type pointer 592 nil  gc_used
                           (!type struct 593 
                            (!type already_seen 592)
                            gc_pointed_to "target_rtl"
                            (!srcfileloc  "rtl.h" 3763)
                            (!fields 8 
                             (!pair  "x_global_rtl"
                              (!type array 594 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 595 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3749)
                              nil )
                             (!pair  "x_top_of_stack"
                              (!type array 596 nil  gc_used "MAX_MACHINE_MODE" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3752)
                              nil )
                             (!pair  "x_static_reg_base_value"
                              (!type array 597 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3756)
                              nil )
                             (!pair  "x_mode_mem_attrs"
                              (!type array 598 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 599 nil  gc_unused
                           (!type struct 600 
                            (!type already_seen 599)
                            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 601 nil  gc_unused
                           (!type struct 602 
                            (!type already_seen 601)
                            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 603 nil  gc_unused
                           (!type struct 604 
                            (!type already_seen 603)
                            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 605 nil  gc_unused
                           (!type struct 606 
                            (!type already_seen 605)
                            gc_unused "target_reload"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 53)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "expmed"
                          (!type pointer 607 nil  gc_unused
                           (!type struct 608 
                            (!type already_seen 607)
                            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 583)
                          (!srcfileloc  "target-globals.h" 55)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "libfuncs"
                          (!type pointer 609 nil  gc_used
                           (!type struct 610 
                            (!type already_seen 609)
                            gc_pointed_to "target_libfuncs"
                            (!srcfileloc  "libfuncs.h" 62)
                            (!fields 2 
                             (!pair  "x_libfunc_table"
                              (!type array 611 nil  gc_used "LTI_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "libfuncs.h" 58)
                              nil )
                             (!pair  "x_libfunc_hash"
                              (!type pointer 612 nil  gc_used
                               (!type user_struct 613 
                                (!type already_seen 612)
                                gc_pointed_to "hash_table<libfunc_hasher>"
                                (!srcfileloc  "libfuncs.h" 61)
                                (!fields 1 
                                 (!pair  "libfunc_hasher"
                                  (!type struct 614 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 615 nil  gc_unused
                           (!type struct 616 
                            (!type already_seen 615)
                            gc_unused "target_cfgloop"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 57)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira"
                          (!type pointer 617 nil  gc_unused
                           (!type struct 618 
                            (!type already_seen 617)
                            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 619 nil  gc_unused
                           (!type struct 620 
                            (!type already_seen 619)
                            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 621 nil  gc_unused
                           (!type struct 622 
                            (!type already_seen 621)
                            gc_unused "target_builtins"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 60)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "gcse"
                          (!type pointer 623 nil  gc_unused
                           (!type struct 624 
                            (!type already_seen 623)
                            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 625 nil  gc_unused
                           (!type struct 626 
                            (!type already_seen 625)
                            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 627 nil  gc_unused
                           (!type struct 628 
                            (!type already_seen 627)
                            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 629 nil  gc_used
                       (!type struct 630 
                        (!type already_seen 629)
                        gc_pointed_to "cl_target_option"
                        (!fileloc  "options.h" 7759)
                        (!fields 16 
                         (!pair  "x_aarch64_override_tune_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7743)
                          nil )
                         (!pair  "x_aarch64_stack_protector_guard_offset"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7744)
                          nil )
                         (!pair  "x_aarch64_isa_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7745)
                          nil )
                         (!pair  "x_aarch64_enable_bti"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7746)
                          nil )
                         (!pair  "x_aarch64_branch_protection_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7747)
                          nil )
                         (!pair  "x_aarch64_cmodel_var"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7748)
                          nil )
                         (!pair  "x_target_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7749)
                          nil )
                         (!pair  "x_aarch64_ra_sign_scope"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7750)
                          nil )
                         (!pair  "x_aarch64_tls_dialect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7751)
                          nil )
                         (!pair  "x_explicit_arch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7752)
                          nil )
                         (!pair  "x_explicit_tune_core"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7753)
                          nil )
                         (!pair  "x_aarch64_fix_a53_err835769"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7754)
                          nil )
                         (!pair  "x_aarch64_fix_a53_err843419"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7755)
                          nil )
                         (!pair  "x_flag_omit_leaf_frame_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7756)
                          nil )
                         (!pair  "x_aarch64_flag_outline_atomics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7757)
                          nil )
                         (!pair  "x_pcrelative_literal_loads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7758)
                          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 631 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 632 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 631)
                     )
                     
                     (!type union 633 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 634 nil  gc_used "lang_identifier"
                         (!srcfileloc  "d/d-tree.h" 337)
                         (!fields 0 )
                         nil 496 
                         (!homotypes 8
                          (!type struct 635 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 634)
                           nil )
                          
                          (!type struct 636 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 634)
                           nil )
                          
                          (!type struct 637 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 634)
                           nil )
                          
                          (!type struct 638 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 634)
                           nil )
                          
                          (!type struct 639 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 640 nil  gc_unused
                              (!type struct 641 
                               (!type already_seen 640)
                               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 634)
                           nil )
                          
                          (!type struct 642 nil  gc_used "lang_identifier"
                           (!srcfileloc  "cp/cp-tree.h" 656)
                           (!fields 2 
                            (!pair  "c_common"
                             (!type struct 643 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 634)
                           nil )
                          
                          (!type struct 644 nil  gc_used "lang_identifier"
                           (!srcfileloc  "c/c-decl.c" 217)
                           (!fields 4 
                            (!pair  "common_id"
                             (!type already_seen 643)
                             (!srcfileloc  "c/c-decl.c" 213)
                             nil )
                            (!pair  "symbol_binding"
                             (!type pointer 645 nil  gc_used
                              (!type struct 646 
                               (!type already_seen 645)
                               gc_pointed_to "c_binding"
                               (!srcfileloc  "c/c-decl.c" 202)
                               (!fields 11 
                                (!pair  "u"
                                 (!type union 647 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 648 nil  gc_used
                                     (!type struct 649 
                                      (!type already_seen 648)
                                      gc_pointed_to "c_label_vars"
                                      (!srcfileloc  "c/c-decl.c" 381)
                                      (!fields 4 
                                       (!pair  "shadowed"
                                        (!type already_seen 648)
                                        (!srcfileloc  "c/c-decl.c" 369)
                                        nil )
                                       (!pair  "label_bindings"
                                        (!type struct 650 nil  gc_used "c_spot_bindings"
                                         (!srcfileloc  "c/c-decl.c" 348)
                                         (!fields 4 
                                          (!pair  "scope"
                                           (!type pointer 651 nil  gc_used
                                            (!type struct 652 
                                             (!type already_seen 651)
                                             gc_pointed_to "c_scope"
                                             (!srcfileloc  "c/c-decl.c" 483)
                                             (!fields 14 
                                              (!pair  "outer"
                                               (!type already_seen 651)
                                               (!srcfileloc  "c/c-decl.c" 430)
                                               nil )
                                              (!pair  "outer_function"
                                               (!type already_seen 651)
                                               (!srcfileloc  "c/c-decl.c" 433)
                                               nil )
                                              (!pair  "bindings"
                                               (!type already_seen 645)
                                               (!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 645)
                                           (!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 653 nil  gc_used
                                         (!type user_struct 654 
                                          (!type already_seen 653)
                                          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 655 nil  gc_used
                                             (!type struct 656 
                                              (!type already_seen 655)
                                              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 650)
                                                (!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 645)
                                 (!srcfileloc  "c/c-decl.c" 194)
                                 nil )
                                (!pair  "shadowed"
                                 (!type already_seen 645)
                                 (!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 645)
                             (!srcfileloc  "c/c-decl.c" 215)
                             nil )
                            (!pair  "label_binding"
                             (!type already_seen 645)
                             (!srcfileloc  "c/c-decl.c" 216)
                             nil )
                           )
                           nil 516 
                           (!type already_seen 634)
                           nil )
                          
                          (!type struct 657 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 634)
                           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 631)
                     )
                     
                     (!type union 658 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 634)
                        (!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 631)
                     )
                     
                     (!type union 659 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 634)
                        (!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 631)
                     )
                     
                     (!type union 660 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 634)
                        (!srcfileloc  "d/d-tree.h" 337)
                        (!options 
                         (!option tag string  "TS_D_IDENTIFIER")
                        )
                       )
                       (!pair  "frameinfo"
                        (!type struct 661 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 631)
                     )
                     
                     (!type union 662 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 663 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 664 
                         (!type pointer 665 nil  gc_unused
                          (!type already_seen 664)
                         )
                         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 666 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 667 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 668 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 669 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 670 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 634)
                        (!srcfileloc  "cp/cp-tree.h" 1666)
                        (!options 
                         (!option tag string  "TS_CP_IDENTIFIER")
                        )
                       )
                       (!pair  "static_assertion"
                        (!type struct 671 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 672 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 673 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 674 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 675 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 676 nil  gc_used
                            (!type user_struct 677 
                             (!type already_seen 676)
                             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 678 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 679 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 680 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 631)
                     )
                     
                     (!type union 681 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 634)
                        (!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 631)
                     )
                     
                     (!type union 682 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 634)
                        (!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 631)
                     )
                     
                     (!type union 683 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 631)
                     )
                    )
                   )
                  )
                 )
                 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 684 nil  gc_used "cpp_exp_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 818)
            (!fields 2 
             (!pair  "tokens"
              (!type array 685 nil  gc_used "1" 
               (!type struct 686 
                (!type pointer 687 nil  gc_used
                 (!type already_seen 686)
                )
                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 688 nil  gc_used "cpp_token_u"
                   (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                   (!fields 6 
                    (!pair  "node"
                     (!type struct 689 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 687)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 257)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                     )
                    )
                    (!pair  "str"
                     (!type struct 690 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 691 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 692 
  (!type pointer 693 nil  gc_unused
   (!type already_seen 692)
  )
  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 694 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 695 nil  gc_used "maps_info_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 693)
    (!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 696 
  (!type pointer 697 nil  gc_unused
   (!type already_seen 696)
  )
  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 698 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 697)
    (!srcfileloc  "../libcpp/include/line-map.h" 769)
    (!options 
     (!option length string  "%h.allocated")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 699 
  (!type pointer 700 nil  gc_used
   (!type already_seen 699)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 819)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type already_seen 694)
    (!srcfileloc  "../libcpp/include/line-map.h" 778)
    nil )
   (!pair  "info_macro"
    (!type already_seen 695)
    (!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 698)
    (!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 701 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 702 nil  gc_unused "range_label"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 703 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 704 nil  gc_unused "semi_embedded_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 705 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "diagnostic_path"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_unused "label_text"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 709 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 710 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 711 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 712 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 686)
 
 (!type already_seen 690)
 
 (!type already_seen 20)
 
 (!type struct 713 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 715 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 691)
 
 (!type already_seen 689)
 
 (!type already_seen 688)
 
 (!type already_seen 21)
 
 (!type already_seen 684)
 
 (!type already_seen 18)
 
 (!type already_seen 15)
 
 (!type struct 716 nil  gc_unused "cpp_string_location_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 717 nil  gc_unused "cpp_substring_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 718 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 719 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 720 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 721 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 nil  gc_unused "char_span"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 723 
  (!type pointer 724 nil  gc_used
   (!type already_seen 723)
  )
  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 725 nil  gc_used "location_hash"
  (!srcfileloc  "input.h" 212)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 726 
  (!type pointer 727 nil  gc_used
   (!type already_seen 726)
  )
  gc_pointed_to "string_concat_db"
  (!srcfileloc  "input.h" 213)
  (!fields 1 
   (!pair  "m_table"
    (!type pointer 728 nil  gc_used
     (!type user_struct 729 
      (!type already_seen 728)
      gc_pointed_to "hash_map<location_hash,string_concat*>"
      (!srcfileloc  "input.h" 212)
      (!fields 2 
       (!pair  "string_concat"
        (!type already_seen 724)
        (!srcfileloc  "input.h" 212)
        nil )
       (!pair  "location_hash"
        (!type already_seen 725)
        (!srcfileloc  "input.h" 212)
        nil )
      )
     )
    )
    (!srcfileloc  "input.h" 212)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 729)
 
 (!type already_seen 397)
 
 (!type already_seen 392)
 
 (!type struct 730 
  (!type pointer 731 nil  gc_unused
   (!type already_seen 730)
  )
  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 732 nil  gc_unused "scalar_float_mode"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 733 nil  gc_unused "complex_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 734 nil  gc_unused "fixed_size_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 735 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 736 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 737 nil  gc_unused "opt_mode<scalar_float_mode>"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 1 
   (!pair  "scalar_float_mode"
    (!type already_seen 732)
    (!srcfileloc  "coretypes.h" 67)
    nil )
  )
 )
 
 (!type already_seen 44)
 
 (!type user_struct 738 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 739 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 740 
  (!type pointer 741 nil  gc_unused
   (!type already_seen 740)
  )
  gc_pointed_to "rtx_expr_list"
  (!srcfileloc  "rtl.h" 468)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 742 
  (!type pointer 743 nil  gc_used
   (!type already_seen 742)
  )
  gc_pointed_to "rtx_insn_list"
  (!srcfileloc  "rtl.h" 498)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 744 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 745 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 587)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 746 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 598)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 747 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 625)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 748 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 638)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 749 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 664)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 750 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 751 
  (!type pointer 752 nil  gc_used
   (!type already_seen 751)
  )
  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 753 
  (!type pointer 754 nil  gc_unused
   (!type already_seen 753)
  )
  gc_unused "hwivec_def"
  (!srcfileloc  "rtl.h" 282)
  (!fields 1 
   (!pair  "elem"
    (!type array 755 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 756 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 757 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 883)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type struct 758 nil  gc_pointed_to "gimple_statement_with_ops"
   (!srcfileloc  "gimple.h" 317)
   (!fields 1 
    (!pair  "op"
     (!type array 759 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 760 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 761 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 893)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 758)
 )
 
 (!type struct 762 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 903)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 758)
 )
 
 (!type struct 763 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 913)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 758)
 )
 
 (!type struct 764 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 923)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 758)
 )
 
 (!type struct 765 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 934)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type struct 766 nil  gc_pointed_to "gimple_statement_with_memory_ops"
   (!srcfileloc  "gimple.h" 348)
   (!fields 1 
    (!pair  "op"
     (!type array 767 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 768 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 760)
   )
  )
 )
 
 (!type struct 769 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 770 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 768)
 )
 
 (!type struct 771 
  (!type pointer 772 nil  gc_used
   (!type already_seen 771)
  )
  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 773 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 774 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 768)
 )
 
 (!type struct 775 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 768)
 )
 
 (!type struct 776 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 944)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type already_seen 766)
 )
 
 (!type struct 777 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 778 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 779 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 780 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 781 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 782 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 503)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type struct 783 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 784 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 510)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type already_seen 783)
 )
 
 (!type struct 785 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 786 nil  gc_used "1" 
     (!type struct 787 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1540)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 565)
        (!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 788 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 789 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 790 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 791 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 792 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 793 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 794 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 795 nil  gc_pointed_to "gomp_ordered"
  (!srcfileloc  "gimple.h" 774)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type struct 796 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 794)
  )
 )
 
 (!type struct 797 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 798 nil  gc_unused
     (!type struct 799 
      (!type already_seen 798)
      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 794)
 )
 
 (!type struct 800 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 678)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type struct 801 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 802 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 794)
   )
  )
 )
 
 (!type struct 803 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 801)
 )
 
 (!type struct 804 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 794)
 )
 
 (!type struct 805 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 796)
 )
 
 (!type struct 806 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 802)
 )
 
 (!type struct 807 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 801)
 )
 
 (!type already_seen 318)
 
 (!type struct 808 
  (!type pointer 809 nil  gc_used
   (!type already_seen 808)
  )
  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 810 nil  gc_used
     (!type struct 811 
      (!type already_seen 810)
      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 809)
        (!srcfileloc  "cgraph.h" 1937)
        nil )
       (!pair  "callee"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1938)
        nil )
       (!pair  "prev_caller"
        (!type already_seen 810)
        (!srcfileloc  "cgraph.h" 1939)
        nil )
       (!pair  "next_caller"
        (!type already_seen 810)
        (!srcfileloc  "cgraph.h" 1940)
        nil )
       (!pair  "prev_callee"
        (!type already_seen 810)
        (!srcfileloc  "cgraph.h" 1941)
        nil )
       (!pair  "next_callee"
        (!type already_seen 810)
        (!srcfileloc  "cgraph.h" 1942)
        nil )
       (!pair  "call_stmt"
        (!type already_seen 772)
        (!srcfileloc  "cgraph.h" 1943)
        nil )
       (!pair  "indirect_info"
        (!type pointer 812 nil  gc_used
         (!type struct 813 
          (!type already_seen 812)
          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 814 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 810)
    (!srcfileloc  "cgraph.h" 1434)
    nil )
   (!pair  "indirect_calls"
    (!type already_seen 810)
    (!srcfileloc  "cgraph.h" 1437)
    nil )
   (!pair  "origin"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1439)
    nil )
   (!pair  "nested"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1441)
    nil )
   (!pair  "next_nested"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1443)
    nil )
   (!pair  "next_sibling_clone"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1445)
    nil )
   (!pair  "prev_sibling_clone"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1446)
    nil )
   (!pair  "clones"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1447)
    nil )
   (!pair  "clone_of"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1448)
    nil )
   (!pair  "call_site_hash"
    (!type pointer 815 nil  gc_used
     (!type user_struct 816 
      (!type already_seen 815)
      gc_pointed_to "hash_table<cgraph_edge_hasher>"
      (!srcfileloc  "cgraph.h" 1451)
      (!fields 1 
       (!pair  "cgraph_edge_hasher"
        (!type struct 817 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 818 nil  gc_used
     (!type struct 819 
      (!type already_seen 818)
      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 809)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "next_clone"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "origin"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 859)
        nil )
       (!pair  "args"
        (!type array 820 nil  gc_used "1" 
         (!type struct 821 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 809)
    (!srcfileloc  "cgraph.h" 1459)
    nil )
   (!pair  "ipa_transforms_to_apply"
    (!type user_struct 822 nil  gc_unused "vec<ipa_opt_pass>"
     (!srcfileloc  "cgraph.h" 1464)
     (!fields 1 
      (!pair  "ipa_opt_pass"
       (!type pointer 823 nil  gc_unused
        (!type struct 824 
         (!type already_seen 823)
         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 809)
    (!srcfileloc  "cgraph.h" 1468)
    nil )
   (!pair  "rtl"
    (!type pointer 825 nil  gc_used
     (!type struct 826 
      (!type already_seen 825)
      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 827 nil  gc_used "cgraph_clone_info"
     (!srcfileloc  "cgraph.h" 1471)
     (!fields 3 
      (!pair  "tree_map"
       (!type pointer 828 nil  gc_used
        (!type user_struct 829 
         (!type already_seen 828)
         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 830 nil  gc_used
            (!type struct 831 
             (!type already_seen 830)
             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 832 nil  gc_used
        (!type struct 833 
         (!type already_seen 832)
         gc_pointed_to "ipa_param_adjustments"
         (!srcfileloc  "ipa-param-manipulation.h" 285)
         (!fields 3 
          (!pair  "m_adj_params"
           (!type pointer 834 nil  gc_used
            (!type user_struct 835 
             (!type already_seen 834)
             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 836 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 837 nil  gc_used
        (!type user_struct 838 
         (!type already_seen 837)
         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 839 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 840 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 841 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 811)
 
 (!type already_seen 214)
 
 (!type struct 842 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 630)
 
 (!type already_seen 582)
 
 (!type struct 843 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 845 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "diagnostic_event_id_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_unused "bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 272)
 
 (!type already_seen 268)
 
 (!type struct 850 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 851 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 852 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 853 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 854 nil  gc_unused "kv_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 856 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 857 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 858 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 859 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 860 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/aarch64/aarch64.h:904"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 861 nil  gc_unused "TARGET_UNIT"
  (!srcfileloc  "defaults.h" 1482)
 )
 
 (!type struct 862 
  (!type pointer 863 nil  gc_unused
   (!type already_seen 862)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 
  (!type pointer 865 nil  gc_unused
   (!type already_seen 864)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 866 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 394)
 
 (!type struct 867 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "auto_bitmap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 869 nil  gc_unused "base_bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 503)
 
 (!type already_seen 502)
 
 (!type undefined 870 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 323)
 )
 
 (!type user_struct 871 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 872 nil  gc_unused
     (!type struct 873 
      (!type already_seen 872)
      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 873)
 
 (!type struct 874 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 875 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 876 nil  gc_unused "wide_int_ref_storage<false"
     (!srcfileloc  "wide-int.h" 334)
     (!fields 1 
      (!pair  "false"
       (!type undefined 877 nil  gc_unused "false"
        (!srcfileloc  "wide-int.h" 334)
       )
       (!srcfileloc  "wide-int.h" 334)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 334)
    nil )
  )
 )
 
 (!type already_seen 876)
 
 (!type already_seen 877)
 
 (!type struct 878 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 879 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 880 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 881 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
     (!srcfileloc  "wide-int.h" 438)
     (!fields 1 
      (!pair  "int_traits<T2"
       (!type user_struct 882 nil  gc_unused "int_traits<T2"
        (!srcfileloc  "wide-int.h" 438)
        (!fields 1 
         (!pair  "T2"
          (!type undefined 883 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 881)
 
 (!type already_seen 882)
 
 (!type already_seen 883)
 
 (!type already_seen 880)
 
 (!type user_struct 884 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 880)
    (!srcfileloc  "wide-int.h" 459)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type user_struct 885 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
     (!srcfileloc  "wide-int.h" 459)
     (!fields 1 
      (!pair  "int_traits<T1"
       (!type user_struct 886 nil  gc_unused "int_traits<T1"
        (!srcfileloc  "wide-int.h" 459)
        (!fields 1 
         (!pair  "T1"
          (!type undefined 887 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 885)
 
 (!type already_seen 886)
 
 (!type already_seen 887)
 
 (!type struct 888 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 889 nil  gc_unused "storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 890 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 774)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 889)
 )
 
 (!type undefined 891 nil  gc_unused "ASSIGNMENT_OPERATOR"
  (!srcfileloc  "wide-int.h" 754)
 )
 
 (!type struct 892 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 893 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1235)
  (!fields 2 
   (!pair  "val"
    (!type array 894 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 895 nil  gc_unused "trailing_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 896 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 895)
    (!srcfileloc  "wide-int.h" 1366)
    nil )
  )
 )
 
 (!type user_struct 897 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1406)
  (!fields 0 )
 )
 
 (!type struct 898 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "ints_for"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 903 
  (!type pointer 904 nil  gc_used
   (!type already_seen 903)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 64)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 904)
    (!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 905 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 906 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 907 
  (!type pointer 908 nil  gc_unused
   (!type already_seen 907)
  )
  gc_unused "predefined_function_abi"
  (!srcfileloc  "emit-rtl.h" 74)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 909 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 227)
 
 (!type already_seen 238)
 
 (!type union 910 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 911 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 912 nil  gc_unused "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!srcfileloc  "rtl.h" 291)
  (!fields 1 
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type undefined 913 nil  gc_unused "NUM_POLY_INT_COEFFS"
     (!srcfileloc  "rtl.h" 291)
    )
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
 )
 
 (!type already_seen 913)
 
 (!type struct 914 nil  gc_unused "const_poly_int_def"
  (!srcfileloc  "rtl.h" 292)
  (!fields 1 
   (!pair  "coeffs"
    (!type already_seen 912)
    (!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 915 nil  gc_used "u"
  (!srcfileloc  "ggc-tests.c" 140)
  (!fields 2 
   (!pair  "u_test_struct"
    (!type pointer 916 nil  gc_used
     (!type struct 917 
      (!type already_seen 916)
      gc_pointed_to "test_struct"
      (!srcfileloc  "ggc-tests.c" 53)
      (!fields 1 
       (!pair  "other"
        (!type already_seen 916)
        (!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 918 nil  gc_used
     (!type struct 919 
      (!type already_seen 918)
      gc_pointed_to "test_other"
      (!srcfileloc  "ggc-tests.c" 139)
      (!fields 2 
       (!pair  "dummy"
        (!type array 920 nil  gc_used "256" 
         (!type already_seen 8)
        )
        (!srcfileloc  "ggc-tests.c" 107)
        nil )
       (!pair  "m_ptr"
        (!type already_seen 916)
        (!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 921 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 922 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 923 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 924 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 925 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 877)
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "generic_wide_int<wide_int_ref_storage<false"
    (!type user_struct 926 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 876)
       (!srcfileloc  "rtl.h" 2332)
       nil )
     )
    )
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 913)
    (!srcfileloc  "rtl.h" 2332)
    nil )
  )
 )
 
 (!type already_seen 926)
 
 (!type already_seen 357)
 
 (!type struct 927 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 593)
 
 (!type struct 928 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 826)
 
 (!type struct 929 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_unused "auto_suppress_location_wrappers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 931 nil  gc_used "tree_decl_map_cache_hasher"
  (!srcfileloc  "tree.c" 239)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 932 nil  gc_unused "tree_decl_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 933 nil  gc_unused "tree_type_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 934 nil  gc_unused "tree_ssa_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 935 nil  gc_used "tree_hash"
  (!srcfileloc  "except.c" 150)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 936 nil  gc_unused "tree_cache_traits"
  (!srcfileloc  "tree.h" 5429)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 937 nil  gc_unused "hash_map<tree,tree,tree_cache_traits>"
  (!srcfileloc  "tree.h" 5429)
  (!fields 3 
   (!pair  "tree_cache_traits"
    (!type already_seen 936)
    (!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 938 nil  gc_used "decl_tree_cache_traits"
  (!srcfileloc  "tree.h" 5435)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 939 
  (!type pointer 940 nil  gc_used
   (!type already_seen 939)
  )
  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 938)
    (!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 941 nil  gc_used "type_tree_cache_traits"
  (!srcfileloc  "tree.h" 5441)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 942 
  (!type pointer 943 nil  gc_used
   (!type already_seen 942)
  )
  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 941)
    (!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 944 nil  gc_unused "unextended_tree"
  (!srcfileloc  "tree.h" 5782)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 945 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 946 nil  gc_unused "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5762)
  (!fields 1 
   (!pair  "WIDE_INT_MAX_PRECISION"
    (!type already_seen 870)
    (!srcfileloc  "tree.h" 5762)
    nil )
  )
 )
 
 (!type user_struct 947 nil  gc_unused "extended_tree<ADDR_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5763)
  (!fields 1 
   (!pair  "ADDR_MAX_PRECISION"
    (!type already_seen 870)
    (!srcfileloc  "tree.h" 5763)
    nil )
  )
 )
 
 (!type user_struct 948 nil  gc_unused "generic_wide_int<widest_extended_tree>"
  (!srcfileloc  "tree.h" 5765)
  (!fields 1 
   (!pair  "widest_extended_tree"
    (!type already_seen 946)
    (!srcfileloc  "tree.h" 5765)
    nil )
  )
 )
 
 (!type user_struct 949 nil  gc_unused "generic_wide_int<offset_extended_tree>"
  (!srcfileloc  "tree.h" 5766)
  (!fields 1 
   (!pair  "offset_extended_tree"
    (!type already_seen 947)
    (!srcfileloc  "tree.h" 5766)
    nil )
  )
 )
 
 (!type user_struct 950 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!srcfileloc  "tree.h" 5767)
  (!fields 2 
   (!pair  "false"
    (!type already_seen 877)
    (!srcfileloc  "tree.h" 5767)
    nil )
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 876)
    (!srcfileloc  "tree.h" 5767)
    nil )
  )
 )
 
 (!type user_struct 951 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 952 nil  gc_unused "generic_wide_int<widest_extended_tree"
     (!srcfileloc  "tree.h" 5776)
     (!fields 1 
      (!pair  "widest_extended_tree"
       (!type already_seen 946)
       (!srcfileloc  "tree.h" 5776)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5776)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 913)
    (!srcfileloc  "tree.h" 5776)
    nil )
  )
 )
 
 (!type already_seen 952)
 
 (!type user_struct 953 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 954 nil  gc_unused "generic_wide_int<offset_extended_tree"
     (!srcfileloc  "tree.h" 5779)
     (!fields 1 
      (!pair  "offset_extended_tree"
       (!type already_seen 947)
       (!srcfileloc  "tree.h" 5779)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5779)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 913)
    (!srcfileloc  "tree.h" 5779)
    nil )
  )
 )
 
 (!type already_seen 954)
 
 (!type user_struct 955 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 956 nil  gc_unused "generic_wide_int<unextended_tree"
     (!srcfileloc  "tree.h" 5782)
     (!fields 1 
      (!pair  "unextended_tree"
       (!type already_seen 944)
       (!srcfileloc  "tree.h" 5782)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5782)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 913)
    (!srcfileloc  "tree.h" 5782)
    nil )
  )
 )
 
 (!type already_seen 956)
 
 (!type user_struct 957 nil  gc_unused "generic_wide_int<extended_tree<N>>"
  (!srcfileloc  "tree.h" 5792)
  (!fields 1 
   (!pair  "extended_tree<N"
    (!type user_struct 958 nil  gc_unused "extended_tree<N"
     (!srcfileloc  "tree.h" 5792)
     (!fields 1 
      (!pair  "N"
       (!type undefined 959 nil  gc_unused "N"
        (!srcfileloc  "tree.h" 5792)
       )
       (!srcfileloc  "tree.h" 5792)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5792)
    nil )
  )
 )
 
 (!type already_seen 958)
 
 (!type already_seen 959)
 
 (!type user_struct 960 nil  gc_unused "generic_wide_int<unextended_tree>"
  (!srcfileloc  "tree.h" 5799)
  (!fields 1 
   (!pair  "unextended_tree"
    (!type already_seen 944)
    (!srcfileloc  "tree.h" 5799)
    nil )
  )
 )
 
 (!type user_struct 961 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 962 nil  gc_unused
     (!type struct 963 
      (!type already_seen 962)
      gc_unused "wi::extended_tree<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "tree.h" 5806)
    nil )
  )
 )
 
 (!type already_seen 963)
 
 (!type undefined 964 nil  gc_unused "typename"
  (!srcfileloc  "tree.h" 6057)
 )
 
 (!type struct 965 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 966 nil  gc_unused "builtin_structptr_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "op_location_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 562)
 
 (!type already_seen 564)
 
 (!type already_seen 493)
 
 (!type struct 968 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 553)
 
 (!type already_seen 554)
 
 (!type already_seen 576)
 
 (!type already_seen 575)
 
 (!type already_seen 573)
 
 (!type already_seen 557)
 
 (!type already_seen 556)
 
 (!type already_seen 565)
 
 (!type already_seen 567)
 
 (!type already_seen 560)
 
 (!type already_seen 559)
 
 (!type already_seen 787)
 
 (!type already_seen 578)
 
 (!type already_seen 577)
 
 (!type already_seen 85)
 
 (!type already_seen 568)
 
 (!type already_seen 521)
 
 (!type already_seen 520)
 
 (!type already_seen 524)
 
 (!type already_seen 522)
 
 (!type already_seen 552)
 
 (!type already_seen 569)
 
 (!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 519)
 
 (!type already_seen 354)
 
 (!type already_seen 572)
 
 (!type already_seen 570)
 
 (!type already_seen 584)
 
 (!type already_seen 580)
 
 (!type already_seen 587)
 
 (!type already_seen 585)
 
 (!type already_seen 631)
 
 (!type struct 969 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 970 
  (!type pointer 971 nil  gc_unused
   (!type already_seen 970)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 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 974 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 2125)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 973)
    (!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 975 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 2131)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 973)
    (!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 976 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 2137)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 973)
    (!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 977 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 2143)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 973)
    (!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 978 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 980 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 981 nil  gc_unused "floatn_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 982 
  (!type pointer 983 nil  gc_used
   (!type already_seen 982)
  )
  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 968)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
  )
 )
 
 (!type struct 984 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 614)
 
 (!type already_seen 613)
 
 (!type already_seen 610)
 
 (!type struct 985 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 987 nil  gc_unused "obstack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 988 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 989 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 990 
  (!type pointer 991 nil  gc_used
   (!type already_seen 990)
  )
  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 991)
    (!srcfileloc  "function.h" 33)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 992 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 990)
    (!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 993 
  (!type pointer 994 nil  gc_used
   (!type already_seen 993)
  )
  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 995 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 994)
    (!srcfileloc  "function.h" 131)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 996 
  (!type pointer 997 nil  gc_used
   (!type already_seen 996)
  )
  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 998 
  (!type pointer 999 nil  gc_used
   (!type already_seen 998)
  )
  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 997)
    (!srcfileloc  "function.h" 147)
    nil )
  )
 )
 
 (!type struct 1000 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 1001 nil  gc_used "2" 
     (!type already_seen 999)
    )
    (!srcfileloc  "function.h" 147)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 389)
 
 (!type already_seen 476)
 
 (!type struct 1002 
  (!type pointer 1003 nil  gc_used
   (!type already_seen 1002)
  )
  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 1004 nil  gc_used
     (!type user_struct 1005 
      (!type already_seen 1004)
      gc_pointed_to "hash_table<const_rtx_desc_hasher>"
      (!srcfileloc  "varasm.c" 3679)
      (!fields 1 
       (!pair  "const_rtx_desc_hasher"
        (!type struct 1006 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 1007 nil  gc_used "varasm_status"
  (!srcfileloc  "function.h" 168)
  (!fields 2 
   (!pair  "pool"
    (!type already_seen 1003)
    (!srcfileloc  "function.h" 163)
    nil )
   (!pair  "deferred_constants"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 167)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1008 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 1009 
  (!type pointer 1010 nil  gc_used
   (!type already_seen 1009)
  )
  gc_pointed_to "frame_space"
  (!srcfileloc  "function.h" 193)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1010)
    (!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 431)
 
 (!type already_seen 474)
 
 (!type struct 1011 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 1012 nil  gc_used "used_type_hasher"
  (!srcfileloc  "function.h" 474)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1013 
  (!type pointer 1014 nil  gc_used
   (!type already_seen 1013)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 474)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type already_seen 1012)
    (!srcfileloc  "function.h" 474)
    nil )
  )
 )
 
 (!type struct 1015 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "function_abi"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "function_abi_aggregator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 604)
 
 (!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 1019 nil  gc_unused "eni_weights"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 616)
 
 (!type already_seen 385)
 
 (!type already_seen 299)
 
 (!type struct 1022 nil  gc_unused "auto_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "auto_edge_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "auto_bb_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "sreal"
  (!srcfileloc  "profile-count.h" 1206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1026 nil  gc_unused "profile_probability"
  (!srcfileloc  "profile-count.h" 634)
  (!fields 0 )
 )
 
 (!type undefined 1027 nil  gc_unused "uint32_t"
  (!srcfileloc  "profile-count.h" 807)
 )
 
 (!type struct 1028 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 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 1031 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 824)
 
 (!type already_seen 347)
 
 (!type struct 1032 nil  gc_used "section_name_hasher"
  (!srcfileloc  "cgraph.h" 2535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type undefined 1033 nil  gc_unused "explicit"
  (!srcfileloc  "cgraph.h" 113)
 )
 
 (!type already_seen 328)
 
 (!type struct 1034 
  (!type pointer 1035 nil  gc_unused
   (!type already_seen 1034)
  )
  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 840)
 
 (!type already_seen 831)
 
 (!type already_seen 829)
 
 (!type already_seen 833)
 
 (!type already_seen 838)
 
 (!type already_seen 839)
 
 (!type already_seen 827)
 
 (!type already_seen 821)
 
 (!type already_seen 819)
 
 (!type struct 1036 
  (!type pointer 1037 nil  gc_used
   (!type already_seen 1036)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 887)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 868)
    nil )
   (!pair  "prev"
    (!type already_seen 1037)
    (!srcfileloc  "cgraph.h" 872)
    nil )
   (!pair  "next"
    (!type already_seen 1037)
    (!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 817)
 
 (!type user_struct 1038 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1204)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 810)
    (!srcfileloc  "cgraph.h" 1204)
    nil )
  )
 )
 
 (!type already_seen 816)
 
 (!type already_seen 822)
 
 (!type struct 1039 
  (!type pointer 1040 nil  gc_unused
   (!type already_seen 1039)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1564)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1041 
  (!type pointer 1042 nil  gc_unused
   (!type already_seen 1041)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 814)
 
 (!type already_seen 813)
 
 (!type undefined 1045 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 2053)
 )
 
 (!type struct 1046 
  (!type pointer 1047 nil  gc_used
   (!type already_seen 1046)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 2176)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1047)
    (!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 1048 
  (!type pointer 1049 nil  gc_unused
   (!type already_seen 1048)
  )
  gc_unused "cgraph_edge_hook_list"
  (!srcfileloc  "cgraph.h" 2384)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1050 
  (!type pointer 1051 nil  gc_unused
   (!type already_seen 1050)
  )
  gc_unused "cgraph_node_hook_list"
  (!srcfileloc  "cgraph.h" 2391)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1052 
  (!type pointer 1053 nil  gc_unused
   (!type already_seen 1052)
  )
  gc_unused "varpool_node_hook_list"
  (!srcfileloc  "cgraph.h" 2398)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1054 
  (!type pointer 1055 nil  gc_unused
   (!type already_seen 1054)
  )
  gc_unused "cgraph_2edge_hook_list"
  (!srcfileloc  "cgraph.h" 2419)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1056 
  (!type pointer 1057 nil  gc_unused
   (!type already_seen 1056)
  )
  gc_unused "cgraph_2node_hook_list"
  (!srcfileloc  "cgraph.h" 2425)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1058 nil  gc_used "asmname_hasher"
  (!srcfileloc  "cgraph.h" 2538)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1059 
  (!type pointer 1060 nil  gc_used
   (!type already_seen 1059)
  )
  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 1061 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 1061)
    (!srcfileloc  "cgraph.h" 2508)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "nodes"
    (!type already_seen 317)
    (!srcfileloc  "cgraph.h" 2513)
    nil )
   (!pair  "asmnodes"
    (!type already_seen 1047)
    (!srcfileloc  "cgraph.h" 2514)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1047)
    (!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 1062 nil  gc_used
     (!type user_struct 1063 
      (!type already_seen 1062)
      gc_pointed_to "hash_table<section_name_hasher>"
      (!srcfileloc  "cgraph.h" 2535)
      (!fields 1 
       (!pair  "section_name_hasher"
        (!type already_seen 1032)
        (!srcfileloc  "cgraph.h" 2535)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2535)
    nil )
   (!pair  "assembler_name_hash"
    (!type pointer 1064 nil  gc_used
     (!type user_struct 1065 
      (!type already_seen 1064)
      gc_pointed_to "hash_table<asmname_hasher>"
      (!srcfileloc  "cgraph.h" 2538)
      (!fields 1 
       (!pair  "asmname_hasher"
        (!type already_seen 1058)
        (!srcfileloc  "cgraph.h" 2538)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2538)
    nil )
   (!pair  "init_priority_hash"
    (!type pointer 1066 nil  gc_used
     (!type user_struct 1067 
      (!type already_seen 1066)
      gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
      (!srcfileloc  "cgraph.h" 2541)
      (!fields 2 
       (!pair  "symbol_priority_map"
        (!type already_seen 1034)
        (!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 1068 nil  gc_unused
     (!type undefined 1069 
      (!type already_seen 1068)
      gc_unused "FILE"
      (!srcfileloc  "cgraph.h" 2543)
     )
    )
    (!srcfileloc  "cgraph.h" 2543)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipa_clones_dump_file"
    (!type already_seen 1068)
    (!srcfileloc  "cgraph.h" 2545)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cloned_nodes"
    (!type user_struct 1070 nil  gc_unused "hash_set<cgraph_node*>"
     (!srcfileloc  "cgraph.h" 2547)
     (!fields 1 
      (!pair  "cgraph_node"
       (!type already_seen 809)
       (!srcfileloc  "cgraph.h" 2547)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2547)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type already_seen 1049)
    (!srcfileloc  "cgraph.h" 2576)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type already_seen 1051)
    (!srcfileloc  "cgraph.h" 2578)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type already_seen 1055)
    (!srcfileloc  "cgraph.h" 2580)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type already_seen 1057)
    (!srcfileloc  "cgraph.h" 2582)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1051)
    (!srcfileloc  "cgraph.h" 2584)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type already_seen 1053)
    (!srcfileloc  "cgraph.h" 2586)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1053)
    (!srcfileloc  "cgraph.h" 2588)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  2047 nil nil )
 
 (!type already_seen 1061)
 
 (!type already_seen 1063)
 
 (!type already_seen 1065)
 
 (!type already_seen 1067)
 
 (!type already_seen 1069)
 
 (!type already_seen 1070)
 
 (!type struct 1071 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 1072 nil  gc_used "tree_descriptor_hasher"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1073 nil  gc_unused "symbol_table_test"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 606)
 
 (!type struct 1075 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_used "alias_set_hash"
  (!srcfileloc  "alias.c" 148)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1079 
  (!type pointer 1080 nil  gc_used
   (!type already_seen 1079)
  )
  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 1078)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
 )
 
 (!type struct 1081 
  (!type pointer 1082 nil  gc_used
   (!type already_seen 1081)
  )
  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 1080)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1083 
  (!type pointer 1084 nil  gc_used
   (!type already_seen 1083)
  )
  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 1082)
    (!srcfileloc  "alias.c" 279)
    nil )
  )
 )
 
 (!type struct 1085 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1086 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_used "function_version_hasher"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1090 
  (!type pointer 1091 nil  gc_used
   (!type already_seen 1090)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type already_seen 1089)
    (!srcfileloc  "cgraph.c" 119)
    nil )
  )
 )
 
 (!type struct 1092 nil  gc_unused "set_pure_flag_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 330)
 
 (!type struct 1093 nil  gc_used "ipa_bit_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1094 
  (!type pointer 1095 nil  gc_used
   (!type already_seen 1094)
  )
  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 1093)
    (!srcfileloc  "ipa-prop.c" 105)
    nil )
  )
 )
 
 (!type struct 1096 nil  gc_used "ipa_vr_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1097 
  (!type pointer 1098 nil  gc_used
   (!type already_seen 1097)
  )
  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 1096)
    (!srcfileloc  "ipa-prop.c" 151)
    nil )
  )
 )
 
 (!type struct 1099 
  (!type pointer 1100 nil  gc_unused
   (!type already_seen 1099)
  )
  gc_unused "ipa_cst_ref_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1101 nil  gc_pointed_to "ipa_node_params"
  (!srcfileloc  "ipa-prop.h" 506)
  (!fields 14 
   (!pair  "descriptors"
    (!type pointer 1102 nil  gc_used
     (!type user_struct 1103 
      (!type already_seen 1102)
      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 1104 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 1105 nil  gc_unused
     (!type struct 1106 
      (!type already_seen 1105)
      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 809)
    (!srcfileloc  "ipa-prop.h" 478)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_csts"
    (!type user_struct 1107 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 1108 nil  gc_unused "vec<ipa_polymorphic_call_context>"
     (!srcfileloc  "ipa-prop.h" 484)
     (!fields 1 
      (!pair  "ipa_polymorphic_call_context"
       (!type already_seen 814)
       (!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 1109 nil  gc_used "ipa_jump_func"
  (!srcfileloc  "ipa-prop.h" 803)
  (!fields 5 
   (!pair  "agg"
    (!type struct 1110 nil  gc_used "ipa_agg_jump_function"
     (!srcfileloc  "ipa-prop.h" 178)
     (!fields 2 
      (!pair  "items"
       (!type pointer 1111 nil  gc_used
        (!type user_struct 1112 
         (!type already_seen 1111)
         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 1113 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 1114 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 1115 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 1116 nil  gc_used "ipa_load_agg_data"
                  (!srcfileloc  "ipa-prop.h" 128)
                  (!fields 4 
                   (!pair  "pass_through"
                    (!type already_seen 1115)
                    (!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 1117 nil  gc_used
     (!type struct 1118 
      (!type already_seen 1117)
      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 1119 nil  gc_used
     (!type struct 1120 
      (!type already_seen 1119)
      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 1121 nil  gc_used "jump_func_value"
     (!srcfileloc  "ipa-prop.h" 332)
     (!fields 3 
      (!pair  "constant"
       (!type struct 1122 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 1100)
          (!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 1115)
       (!srcfileloc  "ipa-prop.h" 330)
       (!options 
        (!option tag string  "IPA_JF_PASS_THROUGH")
       )
      )
      (!pair  "ancestor"
       (!type struct 1123 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 1113)
 
 (!type struct 1124 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1125 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1126 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1127 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1116)
 
 (!type struct 1128 nil  gc_pointed_to "ipa_edge_args"
  (!srcfileloc  "ipa-prop.h" 805)
  (!fields 2 
   (!pair  "jump_functions"
    (!type pointer 1129 nil  gc_used
     (!type user_struct 1130 
      (!type already_seen 1129)
      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 1109)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 803)
    nil )
   (!pair  "polymorphic_call_contexts"
    (!type pointer 1131 nil  gc_used
     (!type user_struct 1132 
      (!type already_seen 1131)
      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 814)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 804)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1133 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1134 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1135 nil  gc_unused "ipa_agg_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1136 
  (!type pointer 1137 nil  gc_used
   (!type already_seen 1136)
  )
  gc_pointed_to "ipa_agg_replacement_value"
  (!srcfileloc  "ipa-prop.h" 752)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 1137)
    (!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 1138 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1139 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1140 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1144 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "ipcp_bits_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "ipcp_vr_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1106)
 
 (!type struct 1149 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "ipa_agg_value_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1110)
 
 (!type struct 1153 
  (!type pointer 1154 nil  gc_used
   (!type already_seen 1153)
  )
  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 1025)
    (!srcfileloc  "ipa-fnsummary.h" 155)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "conds"
    (!type pointer 1155 nil  gc_used
     (!type user_struct 1156 
      (!type already_seen 1155)
      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 1157 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 1158 nil  gc_used
            (!type user_struct 1159 
             (!type already_seen 1158)
             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 1160 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 1161 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 1162 nil  gc_used
     (!type user_struct 1163 
      (!type already_seen 1162)
      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 1164 nil  gc_used "size_time_entry"
         (!srcfileloc  "ipa-fnsummary.h" 164)
         (!fields 4 
          (!pair  "exec_predicate"
           (!type struct 1165 
            (!type pointer 1166 nil  gc_unused
             (!type already_seen 1165)
            )
            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 1165)
           (!srcfileloc  "ipa-fnsummary.h" 80)
           nil )
          (!pair  "size"
           (!type already_seen 2)
           (!srcfileloc  "ipa-fnsummary.h" 81)
           nil )
          (!pair  "time"
           (!type already_seen 1025)
           (!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 1162)
    (!srcfileloc  "ipa-fnsummary.h" 165)
    nil )
   (!pair  "loop_iterations"
    (!type already_seen 1166)
    (!srcfileloc  "ipa-fnsummary.h" 169)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "loop_stride"
    (!type already_seen 1166)
    (!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 1167 nil  gc_unused "edge_clone_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "edge_clone_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 
  (!type pointer 1172 nil  gc_used
   (!type already_seen 1171)
  )
  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 1173 nil  gc_unused "vec<odr_type>"
     (!srcfileloc  "ipa-devirt.c" 202)
     (!fields 1 
      (!pair  "odr_type"
       (!type already_seen 1172)
       (!srcfileloc  "ipa-devirt.c" 202)
       nil )
     )
    )
    (!srcfileloc  "ipa-devirt.c" 202)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "derived_types"
    (!type already_seen 1173)
    (!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 473)
    (!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 836)
 
 (!type already_seen 835)
 
 (!type struct 1174 nil  gc_unused "ipa_param_body_replacement"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "ipa_param_body_adjustments"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 
  (!type pointer 1177 nil  gc_used
   (!type already_seen 1176)
  )
  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 1178 nil  gc_unused "gensum_param_access"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1179 
  (!type pointer 1180 nil  gc_used
   (!type already_seen 1179)
  )
  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 1177)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
  )
 )
 
 (!type struct 1181 nil  gc_used "isra_param_desc"
  (!srcfileloc  "ipa-sra.c" 254)
  (!fields 6 
   (!pair  "accesses"
    (!type already_seen 1180)
    (!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 1182 nil  gc_unused "gensum_param_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_pointed_to "isra_func_summary"
  (!srcfileloc  "ipa-sra.c" 272)
  (!fields 5 
   (!pair  "m_parameters"
    (!type pointer 1184 nil  gc_used
     (!type user_struct 1185 
      (!type already_seen 1184)
      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 1181)
        (!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 1185)
 
 (!type struct 1186 nil  gc_unused "isra_param_flow"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1187 nil  gc_unused "isra_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1188 
  (!type pointer 1189 nil  gc_used
   (!type already_seen 1188)
  )
  gc_pointed_to "ipa_sra_function_summaries"
  (!srcfileloc  "ipa-sra.c" 376)
  (!fields 0 )
 )
 
 (!type struct 1190 nil  gc_unused "ipa_sra_call_summaries"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "scan_call_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "caller_issues"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 nil  gc_unused "pass_ipa_sra"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 
  (!type pointer 1195 nil  gc_used
   (!type already_seen 1194)
  )
  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 1196 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 484)
 
 (!type already_seen 480)
 
 (!type already_seen 483)
 
 (!type already_seen 491)
 
 (!type already_seen 516)
 
 (!type already_seen 518)
 
 (!type already_seen 481)
 
 (!type already_seen 478)
 
 (!type already_seen 505)
 
 (!type already_seen 514)
 
 (!type already_seen 513)
 
 (!type already_seen 487)
 
 (!type already_seen 506)
 
 (!type already_seen 508)
 
 (!type already_seen 510)
 
 (!type already_seen 512)
 
 (!type already_seen 489)
 
 (!type struct 1197 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1199 
  (!type pointer 1200 nil  gc_used
   (!type already_seen 1199)
  )
  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 1201 
  (!type pointer 1202 nil  gc_used
   (!type already_seen 1201)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 193)
  (!fields 5 
   (!pair  "cfa"
    (!type already_seen 518)
    (!srcfileloc  "dwarf2cfi.c" 66)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 479)
    (!srcfileloc  "dwarf2cfi.c" 67)
    nil )
   (!pair  "reg_save"
    (!type already_seen 477)
    (!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 1203 
  (!type pointer 1204 nil  gc_used
   (!type already_seen 1203)
  )
  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 1205 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1210 
  (!type pointer 1211 nil  gc_used
   (!type already_seen 1210)
  )
  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 475)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
  )
 )
 
 (!type struct 1212 nil  gc_used "indirect_string_hasher"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1213 
  (!type pointer 1214 nil  gc_used
   (!type already_seen 1213)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type already_seen 1212)
    (!srcfileloc  "dwarf2out.c" 231)
    nil )
  )
 )
 
 (!type already_seen 488)
 
 (!type already_seen 496)
 
 (!type struct 1215 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 1216 
  (!type pointer 1217 nil  gc_used
   (!type already_seen 1216)
  )
  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 1215)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
 )
 
 (!type struct 1218 
  (!type pointer 1219 nil  gc_used
   (!type already_seen 1218)
  )
  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 1217)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 500)
 
 (!type already_seen 494)
 
 (!type already_seen 499)
 
 (!type struct 1220 nil  gc_unused "set_early_dwarf"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 nil  gc_used "pubname_struct"
  (!srcfileloc  "dwarf2out.c" 3135)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 492)
    (!srcfileloc  "dwarf2out.c" 3133)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3134)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1222 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 1223 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 1224 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 1225 
  (!type pointer 1226 nil  gc_used
   (!type already_seen 1225)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 3185)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 492)
    (!srcfileloc  "dwarf2out.c" 3180)
    nil )
   (!pair  "created_for"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3183)
    nil )
   (!pair  "next"
    (!type already_seen 1226)
    (!srcfileloc  "dwarf2out.c" 3184)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1227 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 nil  gc_used "dwarf_file_hasher"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1229 
  (!type pointer 1230 nil  gc_used
   (!type already_seen 1229)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type already_seen 1228)
    (!srcfileloc  "dwarf2out.c" 3400)
    nil )
  )
 )
 
 (!type struct 1231 nil  gc_used "decl_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1232 
  (!type pointer 1233 nil  gc_used
   (!type already_seen 1232)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type already_seen 1231)
    (!srcfileloc  "dwarf2out.c" 3411)
    nil )
  )
 )
 
 (!type user_struct 1234 
  (!type pointer 1235 nil  gc_used
   (!type already_seen 1234)
  )
  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 492)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
 )
 
 (!type struct 1236 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 1235)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1237 nil  gc_used "variable_value_hasher"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1238 
  (!type pointer 1239 nil  gc_used
   (!type already_seen 1238)
  )
  gc_pointed_to "hash_table<variable_value_hasher>"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 1 
   (!pair  "variable_value_hasher"
    (!type already_seen 1237)
    (!srcfileloc  "dwarf2out.c" 3428)
    nil )
  )
 )
 
 (!type struct 1240 nil  gc_used "block_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1241 
  (!type pointer 1242 nil  gc_used
   (!type already_seen 1241)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type already_seen 1240)
    (!srcfileloc  "dwarf2out.c" 3438)
    nil )
  )
 )
 
 (!type struct 1243 nil  gc_used "die_arg_entry_struct"
  (!srcfileloc  "dwarf2out.c" 3443)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 492)
    (!srcfileloc  "dwarf2out.c" 3441)
    nil )
   (!pair  "arg"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3442)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1244 
  (!type pointer 1245 nil  gc_used
   (!type already_seen 1244)
  )
  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 1245)
    (!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 1246 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3481)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 1245)
    (!srcfileloc  "dwarf2out.c" 3464)
    nil )
   (!pair  "last"
    (!type already_seen 1245)
    (!srcfileloc  "dwarf2out.c" 3472)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1245)
    (!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 1247 
  (!type pointer 1248 nil  gc_used
   (!type already_seen 1247)
  )
  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 1248)
    (!srcfileloc  "dwarf2out.c" 3491)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1249 nil  gc_used "decl_loc_hasher"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1250 
  (!type pointer 1251 nil  gc_used
   (!type already_seen 1250)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type already_seen 1249)
    (!srcfileloc  "dwarf2out.c" 3504)
    nil )
  )
 )
 
 (!type struct 1252 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 490)
    (!srcfileloc  "dwarf2out.c" 3521)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1253 nil  gc_used "dw_loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1254 
  (!type pointer 1255 nil  gc_used
   (!type already_seen 1254)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type already_seen 1253)
    (!srcfileloc  "dwarf2out.c" 3535)
    nil )
  )
 )
 
 (!type user_struct 1256 
  (!type pointer 1257 nil  gc_used
   (!type already_seen 1256)
  )
  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 1219)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
  )
 )
 
 (!type user_struct 1258 
  (!type pointer 1259 nil  gc_used
   (!type already_seen 1258)
  )
  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 1221)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
  )
 )
 
 (!type user_struct 1260 
  (!type pointer 1261 nil  gc_used
   (!type already_seen 1260)
  )
  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 1223)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
  )
 )
 
 (!type user_struct 1262 
  (!type pointer 1263 nil  gc_used
   (!type already_seen 1262)
  )
  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 1222)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
  )
 )
 
 (!type user_struct 1264 
  (!type pointer 1265 nil  gc_used
   (!type already_seen 1264)
  )
  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 1224)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
  )
 )
 
 (!type user_struct 1266 
  (!type pointer 1267 nil  gc_used
   (!type already_seen 1266)
  )
  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 1243)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
  )
 )
 
 (!type struct 1268 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1269 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1270 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1271 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1272 nil  gc_used "addr_hasher"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type already_seen 1272)
    (!srcfileloc  "dwarf2out.c" 4954)
    nil )
  )
 )
 
 (!type struct 1275 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 1276 
  (!type pointer 1277 nil  gc_used
   (!type already_seen 1276)
  )
  gc_pointed_to "hash_map<tree,sym_off_pair>"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym_off_pair"
    (!type already_seen 1275)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
  )
 )
 
 (!type struct 1278 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1279 nil  gc_unused "decl_table_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1280 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type already_seen 1279)
    (!srcfileloc  "dwarf2out.c" 8181)
    nil )
  )
 )
 
 (!type struct 1281 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1282 nil  gc_unused "external_ref_hasher"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1283 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type already_seen 1282)
    (!srcfileloc  "dwarf2out.c" 8939)
    nil )
  )
 )
 
 (!type struct 1284 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1285 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1286 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1287 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 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 1290 nil  gc_used "inline_entry_data_hasher"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1291 
  (!type pointer 1292 nil  gc_used
   (!type already_seen 1291)
  )
  gc_pointed_to "hash_table<inline_entry_data_hasher>"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 1 
   (!pair  "inline_entry_data_hasher"
    (!type already_seen 1290)
    (!srcfileloc  "dwarf2out.c" 23562)
    nil )
  )
 )
 
 (!type struct 1293 nil  gc_unused "macinfo_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1294 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type already_seen 1293)
    (!srcfileloc  "dwarf2out.c" 28164)
    nil )
  )
 )
 
 (!type struct 1295 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1296 nil  gc_unused "loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1297 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type already_seen 1296)
    (!srcfileloc  "dwarf2out.c" 31114)
    nil )
  )
 )
 
 (!type struct 1298 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1300 
  (!type pointer 1301 nil  gc_used
   (!type already_seen 1300)
  )
  gc_pointed_to "temp_slot"
  (!srcfileloc  "function.c" 587)
  (!fields 10 
   (!pair  "next"
    (!type already_seen 1301)
    (!srcfileloc  "function.c" 563)
    nil )
   (!pair  "prev"
    (!type already_seen 1301)
    (!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 1302 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 1303 
  (!type pointer 1304 nil  gc_used
   (!type already_seen 1303)
  )
  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 1305 nil  gc_unused
     (!type struct 1306 
      (!type already_seen 1305)
      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 1307 
  (!type pointer 1308 nil  gc_used
   (!type already_seen 1307)
  )
  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 1301)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
  )
 )
 
 (!type struct 1309 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 306)
  (!fields 61 
   (!pair  "expr"
    (!type already_seen 995)
    (!srcfileloc  "emit-rtl.h" 61)
    nil )
   (!pair  "emit"
    (!type already_seen 992)
    (!srcfileloc  "emit-rtl.h" 62)
    nil )
   (!pair  "varasm"
    (!type already_seen 1007)
    (!srcfileloc  "emit-rtl.h" 63)
    nil )
   (!pair  "args"
    (!type already_seen 1302)
    (!srcfileloc  "emit-rtl.h" 64)
    nil )
   (!pair  "subsections"
    (!type already_seen 1008)
    (!srcfileloc  "emit-rtl.h" 65)
    nil )
   (!pair  "eh"
    (!type already_seen 1000)
    (!srcfileloc  "emit-rtl.h" 66)
    nil )
   (!pair  "abi"
    (!type already_seen 908)
    (!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 1304)
    (!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 743)
    (!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 1010)
    (!srcfileloc  "emit-rtl.h" 122)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 752)
    (!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 1308)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1301)
    (!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 1310 nil  gc_used "const_int_hasher"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1311 
  (!type pointer 1312 nil  gc_used
   (!type already_seen 1311)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type already_seen 1310)
    (!srcfileloc  "emit-rtl.c" 144)
    nil )
  )
 )
 
 (!type struct 1313 nil  gc_used "const_wide_int_hasher"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1314 
  (!type pointer 1315 nil  gc_used
   (!type already_seen 1314)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type already_seen 1313)
    (!srcfileloc  "emit-rtl.c" 152)
    nil )
  )
 )
 
 (!type struct 1316 nil  gc_used "const_poly_int_hasher"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1317 
  (!type pointer 1318 nil  gc_used
   (!type already_seen 1317)
  )
  gc_pointed_to "hash_table<const_poly_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 1 
   (!pair  "const_poly_int_hasher"
    (!type already_seen 1316)
    (!srcfileloc  "emit-rtl.c" 162)
    nil )
  )
 )
 
 (!type struct 1319 nil  gc_used "reg_attr_hasher"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1320 
  (!type pointer 1321 nil  gc_used
   (!type already_seen 1320)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type already_seen 1319)
    (!srcfileloc  "emit-rtl.c" 171)
    nil )
  )
 )
 
 (!type struct 1322 nil  gc_used "const_double_hasher"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1323 
  (!type pointer 1324 nil  gc_used
   (!type already_seen 1323)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type already_seen 1322)
    (!srcfileloc  "emit-rtl.c" 180)
    nil )
  )
 )
 
 (!type struct 1325 nil  gc_used "const_fixed_hasher"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1326 
  (!type pointer 1327 nil  gc_used
   (!type already_seen 1326)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type already_seen 1325)
    (!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 1328 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 1329 nil  gc_unused "pieces_addr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1330 nil  gc_unused "op_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1331 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 nil  gc_unused "compare_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 
  (!type pointer 1335 nil  gc_unused
   (!type already_seen 1334)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1336 nil  gc_used "insn_cache_hasher"
  (!srcfileloc  "function.c" 127)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1337 
  (!type pointer 1338 nil  gc_used
   (!type already_seen 1337)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 127)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type already_seen 1336)
    (!srcfileloc  "function.c" 127)
    nil )
  )
 )
 
 (!type struct 1339 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 1301)
    (!srcfileloc  "function.c" 593)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1340 nil  gc_used "temp_address_hasher"
  (!srcfileloc  "function.c" 604)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1341 
  (!type pointer 1342 nil  gc_used
   (!type already_seen 1341)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 604)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type already_seen 1340)
    (!srcfileloc  "function.c" 604)
    nil )
  )
 )
 
 (!type already_seen 1306)
 
 (!type struct 1343 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1344 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1345 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1349 
  (!type pointer 1350 nil  gc_used
   (!type already_seen 1349)
  )
  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 935)
    (!srcfileloc  "except.c" 150)
    nil )
  )
 )
 
 (!type struct 1351 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1352 nil  gc_unused "action_record_hasher"
  (!srcfileloc  "except.c" 209)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1353 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 209)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type already_seen 1352)
    (!srcfileloc  "except.c" 209)
    nil )
  )
 )
 
 (!type struct 1354 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1356 nil  gc_unused "ttypes_filter_hasher"
  (!srcfileloc  "except.c" 728)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1357 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 728)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type already_seen 1356)
    (!srcfileloc  "except.c" 728)
    nil )
  )
 )
 
 (!type struct 1358 nil  gc_unused "ehspec_hasher"
  (!srcfileloc  "except.c" 763)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1359 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 763)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type already_seen 1358)
    (!srcfileloc  "except.c" 763)
    nil )
  )
 )
 
 (!type struct 1360 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1361 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 917)
 
 (!type struct 1362 
  (!type pointer 1363 nil  gc_used
   (!type already_seen 1362)
  )
  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 1364 nil  gc_used "1" 
     (!type already_seen 1363)
    )
    (!srcfileloc  "ggc-tests.c" 76)
    (!options 
     (!option length string  "%h.num_elem")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 919)
 
 (!type struct 1365 
  (!type pointer 1366 nil  gc_used
   (!type already_seen 1365)
  )
  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 915)
    (!srcfileloc  "ggc-tests.c" 140)
    (!options 
     (!option desc string  "calc_desc (%0.m_kind)")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 1367 nil  gc_unused "test_struct_with_dtor"
  (!srcfileloc  "ggc-tests.c" 187)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1368 
  (!type pointer 1369 nil  gc_used
   (!type already_seen 1368)
  )
  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 916)
    (!srcfileloc  "ggc-tests.c" 255)
    nil )
  )
  (!options 
   (!option tag string  "0")
   (!option desc string  "%h.m_kind")
  )
  2047 nil nil )
 
 (!type struct 1370 
  (!type pointer 1371 nil  gc_used
   (!type already_seen 1370)
  )
  gc_pointed_to "some_subclass"
  (!srcfileloc  "ggc-tests.c" 267)
  (!fields 1 
   (!pair  "m_b"
    (!type already_seen 916)
    (!srcfileloc  "ggc-tests.c" 266)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 1368)
 )
 
 (!type struct 1372 
  (!type pointer 1373 nil  gc_used
   (!type already_seen 1372)
  )
  gc_pointed_to "some_other_subclass"
  (!srcfileloc  "ggc-tests.c" 278)
  (!fields 1 
   (!pair  "m_c"
    (!type already_seen 916)
    (!srcfileloc  "ggc-tests.c" 277)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 1368)
 )
 
 (!type struct 1374 
  (!type pointer 1375 nil  gc_used
   (!type already_seen 1374)
  )
  gc_pointed_to "test_node"
  (!srcfileloc  "ggc-tests.c" 337)
  (!fields 3 
   (!pair  "m_prev"
    (!type already_seen 1375)
    (!srcfileloc  "ggc-tests.c" 334)
    nil )
   (!pair  "m_next"
    (!type already_seen 1375)
    (!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 1376 
  (!type pointer 1377 nil  gc_used
   (!type already_seen 1376)
  )
  gc_pointed_to "user_struct"
  (!srcfileloc  "ggc-tests.c" 399)
  (!fields 0 )
 )
 
 (!type already_seen 624)
 
 (!type struct 1378 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1379 
  (!type pointer 1380 nil  gc_unused
   (!type already_seen 1379)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1381 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1382 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1383 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1384 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1385 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 1386 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 621)
  (!fields 1 
   (!pair  "modify_pair"
    (!type undefined 1387 nil  gc_unused "modify_pair"
     (!srcfileloc  "gcse.c" 621)
    )
    (!srcfileloc  "gcse.c" 621)
    nil )
  )
 )
 
 (!type already_seen 1387)
 
 (!type struct 1388 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1389 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1390 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1391 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1392 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1393 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1394 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1395 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1396 nil  gc_used "libfunc_decl_hasher"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1397 
  (!type pointer 1398 nil  gc_used
   (!type already_seen 1397)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type already_seen 1396)
    (!srcfileloc  "optabs-libfuncs.c" 720)
    nil )
  )
 )
 
 (!type struct 1399 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1400 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "location_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 nil  gc_unused "location_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1403 
  (!type pointer 1404 nil  gc_unused
   (!type already_seen 1403)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1405 
  (!type pointer 1406 nil  gc_unused
   (!type already_seen 1405)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1407 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1408 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1409 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1410 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1411 
  (!type pointer 1412 nil  gc_unused
   (!type already_seen 1411)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1413 
  (!type pointer 1414 nil  gc_unused
   (!type already_seen 1413)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1416 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1417 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1418 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1419 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1421 
  (!type pointer 1422 nil  gc_used
   (!type already_seen 1421)
  )
  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 1423 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 1424 nil  gc_used "type_cache_hasher"
  (!srcfileloc  "tree.c" 195)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1425 
  (!type pointer 1426 nil  gc_used
   (!type already_seen 1425)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 195)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type already_seen 1424)
    (!srcfileloc  "tree.c" 195)
    nil )
  )
 )
 
 (!type struct 1427 nil  gc_used "int_cst_hasher"
  (!srcfileloc  "tree.c" 206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1428 
  (!type pointer 1429 nil  gc_used
   (!type already_seen 1428)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 206)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type already_seen 1427)
    (!srcfileloc  "tree.c" 206)
    nil )
  )
 )
 
 (!type struct 1430 nil  gc_used "poly_int_cst_hasher"
  (!srcfileloc  "tree.c" 217)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1431 
  (!type pointer 1432 nil  gc_used
   (!type already_seen 1431)
  )
  gc_pointed_to "hash_table<poly_int_cst_hasher>"
  (!srcfileloc  "tree.c" 217)
  (!fields 1 
   (!pair  "poly_int_cst_hasher"
    (!type already_seen 1430)
    (!srcfileloc  "tree.c" 217)
    nil )
  )
 )
 
 (!type struct 1433 nil  gc_used "cl_option_hasher"
  (!srcfileloc  "tree.c" 233)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1434 
  (!type pointer 1435 nil  gc_used
   (!type already_seen 1434)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 233)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type already_seen 1433)
    (!srcfileloc  "tree.c" 233)
    nil )
  )
 )
 
 (!type user_struct 1436 
  (!type pointer 1437 nil  gc_used
   (!type already_seen 1436)
  )
  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 931)
    (!srcfileloc  "tree.c" 239)
    nil )
  )
 )
 
 (!type struct 1438 nil  gc_used "tree_vec_map_cache_hasher"
  (!srcfileloc  "tree.c" 262)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1439 
  (!type pointer 1440 nil  gc_used
   (!type already_seen 1439)
  )
  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 1438)
    (!srcfileloc  "tree.c" 262)
    nil )
  )
 )
 
 (!type struct 1441 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1443 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1444 nil  gc_used "section_hasher"
  (!srcfileloc  "varasm.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1445 
  (!type pointer 1446 nil  gc_used
   (!type already_seen 1445)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 189)
  (!fields 1 
   (!pair  "section_hasher"
    (!type already_seen 1444)
    (!srcfileloc  "varasm.c" 189)
    nil )
  )
 )
 
 (!type struct 1447 nil  gc_used "object_block_hasher"
  (!srcfileloc  "varasm.c" 200)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1448 
  (!type pointer 1449 nil  gc_used
   (!type already_seen 1448)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 200)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type already_seen 1447)
    (!srcfileloc  "varasm.c" 200)
    nil )
  )
 )
 
 (!type struct 1450 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1451 
  (!type pointer 1452 nil  gc_used
   (!type already_seen 1451)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type already_seen 1072)
    (!srcfileloc  "varasm.c" 3006)
    nil )
  )
 )
 
 (!type already_seen 1006)
 
 (!type already_seen 1005)
 
 (!type struct 1453 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1455 nil  gc_used "tm_clone_hasher"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1456 
  (!type pointer 1457 nil  gc_used
   (!type already_seen 1456)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type already_seen 1455)
    (!srcfileloc  "varasm.c" 6091)
    nil )
  )
 )
 
 (!type struct 1458 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 408)
 
 (!type already_seen 760)
 
 (!type already_seen 758)
 
 (!type already_seen 768)
 
 (!type already_seen 766)
 
 (!type already_seen 390)
 
 (!type already_seen 773)
 
 (!type already_seen 794)
 
 (!type already_seen 783)
 
 (!type struct 1459 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 799)
 
 (!type already_seen 802)
 
 (!type already_seen 801)
 
 (!type already_seen 796)
 
 (!type struct 1460 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 796)
 )
 
 (!type already_seen 791)
 
 (!type struct 1461 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 791)
 )
 
 (!type struct 1462 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1463 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 1464 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1465 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-eh.c:53"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1466 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1467 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1468 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1470 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1477 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 1478 
  (!type pointer 1479 nil  gc_used
   (!type already_seen 1478)
  )
  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 1477)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
  )
 )
 
 (!type struct 1480 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1483 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1486 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "label_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1492 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "iv_use"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 nil  gc_unused "version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "comp_cost"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "iv_inv_expr_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "cost_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "iv_group"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 nil  gc_unused "iv_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "iv_common_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1504 nil  gc_unused "iv_common_cand_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1505 nil  gc_unused "iv_inv_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1507 nil  gc_unused "iv_ca"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "iv_ca_delta"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "ifs_ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "walk_tree_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "aff_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1513 nil  gc_unused "ainc_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1514 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1515 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 1516 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 1517 nil  gc_used "scev_info_hasher"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1518 
  (!type pointer 1519 nil  gc_used
   (!type already_seen 1518)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type already_seen 1517)
    (!srcfileloc  "tree-scalar-evolution.c" 312)
    nil )
  )
 )
 
 (!type struct 1520 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1521 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 405)
 
 (!type struct 1522 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1523 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1524 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1525 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1526 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1527 nil  gc_unused "pass_omp_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1528 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1529 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1530 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1532 
  (!type pointer 1533 nil  gc_used
   (!type already_seen 1532)
  )
  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 1534 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1535 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1536 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1537 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1538 nil  gc_unused "omplow_simd_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1539 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1540 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1541 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1545 nil  gc_unused "simd_immediate_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1546 nil  gc_unused "pure_scalable_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1547 nil  gc_unused "aarch64_flag_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1548 nil  gc_unused "aarch64_tuning_override_function"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1549 nil  gc_unused "processor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1550 nil  gc_unused "tune_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1551 nil  gc_unused "aarch64_option_extension"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1552 nil  gc_unused "aarch64_branch_protect_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1553 nil  gc_unused "aarch64_address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_unused "aarch64_attribute_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1555 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1556 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1557 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1558 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1559 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1560 nil  gc_unused "pass_ipa_remove_symbols"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1561 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1562 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1563 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1564 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1565 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1566 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1567 
  (!type pointer 1568 nil  gc_unused
   (!type already_seen 1567)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1569 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1570 
  (!type pointer 1571 nil  gc_unused
   (!type already_seen 1570)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1572 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1573 
  (!type pointer 1574 nil  gc_used
   (!type already_seen 1573)
  )
  gc_pointed_to "hash_map<char*,unsigned>"
  (!srcfileloc  "cgraphclones.c" 465)
  (!fields 1 
   (!pair  "unsigned"
    (!type undefined 1575 nil  gc_unused "unsigned"
     (!srcfileloc  "cgraphclones.c" 465)
    )
    (!srcfileloc  "cgraphclones.c" 465)
    nil )
  )
 )
 
 (!type already_seen 1575)
 
 (!type user_struct 1576 
  (!type pointer 1577 nil  gc_used
   (!type already_seen 1576)
  )
  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 1578 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1579 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type user_struct 1580 nil  gc_unused "value_range_equiv"
  (!srcfileloc  "tree-vrp.h" 78)
  (!fields 0 )
 )
 
 (!type struct 1581 nil  gc_unused "assert_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1122)
 
 (!type already_seen 1115)
 
 (!type already_seen 1123)
 
 (!type already_seen 1114)
 
 (!type already_seen 1112)
 
 (!type already_seen 1118)
 
 (!type struct 1582 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 502)
    (!srcfileloc  "ipa-prop.h" 299)
    nil )
   (!pair  "max"
    (!type already_seen 502)
    (!srcfileloc  "ipa-prop.h" 300)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1120)
 
 (!type already_seen 1121)
 
 (!type already_seen 1104)
 
 (!type already_seen 1103)
 
 (!type already_seen 1107)
 
 (!type already_seen 1108)
 
 (!type user_struct 1583 
  (!type pointer 1584 nil  gc_used
   (!type already_seen 1583)
  )
  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 1117)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
  )
 )
 
 (!type user_struct 1585 
  (!type pointer 1586 nil  gc_used
   (!type already_seen 1585)
  )
  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 1582)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
 )
 
 (!type struct 1587 
  (!type pointer 1588 nil  gc_used
   (!type already_seen 1587)
  )
  gc_pointed_to "ipcp_transformation"
  (!srcfileloc  "ipa-prop.h" 776)
  (!fields 3 
   (!pair  "agg_values"
    (!type already_seen 1137)
    (!srcfileloc  "ipa-prop.h" 752)
    nil )
   (!pair  "bits"
    (!type already_seen 1584)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "m_vr"
    (!type already_seen 1586)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1130)
 
 (!type already_seen 1132)
 
 (!type user_struct 1589 
  (!type pointer 1590 nil  gc_used
   (!type already_seen 1589)
  )
  gc_pointed_to "ipa_node_params_t"
  (!srcfileloc  "ipa-prop.h" 850)
  (!fields 0 )
 )
 
 (!type user_struct 1591 
  (!type pointer 1592 nil  gc_used
   (!type already_seen 1591)
  )
  gc_pointed_to "ipa_edge_args_sum_t"
  (!srcfileloc  "ipa-prop.h" 872)
  (!fields 0 )
 )
 
 (!type struct 1593 nil  gc_unused "ipcp_transformation_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1594 
  (!type pointer 1595 nil  gc_used
   (!type already_seen 1594)
  )
  gc_pointed_to "function_summary<ipcp_transformation*>"
  (!srcfileloc  "ipa-prop.h" 904)
  (!fields 1 
   (!pair  "ipcp_transformation"
    (!type already_seen 1588)
    (!srcfileloc  "ipa-prop.h" 904)
    nil )
  )
 )
 
 (!type struct 1596 nil  gc_used "tm_wrapper_hasher"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1597 
  (!type pointer 1598 nil  gc_used
   (!type already_seen 1597)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type already_seen 1596)
    (!srcfileloc  "trans-mem.c" 465)
    nil )
  )
 )
 
 (!type struct 1599 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1600 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1601 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1603 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1604 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1605 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1606 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1607 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1609 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1611 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1612 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1613 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1614 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1615 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1616 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4180)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type already_seen 809)
    (!srcfileloc  "trans-mem.c" 4180)
    nil )
  )
 )
 
 (!type struct 1617 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1618 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1619 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1620 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1621 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 345)
 
 (!type struct 1622 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1623 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1624 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1625 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1626 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1627 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 333)
 
 (!type struct 1628 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1629 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 1630 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1631 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1632 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1633 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1635 nil  gc_unused "dref_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 589)
 
 (!type already_seen 591)
 
 (!type already_seen 600)
 
 (!type already_seen 602)
 
 (!type already_seen 608)
 
 (!type already_seen 618)
 
 (!type already_seen 620)
 
 (!type already_seen 622)
 
 (!type already_seen 626)
 
 (!type already_seen 628)
 
 (!type already_seen 1160)
 
 (!type already_seen 1159)
 
 (!type already_seen 1157)
 
 (!type struct 1636 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1156)
 
 (!type already_seen 1165)
 
 (!type struct 1637 nil  gc_unused "agg_position_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1164)
 
 (!type struct 1638 nil  gc_unused "ipa_size_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1163)
 
 (!type user_struct 1639 nil  gc_unused "ipa_fn_summary_t"
  (!srcfileloc  "ipa-fnsummary.h" 218)
  (!fields 0 )
 )
 
 (!type user_struct 1640 
  (!type pointer 1641 nil  gc_used
   (!type already_seen 1640)
  )
  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 1154)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
  )
 )
 
 (!type struct 1642 nil  gc_unused "ipa_size_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1643 nil  gc_unused "ipa_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1644 nil  gc_unused "ipa_call_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1645 nil  gc_unused "ipa_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1646 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1647 nil  gc_unused "vtbl_map_hasher"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1648 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type already_seen 1647)
    (!srcfileloc  "vtable-verify.c" 298)
    nil )
  )
 )
 
 (!type undefined 1649 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type struct 1650 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1651 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1652 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1653 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1654 nil  gc_unused "asan_redzone_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1655 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1656 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1657 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1658 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 58)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 973)
    (!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 1659 nil  gc_used "tree_type_map_cache_hasher"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1660 
  (!type pointer 1661 nil  gc_used
   (!type already_seen 1660)
  )
  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 1659)
    (!srcfileloc  "ubsan.c" 82)
    nil )
  )
 )
 
 (!type struct 1662 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1663 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1664 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1665 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1666 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1667 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1668 nil  gc_unused "sanopt_tree_couple"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1669 nil  gc_unused "sanopt_tree_couple_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1670 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1671 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1672 nil  gc_unused "type_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1673 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1173)
 
 (!type struct 1674 nil  gc_unused "odr_name_hasher"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1675 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type already_seen 1674)
    (!srcfileloc  "ipa-devirt.c" 488)
    nil )
  )
 )
 
 (!type user_struct 1676 
  (!type pointer 1677 nil  gc_used
   (!type already_seen 1676)
  )
  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 1172)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
  )
 )
 
 (!type struct 1678 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1679 nil  gc_unused "polymorphic_call_target_hasher"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1680 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type already_seen 1679)
    (!srcfileloc  "ipa-devirt.c" 2742)
    nil )
  )
 )
 
 (!type struct 1681 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1682 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1683 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1684 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1687 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 1688 
  (!type pointer 1689 nil  gc_used
   (!type already_seen 1688)
  )
  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 1687)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
  )
 )
 
 (!type struct 1690 nil  gc_unused "arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1691 nil  gc_unused "rdwr_access_hash"
  (!srcfileloc  "calls.c" 1873)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1692 nil  gc_unused "hash_map<rdwr_access_hash,attr_access>"
  (!srcfileloc  "calls.c" 1873)
  (!fields 2 
   (!pair  "attr_access"
    (!type undefined 1693 nil  gc_unused "attr_access"
     (!srcfileloc  "calls.c" 1873)
    )
    (!srcfileloc  "calls.c" 1873)
    nil )
   (!pair  "rdwr_access_hash"
    (!type already_seen 1691)
    (!srcfileloc  "calls.c" 1873)
    nil )
  )
 )
 
 (!type already_seen 1693)
 
 (!type struct 1694 nil  gc_unused "arg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1695 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/aarch64/aarch64-builtins.c:121"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1696 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/aarch64/aarch64-builtins.c:417"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1697 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/aarch64/aarch64-builtins.c:426"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1698 nil  gc_unused "aarch64_simd_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1699 nil  gc_unused "builtin_decls_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1700 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/aarch64/aarch64-builtins.c:1210"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1701 nil  gc_unused "function_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1702 nil  gc_unused "function_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1703 nil  gc_unused "mode_suffix_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1704 nil  gc_unused "type_suffix_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1705 nil  gc_unused "function_group_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1706 nil  gc_used "function_instance"
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.h" 312)
  (!fields 0 )
 )
 
 (!type struct 1707 
  (!type pointer 1708 nil  gc_used
   (!type already_seen 1707)
  )
  gc_pointed_to "registered_function"
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 90)
  (!fields 4 
   (!pair  "instance"
    (!type already_seen 1706)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 78)
    nil )
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 81)
    nil )
   (!pair  "required_extensions"
    (!type already_seen 2)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 85)
    nil )
   (!pair  "overloaded_p"
    (!type already_seen 2)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 89)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1709 nil  gc_unused "function_builder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1710 nil  gc_unused "function_call_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1711 nil  gc_unused "function_resolver"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1712 nil  gc_unused "function_checker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1713 nil  gc_unused "gimple_folder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1714 nil  gc_unused "function_expander"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1715 nil  gc_unused "sve_switcher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1716 nil  gc_unused "vector_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1717 nil  gc_unused "registered_function_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1718 
  (!type pointer 1719 nil  gc_used
   (!type already_seen 1718)
  )
  gc_pointed_to "vec<registered_function*,va_gc>"
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 550)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 550)
    nil )
   (!pair  "registered_function"
    (!type already_seen 1708)
    (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 550)
    nil )
  )
 )
 
 (!type struct 1720 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1721 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1722 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1723 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1724 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1725 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1726 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1727 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1728 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1729 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1730 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1731 nil  gc_used "value_annotation_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1732 
  (!type pointer 1733 nil  gc_used
   (!type already_seen 1732)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type already_seen 1731)
    (!srcfileloc  "ada/gcc-interface/decl.c" 156)
    nil )
  )
 )
 
 (!type user_struct 1734 
  (!type pointer 1735 nil  gc_used
   (!type already_seen 1734)
  )
  gc_pointed_to "vec<Entity_Id,va_gc_atomic>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  (!fields 2 
   (!pair  "va_gc_atomic"
    (!type undefined 1736 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 1737 nil  gc_unused "Entity_Id"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
 )
 
 (!type already_seen 1737)
 
 (!type already_seen 1736)
 
 (!type struct 1738 nil  gc_pointed_to "tree_entity_vec_map"
  (!srcfileloc  "ada/gcc-interface/decl.c" 163)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 973)
    (!srcfileloc  "ada/gcc-interface/decl.c" 161)
    nil )
   (!pair  "to"
    (!type already_seen 1735)
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1739 nil  gc_used "dummy_type_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!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<dummy_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 1 
   (!pair  "dummy_type_hasher"
    (!type already_seen 1739)
    (!srcfileloc  "ada/gcc-interface/decl.c" 197)
    nil )
  )
 )
 
 (!type struct 1742 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 1743 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1744 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 472)
 
 (!type already_seen 470)
 
 (!type struct 1745 
  (!type pointer 1746 nil  gc_used
   (!type already_seen 1745)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 144)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 1746)
    (!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 1747 
  (!type pointer 1748 nil  gc_used
   (!type already_seen 1747)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 160)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1748)
    (!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 1749 
  (!type pointer 1750 nil  gc_used
   (!type already_seen 1749)
  )
  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 1751 
  (!type pointer 1752 nil  gc_used
   (!type already_seen 1751)
  )
  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 1750)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
 )
 
 (!type struct 1753 
  (!type pointer 1754 nil  gc_used
   (!type already_seen 1753)
  )
  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 1752)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1755 
  (!type pointer 1756 nil  gc_used
   (!type already_seen 1755)
  )
  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 1754)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
  )
 )
 
 (!type struct 1757 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1758 
  (!type pointer 1759 nil  gc_used
   (!type already_seen 1758)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 241)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 1759)
    (!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 1760 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 1761 nil  gc_used "pad_type_hasher"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1762 
  (!type pointer 1763 nil  gc_used
   (!type already_seen 1762)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type already_seen 1761)
    (!srcfileloc  "ada/gcc-interface/utils.c" 282)
    nil )
  )
 )
 
 (!type struct 1764 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1765 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 634)
 
 (!type struct 1766 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1767 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1768 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1769 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 466)
 
 (!type struct 1770 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1771 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1772 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1773 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 650)
 
 (!type struct 1774 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 454)
 
 (!type already_seen 649)
 
 (!type already_seen 647)
 
 (!type already_seen 646)
 
 (!type already_seen 643)
 
 (!type already_seen 652)
 
 (!type already_seen 656)
 
 (!type already_seen 654)
 
 (!type struct 1775 
  (!type pointer 1776 nil  gc_used
   (!type already_seen 1775)
  )
  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 1776)
    (!srcfileloc  "c/c-decl.c" 553)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type already_seen 548)
 
 (!type struct 1777 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1778 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1779 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1780 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1781 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1782 nil  gc_unused "nonnull_arg_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1783 
  (!type pointer 1784 nil  gc_used
   (!type already_seen 1783)
  )
  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 1785 
  (!type pointer 1786 nil  gc_used
   (!type already_seen 1785)
  )
  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 1787 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 1788 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 877)
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
  )
 )
 
 (!type already_seen 1788)
 
 (!type user_struct 1789 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 1790 nil  gc_unused
     (!type struct 1791 
      (!type already_seen 1790)
      gc_unused "per_file_includes_t"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "c-family/c-common.c" 8758)
    nil )
  )
 )
 
 (!type already_seen 1791)
 
 (!type struct 1792 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 453)
 
 (!type struct 1793 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1794 nil  gc_unused "substring_loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1795 nil  gc_unused "wide_int_bitmask"
  (!srcfileloc  "c-family/c-common.h" 1156)
 )
 
 (!type already_seen 680)
 
 (!type struct 1796 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 1797 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1798 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1799 
  (!type pointer 1800 nil  gc_used
   (!type already_seen 1799)
  )
  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 1800)
    (!srcfileloc  "c-family/c-pragma.c" 46)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1801 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 1802 
  (!type pointer 1803 nil  gc_used
   (!type already_seen 1802)
  )
  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 1801)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
  )
 )
 
 (!type struct 1804 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 1805 
  (!type pointer 1806 nil  gc_used
   (!type already_seen 1805)
  )
  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 1804)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
  )
 )
 
 (!type struct 1807 
  (!type pointer 1808 nil  gc_used
   (!type already_seen 1807)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 1006)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 1808)
    (!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 1809 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1810 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1811 nil  gc_unused "function_format_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1812 nil  gc_unused "format_wanted_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1813 nil  gc_unused "format_check_results"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1814 nil  gc_unused "format_check_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1815 nil  gc_unused "flag_chars_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1816 nil  gc_unused "length_modifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1817 nil  gc_unused "argument_parser"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1818 nil  gc_unused "baltoks_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1819 nil  gc_unused "token_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1820 nil  gc_unused "indirection_suffix"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1821 nil  gc_unused "range_label_for_format_type_mismatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1822 
  (!type pointer 1823 nil  gc_unused
   (!type already_seen 1822)
  )
  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 1824 
  (!type pointer 1825 nil  gc_used
   (!type already_seen 1824)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 258)
  (!fields 16 
   (!pair  "tokens"
    (!type already_seen 1823)
    (!srcfileloc  "c/c-parser.c" 173)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 1826 nil  gc_used "4" 
     (!type already_seen 1822)
    )
    (!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 1827 nil  gc_used
     (!type user_struct 1828 
      (!type already_seen 1827)
      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 1822)
        (!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 1828)
 
 (!type struct 1829 nil  gc_unused "token_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1830 nil  gc_unused "matching_paren_traits"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1831 nil  gc_unused "token_pair<matching_paren_traits>"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 1 
   (!pair  "matching_paren_traits"
    (!type already_seen 1830)
    (!srcfileloc  "c/c-parser.c" 1076)
    nil )
  )
 )
 
 (!type struct 1832 nil  gc_unused "matching_brace_traits"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1833 nil  gc_unused "token_pair<matching_brace_traits>"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 1 
   (!pair  "matching_brace_traits"
    (!type already_seen 1832)
    (!srcfileloc  "c/c-parser.c" 1094)
    nil )
  )
 )
 
 (!type struct 1834 nil  gc_unused "oacc_routine_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1835 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 1836 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 464)
 
 (!type already_seen 542)
 
 (!type already_seen 545)
 
 (!type already_seen 90)
 
 (!type already_seen 83)
 
 (!type struct 1837 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 1838 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 663)
 
 (!type already_seen 664)
 
 (!type already_seen 666)
 
 (!type struct 1839 nil  gc_unused "ovl_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1840 nil  gc_unused "lkp_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 93)
 
 (!type struct 1841 nil  gc_unused "releasing_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 668)
 
 (!type already_seen 667)
 
 (!type already_seen 71)
 
 (!type already_seen 669)
 
 (!type already_seen 670)
 
 (!type already_seen 671)
 
 (!type already_seen 672)
 
 (!type already_seen 673)
 
 (!type already_seen 674)
 
 (!type already_seen 678)
 
 (!type already_seen 677)
 
 (!type already_seen 675)
 
 (!type already_seen 679)
 
 (!type user_struct 1842 
  (!type pointer 1843 nil  gc_used
   (!type already_seen 1842)
  )
  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 1837)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
  )
 )
 
 (!type struct 1844 
  (!type pointer 1845 nil  gc_used
   (!type already_seen 1844)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1731)
  (!fields 31 
   (!pair  "old_bindings"
    (!type already_seen 1843)
    (!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 454)
    (!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 1845)
    (!srcfileloc  "cp/cp-tree.h" 1730)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1846 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1847 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1848 nil  gc_unused "iloc_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1849 nil  gc_unused "temp_override"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1850 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 461)
 
 (!type struct 1851 
  (!type pointer 1852 nil  gc_used
   (!type already_seen 1851)
  )
  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 1852)
    (!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 1853 nil  gc_used
     (!type struct 1854 
      (!type already_seen 1853)
      gc_pointed_to "named_label_use_entry"
      (!srcfileloc  "cp/decl.c" 209)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1853)
        (!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 458)
 
 (!type already_seen 457)
 
 (!type already_seen 460)
 
 (!type already_seen 539)
 
 (!type already_seen 538)
 
 (!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 1855 nil  gc_unused "aggr_init_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1856 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1857 nil  gc_unused "cp_evaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1858 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1859 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 1860 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1861 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1862 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1863 
  (!type pointer 1864 nil  gc_used
   (!type already_seen 1863)
  )
  gc_pointed_to "tinst_level"
  (!srcfileloc  "cp/pt.c" 9369)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1864)
    (!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 1865 nil  gc_unused "access_failure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1866 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 80)
 
 (!type struct 1867 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1868 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1869 nil  gc_unused "diagnosing_failed_constraint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1870 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 1871 
  (!type pointer 1872 nil  gc_used
   (!type already_seen 1871)
  )
  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 1873 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 1874 
  (!type pointer 1875 nil  gc_used
   (!type already_seen 1874)
  )
  gc_pointed_to "cp_lexer"
  (!srcfileloc  "cp/parser.h" 223)
  (!fields 9 
   (!pair  "buffer"
    (!type already_seen 1872)
    (!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 1873)
    (!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 1875)
    (!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 1876 nil  gc_unused "cp_token_ident"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1877 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 1878 
  (!type pointer 1879 nil  gc_used
   (!type already_seen 1878)
  )
  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 1877)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
  )
 )
 
 (!type struct 1880 nil  gc_used "cp_unparsed_functions_entry"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 4 
   (!pair  "funs_with_default_args"
    (!type already_seen 1879)
    (!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 1881 
  (!type pointer 1882 nil  gc_used
   (!type already_seen 1881)
  )
  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 1882)
    (!srcfileloc  "cp/parser.h" 201)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1883 
  (!type pointer 1884 nil  gc_unused
   (!type already_seen 1883)
  )
  gc_unused "cp_omp_declare_simd_data"
  (!srcfileloc  "cp/parser.h" 375)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1885 
  (!type pointer 1886 nil  gc_unused
   (!type already_seen 1885)
  )
  gc_unused "cp_oacc_routine_data"
  (!srcfileloc  "cp/parser.h" 379)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1887 
  (!type pointer 1888 nil  gc_used
   (!type already_seen 1887)
  )
  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 1880)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
  )
 )
 
 (!type struct 1889 
  (!type pointer 1890 nil  gc_used
   (!type already_seen 1889)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.c" 43522)
  (!fields 37 
   (!pair  "lexer"
    (!type already_seen 1875)
    (!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 1882)
    (!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 1888)
    (!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 1884)
    (!srcfileloc  "cp/parser.h" 375)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "oacc_routine"
    (!type already_seen 1886)
    (!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 1891 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1892 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1893 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1894 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1895 nil  gc_unused "dealloc_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1896 nil  gc_unused "NonPublicField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1897 nil  gc_unused "NonTrivialField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1898 
  (!type pointer 1899 nil  gc_unused
   (!type already_seen 1898)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1900 nil  gc_unused "vtbl_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1901 nil  gc_unused "flexmems_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1902 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1903 nil  gc_unused "find_final_overrider_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1904 
  (!type pointer 1905 nil  gc_used
   (!type already_seen 1904)
  )
  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 1906 nil  gc_unused "secondary_vptr_vtt_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1907 
  (!type pointer 1908 nil  gc_used
   (!type already_seen 1907)
  )
  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 1909 nil  gc_used "constexpr_fundef_hasher"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1910 
  (!type pointer 1911 nil  gc_used
   (!type already_seen 1910)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type already_seen 1909)
    (!srcfileloc  "cp/constexpr.c" 156)
    nil )
  )
 )
 
 (!type struct 1912 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 1015)
  (!fields 5 
   (!pair  "fundef"
    (!type already_seen 1908)
    (!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 1913 nil  gc_used "constexpr_call_hasher"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1914 nil  gc_unused "constexpr_global_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1915 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1916 
  (!type pointer 1917 nil  gc_used
   (!type already_seen 1916)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type already_seen 1913)
    (!srcfileloc  "cp/constexpr.c" 1100)
    nil )
  )
 )
 
 (!type struct 1918 nil  gc_unused "replace_result_decl_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1919 nil  gc_unused "free_bindings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1920 nil  gc_unused "check_for_return_continue_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1921 nil  gc_unused "subst_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1922 nil  gc_unused "norm_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1923 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 1924 nil  gc_used "sat_hasher"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1925 
  (!type pointer 1926 nil  gc_used
   (!type already_seen 1925)
  )
  gc_pointed_to "hash_table<sat_hasher>"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 1 
   (!pair  "sat_hasher"
    (!type already_seen 1924)
    (!srcfileloc  "cp/constraint.cc" 2308)
    nil )
  )
 )
 
 (!type struct 1927 nil  gc_unused "satisfaction_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1928 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 1929 nil  gc_used "coroutine_info_hasher"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1930 
  (!type pointer 1931 nil  gc_used
   (!type already_seen 1930)
  )
  gc_pointed_to "hash_table<coroutine_info_hasher>"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 1 
   (!pair  "coroutine_info_hasher"
    (!type already_seen 1929)
    (!srcfileloc  "cp/coroutines.cc" 111)
    nil )
  )
 )
 
 (!type struct 1932 nil  gc_unused "proxy_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1933 nil  gc_unused "coro_ret_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1934 nil  gc_unused "coro_aw_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1935 nil  gc_unused "suspend_point_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1936 nil  gc_unused "await_xform_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1937 nil  gc_unused "param_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1938 nil  gc_unused "local_var_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1939 nil  gc_unused "local_vars_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1940 nil  gc_unused "susp_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1941 nil  gc_unused "truth_if_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1942 nil  gc_unused "param_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1943 nil  gc_unused "local_vars_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1944 nil  gc_unused "cp_genericize_omp_taskreg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1945 nil  gc_unused "cp_genericize_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1946 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 1947 nil  gc_used "source_location_table_entry_hash"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1948 
  (!type pointer 1949 nil  gc_used
   (!type already_seen 1948)
  )
  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 1947)
    (!srcfileloc  "cp/cp-gimplify.c" 3210)
    nil )
  )
 )
 
 (!type already_seen 1854)
 
 (!type struct 1950 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 1951 
  (!type pointer 1952 nil  gc_used
   (!type already_seen 1951)
  )
  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 1950)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
  )
 )
 
 (!type struct 1953 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1954 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1955 nil  gc_used "typename_hasher"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1956 
  (!type pointer 1957 nil  gc_used
   (!type already_seen 1956)
  )
  gc_pointed_to "hash_table<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type already_seen 1955)
    (!srcfileloc  "cp/decl.c" 3825)
    nil )
  )
 )
 
 (!type struct 1958 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1959 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1960 
  (!type pointer 1961 nil  gc_unused
   (!type already_seen 1960)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1962 nil  gc_used "mangled_decl_hash"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1963 
  (!type pointer 1964 nil  gc_used
   (!type already_seen 1963)
  )
  gc_pointed_to "hash_table<mangled_decl_hash>"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 1 
   (!pair  "mangled_decl_hash"
    (!type already_seen 1962)
    (!srcfileloc  "cp/decl2.c" 139)
    nil )
  )
 )
 
 (!type struct 1965 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 1966 
  (!type pointer 1967 nil  gc_used
   (!type already_seen 1966)
  )
  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 1965)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
  )
 )
 
 (!type struct 1968 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 1969 
  (!type pointer 1970 nil  gc_used
   (!type already_seen 1969)
  )
  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 1968)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
  )
 )
 
 (!type struct 1971 nil  gc_unused "impl_files"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1972 nil  gc_used "conv_type_hasher"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1973 
  (!type pointer 1974 nil  gc_used
   (!type already_seen 1973)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type already_seen 1972)
    (!srcfileloc  "cp/lex.c" 613)
    nil )
  )
 )
 
 (!type struct 1975 nil  gc_unused "constraint_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1976 nil  gc_unused "clause"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1977 nil  gc_unused "formula"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1978 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 1979 nil  gc_used "subsumption_hasher"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1980 
  (!type pointer 1981 nil  gc_used
   (!type already_seen 1980)
  )
  gc_pointed_to "hash_table<subsumption_hasher>"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 1 
   (!pair  "subsumption_hasher"
    (!type already_seen 1979)
    (!srcfileloc  "cp/logic.cc" 817)
    nil )
  )
 )
 
 (!type struct 1982 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 1983 nil  gc_unused "comp_cat_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1984 nil  gc_unused "comp_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1985 nil  gc_unused "name_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1986 nil  gc_unused "namespace_limit_reached"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1987 nil  gc_unused "show_candidate_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1988 nil  gc_unused "suggest_alternatives"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1989 nil  gc_unused "namespace_hints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1990 nil  gc_unused "std_name_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1991 nil  gc_unused "missing_std_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1992 nil  gc_unused "macro_use_before_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1993 nil  gc_unused "type_id_in_expr_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1994 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1995 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1996 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1997 nil  gc_unused "tentative_firewall"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1998 nil  gc_unused "scope_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1999 nil  gc_unused "class_decl_loc_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 2000 nil  gc_unused "class_to_loc_map_t::iterator"
  (!srcfileloc  "cp/parser.c" 31477)
 )
 
 (!type struct 2001 
  (!type pointer 2002 nil  gc_used
   (!type already_seen 2001)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 9378)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 2002)
    (!srcfileloc  "cp/pt.c" 56)
    nil )
   (!pair  "tinst"
    (!type already_seen 1864)
    (!srcfileloc  "cp/pt.c" 57)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 2003 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 2004 nil  gc_used "spec_hasher"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2005 
  (!type pointer 2006 nil  gc_used
   (!type already_seen 2005)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type already_seen 2004)
    (!srcfileloc  "cp/pt.c" 119)
    nil )
  )
 )
 
 (!type struct 2007 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2008 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2009 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2010 nil  gc_unused "freelist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2011 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2012 nil  gc_unused "find_template_parameter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2013 nil  gc_unused "el_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2014 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2015 
  (!type pointer 2016 nil  gc_used
   (!type already_seen 2015)
  )
  gc_pointed_to "hash_map<tree,tree_pair_p>"
  (!srcfileloc  "cp/pt.c" 28697)
  (!fields 2 
   (!pair  "tree_pair_p"
    (!type already_seen 540)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
  )
 )
 
 (!type struct 2017 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 2018 
  (!type pointer 2019 nil  gc_used
   (!type already_seen 2018)
  )
  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 2017)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
  )
 )
 
 (!type struct 2020 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 2021 
  (!type pointer 2022 nil  gc_used
   (!type already_seen 2021)
  )
  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 2020)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
  )
 )
 
 (!type struct 2023 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2024 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2025 nil  gc_used "cplus_array_hasher"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2026 
  (!type pointer 2027 nil  gc_used
   (!type already_seen 2026)
  )
  gc_pointed_to "hash_table<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type already_seen 2025)
    (!srcfileloc  "cp/tree.c" 979)
    nil )
  )
 )
 
 (!type struct 2028 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2029 nil  gc_used "list_hasher"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2030 
  (!type pointer 2031 nil  gc_used
   (!type already_seen 2030)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 1 
   (!pair  "list_hasher"
    (!type already_seen 2029)
    (!srcfileloc  "cp/tree.c" 2060)
    nil )
  )
 )
 
 (!type struct 2032 nil  gc_unused "bot_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2033 nil  gc_unused "replace_placeholders_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2034 
  (!type pointer 2035 nil  gc_used
   (!type already_seen 2034)
  )
  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 2035)
    (!srcfileloc  "cp/typeck2.c" 146)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 2036 nil  gc_used "abstract_type_hasher"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2037 
  (!type pointer 2038 nil  gc_used
   (!type already_seen 2037)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type already_seen 2036)
    (!srcfileloc  "cp/typeck2.c" 178)
    nil )
  )
 )
 
 (!type struct 2039 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2040 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2041 nil  gc_unused "Dsymbol"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 62)
 
 (!type already_seen 641)
 
 (!type struct 2042 nil  gc_unused "ClassDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2043 nil  gc_unused "EnumDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 442)
 
 (!type struct 2044 nil  gc_unused "StructDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2045 nil  gc_unused "TypeInfoDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2046 nil  gc_unused "VarDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2047 
  (!type pointer 2048 nil  gc_unused
   (!type already_seen 2047)
  )
  gc_unused "Expression"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2049 nil  gc_unused "ClassReferenceExp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 444)
 
 (!type already_seen 449)
 
 (!type already_seen 535)
 
 (!type struct 2050 nil  gc_unused "TypeFunction"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2051 nil  gc_unused "Parameter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2052 nil  gc_unused "BaseClass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2053 nil  gc_unused "Scope"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2054 nil  gc_unused "Loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2055 nil  gc_unused "Array<Expression*>"
  (!srcfileloc  "d/d-tree.h" 44)
  (!fields 1 
   (!pair  "Expression"
    (!type already_seen 2048)
    (!srcfileloc  "d/d-tree.h" 44)
    nil )
  )
 )
 
 (!type already_seen 437)
 
 (!type already_seen 451)
 
 (!type already_seen 447)
 
 (!type already_seen 661)
 
 (!type already_seen 446)
 
 (!type struct 2056 nil  gc_unused "builtin_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2057 nil  gc_unused "d_option_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2058 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 2059 nil  gc_unused "TypeInfoVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2060 nil  gc_unused "TypeInfoDeclVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2061 nil  gc_unused "SpeculativeTypeVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2062 nil  gc_used "module_hasher"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 0 )
  nil 32 nil nil )
 
 (!type user_struct 2063 
  (!type pointer 2064 nil  gc_used
   (!type already_seen 2063)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 1 
   (!pair  "module_hasher"
    (!type already_seen 2062)
    (!srcfileloc  "fortran/trans-decl.c" 5124)
    nil )
  )
 )
 
 (!type struct 2065 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 2066 nil  gc_used
     (!type user_struct 2067 
      (!type already_seen 2066)
      gc_pointed_to "hash_table<module_decl_hasher>"
      (!srcfileloc  "fortran/trans.h" 698)
      (!fields 1 
       (!pair  "module_decl_hasher"
        (!type struct 2068 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 2069 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 2070 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 2071 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 2072 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2073 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2074 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2075 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2076 nil  gc_unused "gfc_co_subroutines_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2077 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2078 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2079 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2080 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2081 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:401"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2082 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/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 2068)
 
 (!type already_seen 2067)
 
 (!type struct 2083 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2084 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 2085 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2086 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2087 nil  gc_unused "go_create_gogo_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2088 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2089 nil  gc_unused "Linemap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2090 nil  gc_unused "Backend"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2091 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2092 nil  gc_unused "lto_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2093 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2094 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2095 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2096 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2097 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2098 nil  gc_unused "int_hash<unsigned,,UINT_MAX>"
  (!srcfileloc  "lto/lto-common.c" 1816)
  (!fields 2 
   (!pair  "UINT_MAX"
    (!type undefined 2099 nil  gc_unused "UINT_MAX"
     (!srcfileloc  "lto/lto-common.c" 1816)
    )
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
   (!pair  "unsigned"
    (!type already_seen 1575)
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
  )
 )
 
 (!type already_seen 2099)
 
 (!type struct 2100 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2101 nil  gc_unused "symbol_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2102 nil  gc_unused "variable_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2103 nil  gc_unused "function_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2104 
  (!type pointer 2105 nil  gc_used
   (!type already_seen 2104)
  )
  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 2106 
  (!type pointer 2107 
   (!type pointer 2108 nil  gc_used
    (!type already_seen 2107)
   )
   gc_pointed_to
   (!type already_seen 2106)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type pointer 2109 nil  gc_used
     (!type struct 2110 
      (!type already_seen 2109)
      gc_pointed_to "hashed_attribute"
      (!srcfileloc  "objc/objc-act.h" 265)
      (!fields 2 
       (!pair  "next"
        (!type already_seen 2109)
        (!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 2107)
    (!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 2110)
 
 (!type struct 2111 
  (!type pointer 2112 nil  gc_used
   (!type already_seen 2111)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 2112)
    (!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 2113 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2114 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 2115 nil  gc_used "objc_string_hasher"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 0 )
  nil 1536 nil nil )
 
 (!type user_struct 2116 
  (!type pointer 2117 nil  gc_used
   (!type already_seen 2116)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type already_seen 2115)
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
 )
 
 (!type struct 2118 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2119 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 2120 
  (!type pointer 2121 nil  gc_used
   (!type already_seen 2120)
  )
  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 2119)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
  )
 )
 
 (!type struct 2122 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 2123 
  (!type pointer 2124 nil  gc_used
   (!type already_seen 2123)
  )
  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 2122)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
  )
 )
 
 (!type struct 2125 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 2126 
  (!type pointer 2127 nil  gc_used
   (!type already_seen 2126)
  )
  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 2125)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
  )
 )
 
 (!type struct 2128 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 2129 
  (!type pointer 2130 nil  gc_used
   (!type already_seen 2129)
  )
  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 2128)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
  )
 )
)
(!typedefs 810
 (!pair  "ivarref_entry"
  (!type already_seen 2128)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 2129)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 2125)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 2126)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 2122)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 2123)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 2119)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 2120)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 2115)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 2116)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "attr"
  (!type already_seen 2109)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 2107)
  (!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 2105)
  (!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 2098)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "UINT_MAX"
  (!type already_seen 2099)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "int_hash<unsigned,,UINT_MAX>"
  (!type already_seen 2098)
  (!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 2086)
  (!srcfileloc  "fortran/trans.h" 1145)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 2085)
  (!srcfileloc  "fortran/trans.h" 1130)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 2084)
  (!srcfileloc  "fortran/trans.h" 900)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 2068)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 2067)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 2082)
  (!srcfileloc  "fortran/trans.h" 418)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 2081)
  (!srcfileloc  "fortran/trans.h" 405)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 2080)
  (!srcfileloc  "fortran/trans.h" 395)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 2079)
  (!srcfileloc  "fortran/trans.h" 346)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 2078)
  (!srcfileloc  "fortran/trans.h" 305)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 2077)
  (!srcfileloc  "fortran/trans.h" 206)
  nil )
 (!pair  "gfc_co_subroutines_args"
  (!type already_seen 2076)
  (!srcfileloc  "fortran/trans.h" 117)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 2075)
  (!srcfileloc  "fortran/trans.h" 108)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 2074)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "forall_info"
  (!type already_seen 2073)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "iter_info"
  (!type already_seen 2072)
  (!srcfileloc  "fortran/trans-stmt.c" 46)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 2071)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 2070)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 2069)
  (!srcfileloc  "fortran/trans-intrinsic.c" 85)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 2062)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 2063)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "tree_frame_info"
  (!type already_seen 661)
  (!srcfileloc  "d/d-tree.h" 338)
  nil )
 (!pair  "lang_identifier"
  (!type already_seen 634)
  (!srcfileloc  "d/d-tree.h" 337)
  nil )
 (!pair  "Type"
  (!type already_seen 535)
  (!srcfileloc  "d/d-tree.h" 311)
  nil )
 (!pair  "d_label_entry"
  (!type already_seen 447)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "hash_map<Statement*,d_label_entry>"
  (!type already_seen 446)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "Module"
  (!type already_seen 444)
  (!srcfileloc  "d/d-tree.h" 230)
  nil )
 (!pair  "FuncDeclaration"
  (!type already_seen 442)
  (!srcfileloc  "d/d-tree.h" 229)
  nil )
 (!pair  "AggregateDeclaration"
  (!type already_seen 641)
  (!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 449)
  (!srcfileloc  "d/d-tree.h" 131)
  nil )
 (!pair  "d_label_use_entry"
  (!type already_seen 451)
  (!srcfileloc  "d/d-tree.h" 128)
  nil )
 (!pair  "binding_level"
  (!type already_seen 437)
  (!srcfileloc  "d/d-tree.h" 113)
  nil )
 (!pair  "Expressions"
  (!type already_seen 2055)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "Array<Expression*>"
  (!type already_seen 2055)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 2036)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 2037)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 2029)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 2030)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 2025)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 2026)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 2020)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 2021)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 2017)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 2018)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "hash_map<tree,tree_pair_p>"
  (!type already_seen 2015)
  (!srcfileloc  "cp/pt.c" 28697)
  nil )
 (!pair  "pending_template"
  (!type already_seen 2001)
  (!srcfileloc  "cp/pt.c" 9378)
  nil )
 (!pair  "tinst_level"
  (!type already_seen 1863)
  (!srcfileloc  "cp/pt.c" 9369)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 2004)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 2005)
  (!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 1889)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "iter_t"
  (!type already_seen 2000)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "class_to_loc_map_t::iterator"
  (!type already_seen 2000)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 2131 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 1996)
  )
  (!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 1982)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_hasher"
  (!type already_seen 1979)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "hash_table<subsumption_hasher>"
  (!type already_seen 1980)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 1972)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 1973)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "tree_int"
  (!type already_seen 1968)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 1969)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 1965)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 1966)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "mangled_decl_hash"
  (!type already_seen 1962)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "hash_table<mangled_decl_hash>"
  (!type already_seen 1963)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "priority_info"
  (!type already_seen 1961)
  (!srcfileloc  "cp/decl2.c" 66)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 1955)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 1956)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 1950)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 1951)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "named_label_use_entry"
  (!type already_seen 1854)
  (!srcfileloc  "cp/decl.c" 209)
  nil )
 (!pair  "named_label_entry"
  (!type already_seen 1851)
  (!srcfileloc  "cp/decl.c" 192)
  nil )
 (!pair  "source_location_table_entry_hash"
  (!type already_seen 1947)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "hash_table<source_location_table_entry_hash>"
  (!type already_seen 1948)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "coroutine_info_hasher"
  (!type already_seen 1929)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "hash_table<coroutine_info_hasher>"
  (!type already_seen 1930)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "sat_hasher"
  (!type already_seen 1924)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "hash_table<sat_hasher>"
  (!type already_seen 1925)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 1913)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 1916)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 1907)
  (!srcfileloc  "cp/constexpr.c" 1002)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 1909)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 1910)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_map<tree,int>"
  (!type already_seen 1904)
  (!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 1899)
  (!srcfileloc  "cp/class.c" 70)
  nil )
 (!pair  "cp_oacc_routine_data"
  (!type already_seen 1885)
  (!srcfileloc  "cp/parser.h" 379)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 1883)
  (!srcfileloc  "cp/parser.h" 375)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 1880)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 1887)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 1881)
  (!srcfileloc  "cp/parser.h" 257)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 1874)
  (!srcfileloc  "cp/parser.h" 223)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 1877)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 1878)
  (!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 1873)
  (!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 1871)
  (!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 1862)
  (!srcfileloc  "cp/cp-tree.h" 6045)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 1861)
  (!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 1859)
  (!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 538)
  (!srcfileloc  "cp/cp-tree.h" 2217)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 540)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 539)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 461)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 460)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "named_label_hash"
  (!type already_seen 458)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "hash_table<named_label_hash>"
  (!type already_seen 457)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 1837)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 1842)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 677)
  (!srcfileloc  "cp/cp-tree.h" 1496)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 678)
  (!srcfileloc  "cp/cp-tree.h" 1471)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 665)
  (!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 544)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 541)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "matching_braces"
  (!type already_seen 1833)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_brace_traits"
  (!type already_seen 1832)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "token_pair<matching_brace_traits>"
  (!type already_seen 1833)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_parens"
  (!type already_seen 1831)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "matching_paren_traits"
  (!type already_seen 1830)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "token_pair<matching_paren_traits>"
  (!type already_seen 1831)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "c_parser"
  (!type already_seen 1824)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 1828)
  (!srcfileloc  "c/c-parser.c" 181)
  nil )
 (!pair  "c_token"
  (!type already_seen 1822)
  (!srcfileloc  "c/c-parser.c" 173)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 1804)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 1805)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 1801)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 1802)
  (!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 1795)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "wide_int_bitmask"
  (!type already_seen 1795)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 455)
  (!srcfileloc  "c-family/c-common.h" 569)
  nil )
 (!pair  "added_includes_t"
  (!type already_seen 1789)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "hash_map<char*,per_file_includes_t*>"
  (!type already_seen 1789)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "per_file_includes_t"
  (!type already_seen 1787)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "nofree_string_hash"
  (!type already_seen 1788)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "hash_set<char*,false,nofree_string_hash>"
  (!type already_seen 1787)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 1785)
  (!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 1783)
  (!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 645)
  (!srcfileloc  "c/c-decl.c" 572)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 654)
  (!srcfileloc  "c/c-decl.c" 380)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 361)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 1766)
  (!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 1761)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 1762)
  (!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 1755)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "loop_info"
  (!type already_seen 1754)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 1751)
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 1750)
  (!srcfileloc  "ada/gcc-interface/trans.c" 194)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 470)
  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 471)
  (!srcfileloc  "ada/gcc-interface/trans.c" 112)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 1744)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7584)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 1742)
  (!srcfileloc  "ada/gcc-interface/decl.c" 261)
  nil )
 (!pair  "dummy_type_hasher"
  (!type already_seen 1739)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "hash_table<dummy_type_hasher>"
  (!type already_seen 1740)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "va_gc_atomic"
  (!type already_seen 1736)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "Entity_Id"
  (!type already_seen 1737)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "vec<Entity_Id,va_gc_atomic>"
  (!type already_seen 1734)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 1731)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 1732)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 1730)
  (!srcfileloc  "ada/gcc-interface/decl.c" 131)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 1729)
  (!srcfileloc  "ada/gcc-interface/decl.c" 113)
  nil )
 (!pair  "rewrite_fn"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/gigi.h" 962)
  nil )
 (!pair  "vec<registered_function*,va_gc>"
  (!type already_seen 1718)
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 550)
  nil )
 (!pair  "function_instance"
  (!type already_seen 1706)
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.h" 312)
  nil )
 (!pair  "type_suffix_pair"
  (!type array 2132 nil  gc_unused "2" 
   (!type already_seen 2)
  )
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.h" 184)
  nil )
 (!pair  "builtin_simd_arg"
  (!type already_seen 2)
  (!srcfileloc  "config/aarch64/aarch64-builtins.c" 1333)
  nil )
 (!pair  "aarch64_fcmla_laneq_builtin_datum"
  (!type already_seen 1697)
  (!srcfileloc  "config/aarch64/aarch64-builtins.c" 432)
  nil )
 (!pair  "aarch64_crc_builtin_datum"
  (!type already_seen 1696)
  (!srcfileloc  "config/aarch64/aarch64-builtins.c" 422)
  nil )
 (!pair  "aarch64_simd_builtin_datum"
  (!type already_seen 1695)
  (!srcfileloc  "config/aarch64/aarch64-builtins.c" 127)
  nil )
 (!pair  "rdwr_map"
  (!type already_seen 1692)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "attr_access"
  (!type already_seen 1693)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "rdwr_access_hash"
  (!type already_seen 1691)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hash_map<rdwr_access_hash,attr_access>"
  (!type already_seen 1692)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hsa_decl_kernel_map_element"
  (!type already_seen 1687)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 1688)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 1680)
  (!srcfileloc  "ipa-devirt.c" 2743)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 1679)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 1680)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 1676)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 1675)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 1674)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 1675)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 1173)
  (!srcfileloc  "ipa-devirt.c" 202)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1659)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1660)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1649)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1649)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1647)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "value_range"
  (!type already_seen 1120)
  (!srcfileloc  "value-range.h" 43)
  nil )
 (!pair  "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!type already_seen 1640)
  (!srcfileloc  "ipa-fnsummary.h" 220)
  nil )
 (!pair  "ipa_fn_summary_t"
  (!type already_seen 1639)
  (!srcfileloc  "ipa-fnsummary.h" 218)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1164)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1163)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "ipa_fn_summary"
  (!type already_seen 1153)
  (!srcfileloc  "ipa-fnsummary.h" 110)
  nil )
 (!pair  "predicate"
  (!type already_seen 1165)
  (!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 1027)
  (!srcfileloc  "ipa-predicate.h" 109)
  nil )
 (!pair  "conditions"
  (!type already_seen 1155)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "condition"
  (!type already_seen 1157)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1156)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "expr_eval_ops"
  (!type already_seen 1158)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "expr_eval_op"
  (!type already_seen 1160)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "vec<expr_eval_op,va_gc>"
  (!type already_seen 1159)
  (!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 1571)
  (!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 1616)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1616)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1596)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1597)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "function_summary<ipcp_transformation*>"
  (!type already_seen 1594)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum_t"
  (!type already_seen 1591)
  (!srcfileloc  "ipa-prop.h" 872)
  nil )
 (!pair  "ipa_node_params_t"
  (!type already_seen 1589)
  (!srcfileloc  "ipa-prop.h" 850)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1132)
  (!srcfileloc  "ipa-prop.h" 804)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1109)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1130)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1128)
  (!srcfileloc  "ipa-prop.h" 791)
  nil )
 (!pair  "ipcp_transformation"
  (!type already_seen 1587)
  (!srcfileloc  "ipa-prop.h" 759)
  nil )
 (!pair  "ipa_vr"
  (!type already_seen 1582)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_vr,va_gc>"
  (!type already_seen 1585)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_bits*,va_gc>"
  (!type already_seen 1583)
  (!srcfileloc  "ipa-prop.h" 754)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1136)
  (!srcfileloc  "ipa-prop.h" 752)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context>"
  (!type already_seen 1108)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<tree>"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 481)
  nil )
 (!pair  "ipa_param_descriptor"
  (!type already_seen 1104)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "vec<ipa_param_descriptor,va_gc>"
  (!type already_seen 1103)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "ipa_node_params"
  (!type already_seen 1101)
  (!srcfileloc  "ipa-prop.h" 465)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1113)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1112)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "value_range_equiv"
  (!type already_seen 1580)
  (!srcfileloc  "tree-vrp.h" 78)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1579)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1576)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "unsigned"
  (!type already_seen 1575)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "hash_map<char*,unsigned>"
  (!type already_seen 1573)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1568)
  (!srcfileloc  "passes.c" 990)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 9)
  (!srcfileloc  "passes.c" 870)
  nil )
 (!pair  "aarch64_cc"
  (!type already_seen 2)
  (!srcfileloc  "config/aarch64/aarch64.c" 1454)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 407)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 566)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 565)
  (!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 1517)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1518)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1477)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1478)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "treemple"
  (!type already_seen 1465)
  (!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 1462)
  (!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 1455)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1456)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1006)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1005)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1072)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1451)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1447)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1448)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1444)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1445)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1438)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1439)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 931)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1433)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1434)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "poly_int_cst_hasher"
  (!type already_seen 1430)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "hash_table<poly_int_cst_hasher>"
  (!type already_seen 1431)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1427)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1428)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1424)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1425)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "block_info"
  (!type already_seen 1414)
  (!srcfileloc  "reg-stack.c" 219)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1412)
  (!srcfileloc  "reg-stack.c" 206)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1406)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1405)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1404)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1403)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1396)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1397)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1386)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1387)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1386)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1380)
  (!srcfileloc  "gcse.c" 306)
  nil )
 (!pair  "user_struct"
  (!type already_seen 1376)
  (!srcfileloc  "ggc-tests.c" 399)
  nil )
 (!pair  "test_node"
  (!type already_seen 1374)
  (!srcfileloc  "ggc-tests.c" 334)
  nil )
 (!pair  "some_other_subclass"
  (!type already_seen 1372)
  (!srcfileloc  "ggc-tests.c" 272)
  nil )
 (!pair  "some_subclass"
  (!type already_seen 1370)
  (!srcfileloc  "ggc-tests.c" 261)
  nil )
 (!pair  "example_base"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 236)
  nil )
 (!pair  "test_of_union"
  (!type already_seen 1365)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "test_other"
  (!type already_seen 919)
  (!srcfileloc  "ggc-tests.c" 139)
  nil )
 (!pair  "test_of_length"
  (!type already_seen 1362)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "test_struct"
  (!type already_seen 917)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1359)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1358)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1359)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1357)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1357)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1353)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1353)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 935)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1349)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1306)
  (!srcfileloc  "function.c" 1261)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1340)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1341)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1336)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1337)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "by_pieces_constfn"
  (!type already_seen 2)
  (!srcfileloc  "expr.h" 110)
  nil )
 (!pair  "sepops"
  (!type already_seen 1335)
  (!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 912)
  (!srcfileloc  "emit-rtl.c" 773)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1325)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1326)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1322)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1323)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1319)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1320)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "const_poly_int_hasher"
  (!type already_seen 1316)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "hash_table<const_poly_int_hasher>"
  (!type already_seen 1317)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1313)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1314)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1310)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1311)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1307)
  (!srcfileloc  "emit-rtl.h" 145)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 751)
  (!srcfileloc  "emit-rtl.h" 125)
  nil )
 (!pair  "predefined_function_abi"
  (!type already_seen 907)
  (!srcfileloc  "emit-rtl.h" 74)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1301)
  (!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 1297)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1297)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "inline_entry_data_hasher"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "hash_table<inline_entry_data_hasher>"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "sym_off_pair"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "hash_map<tree,sym_off_pair>"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1272)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1224)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "vec<dw_ranges_by_label,va_gc>"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1222)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<dw_ranges,va_gc>"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 3523)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1246)
  (!srcfileloc  "dwarf2out.c" 3482)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1243)
  (!srcfileloc  "dwarf2out.c" 3443)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hasher"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "hash_table<variable_value_hasher>"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "vec<dw_die_ref,va_gc>"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 3415)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1228)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1227)
  (!srcfileloc  "dwarf2out.c" 3194)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3186)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1223)
  (!srcfileloc  "dwarf2out.c" 3158)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 3136)
  nil )
 (!pair  "die_node"
  (!type already_seen 493)
  (!srcfileloc  "dwarf2out.c" 3105)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 499)
  (!srcfileloc  "dwarf2out.c" 3083)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.c" 3080)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 500)
  (!srcfileloc  "dwarf2out.c" 3069)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1216)
  (!srcfileloc  "dwarf2out.c" 3019)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1215)
  (!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 491)
  (!srcfileloc  "dwarf2out.c" 1334)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 487)
  (!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 1212)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1210)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1203)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1201)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 518)
  (!srcfileloc  "dwarf2cfi.c" 66)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1199)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 484)
  (!srcfileloc  "dwarf2out.h" 256)
  nil )
 (!pair  "dw_discr_value"
  (!type already_seen 513)
  (!srcfileloc  "dwarf2out.h" 235)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 505)
  (!srcfileloc  "dwarf2out.h" 215)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 475)
  (!srcfileloc  "dwarf2out.h" 70)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 477)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 478)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.h" 57)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 501)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_discr_list_ref"
  (!type already_seen 515)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 490)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 482)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 479)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 485)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 492)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 492)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "ipa_sra_function_summaries"
  (!type already_seen 1188)
  (!srcfileloc  "ipa-sra.c" 376)
  nil )
 (!pair  "isra_param_desc"
  (!type already_seen 1181)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "vec<isra_param_desc,va_gc>"
  (!type already_seen 1185)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "isra_func_summary"
  (!type already_seen 1183)
  (!srcfileloc  "ipa-sra.c" 238)
  nil )
 (!pair  "vec<param_access*,va_gc>"
  (!type already_seen 1179)
  (!srcfileloc  "ipa-sra.c" 165)
  nil )
 (!pair  "ipa_adjusted_param"
  (!type already_seen 836)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "vec<ipa_adjusted_param,va_gc>"
  (!type already_seen 835)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "odr_type"
  (!type already_seen 1172)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 1171)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "ipa_vr_ggc_hash_traits"
  (!type already_seen 1096)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "hash_table<ipa_vr_ggc_hash_traits>"
  (!type already_seen 1097)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "ipa_bit_ggc_hash_traits"
  (!type already_seen 1093)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "hash_table<ipa_bit_ggc_hash_traits>"
  (!type already_seen 1094)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1089)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1090)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1083)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1078)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1079)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_set<cgraph_node*>"
  (!type already_seen 1070)
  (!srcfileloc  "cgraph.h" 2547)
  nil )
 (!pair  "FILE"
  (!type already_seen 1069)
  (!srcfileloc  "cgraph.h" 2543)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1034)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1067)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1058)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1065)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1032)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1063)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "vec<int>"
  (!type already_seen 1061)
  (!srcfileloc  "cgraph.h" 2505)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1056)
  (!srcfileloc  "cgraph.h" 2425)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1054)
  (!srcfileloc  "cgraph.h" 2419)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1052)
  (!srcfileloc  "cgraph.h" 2398)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1050)
  (!srcfileloc  "cgraph.h" 2391)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1048)
  (!srcfileloc  "cgraph.h" 2384)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1059)
  (!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 1046)
  (!srcfileloc  "cgraph.h" 2171)
  nil )
 (!pair  "availability"
  (!type already_seen 1045)
  (!srcfileloc  "cgraph.h" 2053)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 813)
  (!srcfileloc  "cgraph.h" 1946)
  nil )
 (!pair  "gcall"
  (!type already_seen 771)
  (!srcfileloc  "cgraph.h" 1943)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 814)
  (!srcfileloc  "cgraph.h" 1618)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1042)
  (!srcfileloc  "cgraph.h" 1565)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1040)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1039)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 840)
  (!srcfileloc  "cgraph.h" 1472)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 827)
  (!srcfileloc  "cgraph.h" 1471)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 822)
  (!srcfileloc  "cgraph.h" 1464)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 819)
  (!srcfileloc  "cgraph.h" 1457)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 817)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 816)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1038)
  (!srcfileloc  "cgraph.h" 1204)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 811)
  (!srcfileloc  "cgraph.h" 1179)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1036)
  (!srcfileloc  "cgraph.h" 872)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 821)
  (!srcfileloc  "cgraph.h" 862)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 808)
  (!srcfileloc  "cgraph.h" 856)
  nil )
 (!pair  "ipa_param_performed_split"
  (!type already_seen 839)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "vec<ipa_param_performed_split,va_gc>"
  (!type already_seen 838)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "ipa_param_adjustments"
  (!type already_seen 833)
  (!srcfileloc  "cgraph.h" 746)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 829)
  (!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 1033)
  (!srcfileloc  "cgraph.h" 113)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 823)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 824)
  (!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 2133 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 1025)
  (!srcfileloc  "profile-count.h" 1206)
  nil )
 (!pair  "uint32_t"
  (!type already_seen 1027)
  (!srcfileloc  "profile-count.h" 807)
  nil )
 (!pair  "profile_probability"
  (!type already_seen 1026)
  (!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 1012)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1013)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 474)
  (!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 998)
  (!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 997)
  (!srcfileloc  "function.h" 134)
  nil )
 (!pair  "vec<rtx_insn*,va_gc>"
  (!type already_seen 993)
  (!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 985)
  (!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 614)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 613)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 980)
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 968)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 982)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 971)
  (!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 576)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 575)
  (!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 964)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "typename"
  (!type already_seen 964)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "widest2_int_cst"
  (!type already_seen 961)
  (!srcfileloc  "tree.h" 5807)
  nil )
 (!pair  "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 961)
  (!srcfileloc  "tree.h" 5806)
  nil )
 (!pair  "unextended"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "generic_wide_int<unextended_tree>"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "extended"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "N"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "extended_tree<N"
  (!type already_seen 958)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "generic_wide_int<extended_tree<N>>"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "tree_to_poly_wide_ref"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5783)
  nil )
 (!pair  "unextended_tree"
  (!type already_seen 944)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "generic_wide_int<unextended_tree"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "tree_to_poly_offset_ref"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5780)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "tree_to_poly_widest_ref"
  (!type already_seen 951)
  (!srcfileloc  "tree.h" 5777)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree"
  (!type already_seen 952)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!type already_seen 951)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "tree_to_wide_ref"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5768)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5767)
  nil )
 (!pair  "tree_to_offset_ref"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree>"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "tree_to_widest_ref"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree>"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "offset_extended_tree"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "extended_tree<ADDR_MAX_PRECISION>"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "widest_extended_tree"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "type_tree_cache_map"
  (!type already_seen 942)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "type_tree_cache_traits"
  (!type already_seen 941)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "hash_map<tree,tree,type_tree_cache_traits>"
  (!type already_seen 942)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "decl_tree_cache_map"
  (!type already_seen 939)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "decl_tree_cache_traits"
  (!type already_seen 938)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "hash_map<tree,tree,decl_tree_cache_traits>"
  (!type already_seen 939)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "tree_cache_map"
  (!type already_seen 937)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "tree_cache_traits"
  (!type already_seen 936)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_map<tree,tree,tree_cache_traits>"
  (!type already_seen 937)
  (!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 925)
  (!srcfileloc  "rtl.h" 2333)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false"
  (!type already_seen 926)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!type already_seen 925)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 924)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 924)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 296)
  (!srcfileloc  "rtl.h" 496)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 742)
  (!srcfileloc  "rtl.h" 493)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 740)
  (!srcfileloc  "rtl.h" 464)
  nil )
 (!pair  "NUM_POLY_INT_COEFFS"
  (!type already_seen 913)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!type already_seen 912)
  (!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 897)
  (!srcfileloc  "wide-int.h" 1406)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 896)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 895)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 896)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 893)
  (!srcfileloc  "wide-int.h" 1221)
  nil )
 (!pair  "ASSIGNMENT_OPERATOR"
  (!type already_seen 891)
  (!srcfileloc  "wide-int.h" 754)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 890)
  (!srcfileloc  "wide-int.h" 715)
  nil )
 (!pair  "T1"
  (!type already_seen 887)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 886)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 885)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 884)
  (!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 880)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "T2"
  (!type already_seen 883)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 882)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 881)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 879)
  (!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 875)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "false"
  (!type already_seen 877)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 876)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 875)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "widest2_int"
  (!type already_seen 871)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 871)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 324)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "wide_int"
  (!type already_seen 502)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 503)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 502)
  (!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 865)
  (!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 863)
  (!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 861)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "TARGET_UNIT"
  (!type already_seen 861)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "machine_function"
  (!type already_seen 426)
  (!srcfileloc  "config/aarch64/aarch64.h" 862)
  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 733)
  (!srcfileloc  "coretypes.h" 379)
  nil )
 (!pair  "string_int_pair"
  (!type already_seen 853)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "int"
  (!type already_seen 378)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "std::pair<char*,int>"
  (!type already_seen 853)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "tree_pair"
  (!type already_seen 852)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 852)
  (!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 754)
  (!srcfileloc  "coretypes.h" 95)
  nil )
 (!pair  "hwivec"
  (!type already_seen 754)
  (!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 739)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "pod_mode<fixed_size_mode>"
  (!type already_seen 739)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "scalar_int_mode_pod"
  (!type already_seen 738)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "pod_mode<scalar_int_mode>"
  (!type already_seen 738)
  (!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 737)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "scalar_float_mode"
  (!type already_seen 732)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_mode<scalar_float_mode>"
  (!type already_seen 737)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_scalar_int_mode"
  (!type already_seen 736)
  (!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 736)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_scalar_mode"
  (!type already_seen 735)
  (!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 735)
  (!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 731)
  (!srcfileloc  "coretypes.h" 55)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 731)
  (!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 725)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "hash_map<location_hash,string_concat*>"
  (!type already_seen 729)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "string_concat_db"
  (!type already_seen 726)
  (!srcfileloc  "input.h" 193)
  nil )
 (!pair  "string_concat"
  (!type already_seen 723)
  (!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 720)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1258)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 719)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1244)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 718)
  (!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 714)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 713)
  (!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 690)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 686)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 712)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 711)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 710)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 701)
  (!srcfileloc  "../libcpp/include/line-map.h" 1264)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 695)
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 694)
  (!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 692)
  (!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 719
 (!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 2121)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3058)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2130)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "protlist"
  (!type already_seen 2127)
  (!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 2121)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1439)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 2121)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1438)
  nil )
 (!pair  "protrefs"
  (!type already_seen 2127)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 2124)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "classrefs"
  (!type already_seen 2121)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "extern_names"
  (!type already_seen 2108)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 235)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 2134 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 2135 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 2136 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 2137 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 2105)
  (!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 2117)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-act.c" 164)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-act.c" 163)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-act.c" 159)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-act.c" 158)
  nil )
 (!pair  "objc_global_trees"
  (!type array 2138 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 2112)
  (!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 2139 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 237)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2140 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 2141 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 2142 nil  gc_used "4" 
   (!type array 2143 nil  gc_used "3" 
    (!type already_seen 2084)
   )
  )
  (!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 2144 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_character_types"
  (!type array 2145 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 96)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 2146 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_real_types"
  (!type array 2147 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 2148 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 2149 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 2150 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 2151 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 2152 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 2153 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-io.c" 153)
  nil )
 (!pair  "st_parameter_field"
  (!type array 2154 nil  gc_used "" 
   (!type already_seen 2070)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 2155 nil  gc_used "" 
   (!type already_seen 2071)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 2156 nil  gc_used "" 
   (!type already_seen 2069)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 114)
  nil )
 (!pair  "module_htab"
  (!type already_seen 2064)
  (!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 436)
  (!srcfileloc  "fortran/f95-lang.c" 311)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 436)
  (!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 436)
  (!srcfileloc  "fortran/f95-lang.c" 179)
  nil )
 (!pair  "tinfo_types"
  (!type array 2157 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 2158 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 1001)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2159 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 2160 nil  gc_used "DTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-tree.h" 425)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 436)
  (!srcfileloc  "d/d-tree.h" 121)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 436)
  (!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 2038)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "deleted_copy_types"
  (!type already_seen 473)
  (!srcfileloc  "cp/tree.c" 4087)
  nil )
 (!pair  "list_hash_table"
  (!type already_seen 2031)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 2027)
  (!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 2022)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 2019)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "dguide_cache"
  (!type already_seen 2016)
  (!srcfileloc  "cp/pt.c" 28697)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "explicit_specifier_map"
  (!type already_seen 940)
  (!srcfileloc  "cp/pt.c" 13527)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "defarg_inst"
  (!type already_seen 940)
  (!srcfileloc  "cp/pt.c" 13416)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "last_error_tinst_level"
  (!type already_seen 1864)
  (!srcfileloc  "cp/pt.c" 10726)
  nil )
 (!pair  "pending_template_freelist_head"
  (!type already_seen 2002)
  (!srcfileloc  "cp/pt.c" 9378)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tinst_level_freelist_head"
  (!type already_seen 1864)
  (!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 2006)
  (!srcfileloc  "cp/pt.c" 121)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 2006)
  (!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 1864)
  (!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 2002)
  (!srcfileloc  "cp/pt.c" 61)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 2002)
  (!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 1890)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 1882)
  (!srcfileloc  "cp/parser.c" 1907)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_saved_scope"
  (!type already_seen 1845)
  (!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 544)
  (!srcfileloc  "cp/name-lookup.c" 1732)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "comp_cat_cache"
  (!type array 2161 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 2162 nil  gc_used "SUBID_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/mangle.c" 151)
  nil )
 (!pair  "G"
  (!type already_seen 1982)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_cache"
  (!type already_seen 1981)
  (!srcfileloc  "cp/logic.cc" 817)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "conv_type_names"
  (!type already_seen 1974)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 1970)
  (!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 940)
  (!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 1967)
  (!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 1964)
  (!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 940)
  (!srcfileloc  "cp/decl.c" 8121)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "typename_htab"
  (!type already_seen 1957)
  (!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 1952)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "debug_type_map"
  (!type already_seen 943)
  (!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 1949)
  (!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 1931)
  (!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 1926)
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "decl_constraints"
  (!type already_seen 940)
  (!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 1917)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1911)
  (!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 1905)
  (!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 2163 nil  gc_used "OVL_OP_MAX" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5870)
  nil )
 (!pair  "ovl_op_mapping"
  (!type array 2164 nil  gc_used "MAX_TREE_CODES" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5868)
  nil )
 (!pair  "ovl_op_info"
  (!type array 2165 nil  gc_used "2" 
   (!type array 2166 nil  gc_used "OVL_OP_MAX" 
    (!type already_seen 1859)
   )
  )
  (!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 1845)
  (!srcfileloc  "cp/cp-tree.h" 1733)
  nil )
 (!pair  "cp_global_trees"
  (!type array 2167 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 1825)
  (!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 1808)
  (!srcfileloc  "c-family/c-pragma.c" 1008)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 1806)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 1803)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 1800)
  (!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 2168 nil  gc_used "LAZY_HEX_FP_VALUES_CNT" 
   (!type already_seen 1796)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1634)
  nil )
 (!pair  "g_string_concat_db"
  (!type already_seen 727)
  (!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 2169 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 1786)
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 1784)
  (!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 2170 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 2171 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 1776)
  (!srcfileloc  "c/c-decl.c" 558)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 510)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 506)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 502)
  nil )
 (!pair  "file_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 497)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "current_scope"
  (!type already_seen 651)
  (!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 454)
  (!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 2172 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 577)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2173 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 2174 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6170)
  nil )
 (!pair  "builtin_types"
  (!type array 2175 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 1763)
  (!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 1759)
  (!srcfileloc  "ada/gcc-interface/utils.c" 247)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 1759)
  (!srcfileloc  "ada/gcc-interface/utils.c" 244)
  nil )
 (!pair  "float_types"
  (!type array 2176 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 2177 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 2178 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 1756)
  (!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 1748)
  (!srcfileloc  "ada/gcc-interface/trans.c" 162)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 1746)
  (!srcfileloc  "ada/gcc-interface/trans.c" 149)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 1746)
  (!srcfileloc  "ada/gcc-interface/trans.c" 146)
  nil )
 (!pair  "dummy_to_subprog_map"
  (!type already_seen 1741)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "annotate_value_cache"
  (!type already_seen 1733)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 2179 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 2180 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 2181 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 451)
  nil )
 (!pair  "registered_functions"
  (!type already_seen 1719)
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 550)
  nil )
 (!pair  "abi_vector_types"
  (!type array 2182 nil  gc_used "NUM_VECTOR_TYPES + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/aarch64/aarch64-sve-builtins.cc" 538)
  nil )
 (!pair  "aarch64_builtin_decls"
  (!type array 2183 nil  gc_used "AARCH64_BUILTIN_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/aarch64/aarch64-builtins.c" 521)
  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 2184 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "hsa-common.c" 745)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 1689)
  (!srcfileloc  "hsa-common.c" 68)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 2185 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "internal-fn.h" 124)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 1677)
  (!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 2186 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 1661)
  (!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 2187 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 1641)
  (!srcfileloc  "ipa-fnsummary.h" 221)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1598)
  (!srcfileloc  "trans-mem.c" 465)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipcp_transformation_sum"
  (!type already_seen 1595)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum"
  (!type already_seen 1592)
  (!srcfileloc  "ipa-prop.h" 877)
  nil )
 (!pair  "ipa_node_params_sum"
  (!type already_seen 1590)
  (!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 2188 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1577)
  )
  (!srcfileloc  "tree-phinodes.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_ids"
  (!type already_seen 1574)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 23)
  (!srcfileloc  "cgraphunit.c" 220)
  nil )
 (!pair  "va_list_type"
  (!type already_seen 23)
  (!srcfileloc  "config/aarch64/aarch64.c" 15992)
  nil )
 (!pair  "aarch64_previous_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "config/aarch64/aarch64.c" 14985)
  nil )
 (!pair  "tls_get_addr_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "config/aarch64/aarch64.c" 2882)
  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 1533)
  (!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 1519)
  (!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 1479)
  (!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 1457)
  (!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 1452)
  (!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 1003)
  (!srcfileloc  "varasm.c" 206)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 203)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1449)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1446)
  (!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 2189 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 8034)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 2190 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 1440)
  (!srcfileloc  "tree.c" 262)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1437)
  (!srcfileloc  "tree.c" 242)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1437)
  (!srcfileloc  "tree.c" 239)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1435)
  (!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 1432)
  (!srcfileloc  "tree.c" 217)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1429)
  (!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 1426)
  (!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 1422)
  (!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 1398)
  (!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 1377)
  (!srcfileloc  "ggc-tests.c" 401)
  nil )
 (!pair  "root_test_node"
  (!type already_seen 1375)
  (!srcfileloc  "ggc-tests.c" 339)
  nil )
 (!pair  "test_some_other_subclass_as_base_ptr"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 286)
  nil )
 (!pair  "test_some_subclass_as_base_ptr"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 285)
  nil )
 (!pair  "test_some_other_subclass"
  (!type already_seen 1373)
  (!srcfileloc  "ggc-tests.c" 284)
  nil )
 (!pair  "test_some_subclass"
  (!type already_seen 1371)
  (!srcfileloc  "ggc-tests.c" 283)
  nil )
 (!pair  "test_example_base"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 282)
  nil )
 (!pair  "test_of_deletable"
  (!type already_seen 916)
  (!srcfileloc  "ggc-tests.c" 216)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "root_test_of_union_2"
  (!type already_seen 1366)
  (!srcfileloc  "ggc-tests.c" 146)
  nil )
 (!pair  "root_test_of_union_1"
  (!type already_seen 1366)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "root_test_of_length"
  (!type already_seen 1363)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "root_test_struct"
  (!type already_seen 916)
  (!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 1350)
  (!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 1342)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1338)
  (!srcfileloc  "function.c" 129)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1338)
  (!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 2191 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 2192 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 991)
  (!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 1327)
  (!srcfileloc  "emit-rtl.c" 189)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1324)
  (!srcfileloc  "emit-rtl.c" 180)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1321)
  (!srcfileloc  "emit-rtl.c" 171)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_poly_int_htab"
  (!type already_seen 1318)
  (!srcfileloc  "emit-rtl.c" 162)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1315)
  (!srcfileloc  "emit-rtl.c" 152)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1312)
  (!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 1309)
  (!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 1292)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_die_map"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1274)
  (!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 1267)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3604)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 509)
  (!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 1265)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "macinfo_table"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 3572)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1219)
  (!srcfileloc  "dwarf2out.c" 3557)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1219)
  (!srcfileloc  "dwarf2out.c" 3556)
  nil )
 (!pair  "cur_line_info_table"
  (!type already_seen 1219)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 1235)
  (!srcfileloc  "dwarf2out.c" 3539)
  nil )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 3507)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1242)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hash"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "file_table"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3389)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3385)
  nil )
 (!pair  "cu_die_list"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3382)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 495)
  (!srcfileloc  "dwarf2out.c" 3379)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 492)
  (!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 492)
  (!srcfileloc  "dwarf2out.c" 272)
  nil )
 (!pair  "auto_die"
  (!type already_seen 492)
  (!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 1214)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "debug_line_str_hash"
  (!type already_seen 1214)
  (!srcfileloc  "dwarf2out.c" 233)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1214)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1211)
  (!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 1204)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1202)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2asm.c" 867)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1200)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 477)
  (!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 1195)
  (!srcfileloc  "dbxout.c" 180)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "func_sums"
  (!type already_seen 1189)
  (!srcfileloc  "ipa-sra.c" 427)
  nil )
 (!pair  "ipa_vr_hash_table"
  (!type already_seen 1098)
  (!srcfileloc  "ipa-prop.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_bits_hash_table"
  (!type already_seen 1095)
  (!srcfileloc  "ipa-prop.c" 105)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1037)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1091)
  (!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 1084)
  (!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 1060)
  (!srcfileloc  "cgraph.h" 3585)
  nil )
 (!pair  "symtab"
  (!type already_seen 1060)
  (!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 1014)
  (!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 610)
  (!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 2193 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 980)
  )
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "sizetype_tab"
  (!type array 2194 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2224)
  nil )
 (!pair  "integer_types"
  (!type array 2195 nil  gc_used "itk_none" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2221)
  nil )
 (!pair  "global_trees"
  (!type array 2196 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 983)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "int_n_trees"
  (!type array 2197 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 965)
  )
  (!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 593)
  (!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 2198 nil  gc_used "4" 
   (!type array 2199 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 2200 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 2201 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 23)
  )
  (!srcfileloc  "coverage.c" 94)
  nil )
 (!pair  "functions_head"
  (!type already_seen 904)
  (!srcfileloc  "coverage.c" 85)
  nil )
 (!pair  "saved_line_table"
  (!type already_seen 700)
  (!srcfileloc  "input.h" 27)
  nil )
 (!pair  "line_table"
  (!type already_seen 700)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
