Progress update on extending static analyser to support c++'s virtual function
David Malcolm
dmalcolm@redhat.com
Tue Jun 22 19:31:58 GMT 2021
On Mon, 2021-06-21 at 14:22 +0530, Ankur Saini wrote:
> so I have a good news and a bad news
>
> good news is that I was successfully able to split the calls at every
> call-site during the creation of super-graph.
>
> I did it by simply adding an 'else’ statement where analyser handles
> splitting of snodes, so that it can still handle the known calls (
> one with a cgraph_edge ) and also split the calls at the unknown call
> sites for analyzer to later speculate the source of the call with
> more information from regional models.
>
> something like this :-
>
> in `ana::supergraph::supergraph(ana::logger*)` in supergraph.cc <
> http://supergraph.cc/>
>
> 185 if (cgraph_edge *edge = supergraph_call_edge (fun, stmt))
> 186 {
> 187 m_cgraph_edge_to_caller_prev_node.put(edge,
> node_for_stmts);
> 188 node_for_stmts = add_node (fun, bb, as_a <gcall *>
> (stmt), NULL);
> 189 m_cgraph_edge_to_caller_next_node.put (edge,
> node_for_stmts);
> 190 }
> 191 else
> 192 {
> 193 gcall *call = dyn_cast<gcall *> (stmt);
> 194 if (call)
> 195 node_for_stmts = add_node (fun, bb, as_a <gcall *>
> (stmt), NULL);
> 196 }
>
> after building I could see analyzer creating snodes for returning
> calls from the function it was not before for various examples.
>
Great. Have you made any progress on creating eedges/enodes for such
calls?
> —
>
> now the bad news.
>
> I accidentally overwrote the file containing my ssh key to
> gcc.gnu.org <http://gcc.gnu.org/> , with another ssh key. :(
>
> is there something that I can do to retrieve it back ? or is it lost
> forever and I have no option left other than contacting
> overseers@gcc.gnu.org <mailto:overseers@gcc.gnu.org> regarding the
> same ?
If you've overwritten the private key, then there's no way to get it
back (if I understand things correctly). You should create a new one
and contact overseers.
Dave
More information about the Gcc
mailing list