Commit a50e9b2f by Martin Jambor Committed by Martin Jambor

[PR 82027] Also stream opt_info of former_clones

2017-12-22  Martin Jambor  <mjambor@suse.cz>

	PR lto/82027
	* lto-cgraph.c (output_cgraph_opt_summary_p): Also check former
	clones.

testsuite/
	* g++.dg/lto/pr82027_0.C: New test.

From-SVN: r255978
parent d7b24d55
2017-12-22 Martin Jambor <mjambor@suse.cz>
PR lto/82027
* lto-cgraph.c (output_cgraph_opt_summary_p): Also check former
clones.
2017-12-22 Julia Koval <julia.koval@intel.com>
Sebastian Peryt <sebastian.peryt@intel.com>
......@@ -1958,7 +1958,7 @@ input_offload_tables (bool do_force_output)
static int
output_cgraph_opt_summary_p (struct cgraph_node *node)
{
return (node->clone_of
return ((node->clone_of || node->former_clone_of)
&& (node->clone.tree_map
|| node->clone.args_to_skip
|| node->clone.combined_args_to_skip));
......
2017-12-22 Martin Jambor <mjambor@suse.cz>
PR lto/82027
* g++.dg/lto/pr82027_0.C: New test.
2017-12-22 Julia Koval <julia.koval@intel.com>
Sebastian Peryt <sebastian.peryt@intel.com>
......
// { dg-lto-do run }
// { dg-lto-options { { -O3 -flto } } }
class Position
{
public:
Position( void ) {}
virtual ~Position() {}
virtual void calcPercent( const char *name,int pos,int size ) {}
};
class Looper
{
public:
Looper( Position *cc,int size )
: m_cc(cc), m_size(size) {}
virtual ~Looper() {}
void loop( void )
{
for( int pos=0; pos<m_size; pos++ )
{
m_cc->calcPercent( "",pos,m_size );
}
}
private:
Position *m_cc;
int m_size;
};
class EmptyClass
{
public:
EmptyClass( void ) {}
virtual ~EmptyClass() {}
};
class Combined : public EmptyClass, public Position
{
public:
Combined( void ) : m_percent(0) {}
~Combined() {}
void calcPercent( const char *name,int pos,int size )
{
int percent = 100*pos/size;
if( percent!=m_percent )
m_percent = percent;
}
private:
int m_percent;
};
int main( int argc,char **argv )
{
Combined *comb = new Combined();
Looper *looper = new Looper( comb,argc );
looper->loop();
delete comb;
delete looper;
return( 0 );
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment