Use edge->indirect_unknown_callee in cgraph_edge::make_direct (PR ipa/89330).
authorMartin Liska <mliska@suse.cz>
Tue, 30 Jul 2019 14:52:29 +0000 (16:52 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 30 Jul 2019 14:52:29 +0000 (14:52 +0000)
2019-07-30  Martin Liska  <mliska@suse.cz>

PR ipa/89330
* cgraph.c (cgraph_edge::make_direct): Use
edge->indirect_unknown_callee as edge->resolve_speculation can
deallocate edge which is this pointer.

From-SVN: r273910

gcc/ChangeLog
gcc/cgraph.c

index 052586441744f6ea33864bc123ac513bb8ddda70..41cfa85f13c07ef2b1c13b70cee66d2a9a69969f 100644 (file)
@@ -1,3 +1,10 @@
+2019-07-30  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/89330
+       * cgraph.c (cgraph_edge::make_direct): Use
+       edge->indirect_unknown_callee as edge->resolve_speculation can
+       deallocate edge which is this pointer.
+
 2019-07-30  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/91257
index 81250acb70c19985c32ff39874785dbd358895ed..8dbe705af688ba6e11f64635f6cf5e01631fadf6 100644 (file)
@@ -1215,7 +1215,7 @@ cgraph_edge::make_direct (cgraph_node *callee)
       edge = edge->resolve_speculation (callee->decl);
 
       /* On successful speculation just return the pre existing direct edge.  */
-      if (!indirect_unknown_callee)
+      if (!edge->indirect_unknown_callee)
         return edge;
     }