public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).