aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2019-10-02 14:44:35 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2019-10-02 14:44:35 +0200
commit3187c8a5010f4245ff008a0fc2fb746a8bce4a00 (patch)
tree57403e651339babab9bbb759ade26ac1ce118719 /gcc/cgraphclones.c
parent569651fd6fdb6455da58f7811e6296c22ce34df7 (diff)
downloadgcc-3187c8a5010f4245ff008a0fc2fb746a8bce4a00.zip
gcc-3187c8a5010f4245ff008a0fc2fb746a8bce4a00.tar.gz
gcc-3187c8a5010f4245ff008a0fc2fb746a8bce4a00.tar.bz2
[PATCH] Do not check call type compatibility when cloning cgraph-edges
2019-10-02 Martin Jambor <mjambor@suse.cz> * cgraph.c (symbol_table::create_edge): New parameter cloning_p, do not compute some stuff when set. (cgraph_node::create_edge): Likewise. (cgraph_node::create_indirect_edge): Renamed last parameter to coning_p and flipped its meaning, don't even calculate inline_failed when set. * cgraph.h (cgraph_node::create_edge): Add new parameter. (symbol_table::::create_edge): Likewise. (cgraph_node::create_indirect_edge): Rename last parameter, flip the default value. * cgraphclones.c (cgraph_edge::clone): Pass true cloning_p to all call graph edge creating functions. From-SVN: r276455
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 909407b..087b5a2 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -104,19 +104,19 @@ cgraph_edge::clone (cgraph_node *n, gcall *call_stmt, unsigned stmt_uid,
{
cgraph_node *callee = cgraph_node::get (decl);
gcc_checking_assert (callee);
- new_edge = n->create_edge (callee, call_stmt, prof_count);
+ new_edge = n->create_edge (callee, call_stmt, prof_count, true);
}
else
{
new_edge = n->create_indirect_edge (call_stmt,
indirect_info->ecf_flags,
- prof_count, false);
+ prof_count, true);
*new_edge->indirect_info = *indirect_info;
}
}
else
{
- new_edge = n->create_edge (callee, call_stmt, prof_count);
+ new_edge = n->create_edge (callee, call_stmt, prof_count, true);
if (indirect_info)
{
new_edge->indirect_info