* Progress update on extending static analyser to support c++'s virtual function
@ 2021-06-21 8:52 Ankur Saini
2021-06-22 19:31 ` David Malcolm
0 siblings, 1 reply; 2+ messages in thread
From: Ankur Saini @ 2021-06-21 8:52 UTC (permalink / raw)
To: David Malcolm; +Cc: gcc
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.
—
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 ?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Progress update on extending static analyser to support c++'s virtual function
2021-06-21 8:52 Progress update on extending static analyser to support c++'s virtual function Ankur Saini
@ 2021-06-22 19:31 ` David Malcolm
0 siblings, 0 replies; 2+ messages in thread
From: David Malcolm @ 2021-06-22 19:31 UTC (permalink / raw)
To: Ankur Saini; +Cc: gcc
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-06-22 19:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-21 8:52 Progress update on extending static analyser to support c++'s virtual function Ankur Saini
2021-06-22 19:31 ` David Malcolm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).