https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80850
--- Comment #20 from DIL <liakhdi at ornl dot gov> --- So, if we for a second trust valgrind executed on an -O3 optimized binary, then line 1402 of gfc_graph.F90, namely, ierr=git%append_vertex(vrt) should be the origin. The object vrt (type graph_vertex_t) is the object being cloned in clone_object() that contains an uninitialized field (you mentioned _len in the previous comments). In line 1113 of gfc_graph.F90, this graph_vertex_t object is passed into VectorIterAppend() (gfc_vector.F90:773) as an unlimited polymorphic dummy argument, so I guess that's where it acquires the _len field, right?