summaryrefslogtreecommitdiff
path: root/gcc/lto-cgraph.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-09 23:39:11 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-09 23:39:11 +0000
commit7c067609421750df671aa46743c77f71d829bacb (patch)
treef3f75fa5d40c0187f09c5fb152838f703f00c122 /gcc/lto-cgraph.c
parent259ad1be81da18d872d0c62f267c51d0372acf72 (diff)
downloadgcc-7c067609421750df671aa46743c77f71d829bacb.tar.gz
PR lto/52722
PR lto/51765 PR lto/52634 * lto-cgraph.c (compute_ltrans_boundary): When alias is in the boundary, add its target too. * lto.c (add_references_to_partition): Add also aliased nodes. (add_cgraph_node_to_partition, add_varpool_node_to_partition): Work on nodes, not functions/variables; when adding alias, add also the aliased object. * gcc.dg/lto/pr52634_1.c: New testcase. * gcc.dg/lto/pr52634_0.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186252 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-cgraph.c')
-rw-r--r--gcc/lto-cgraph.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 5e899bc5f10..f57028d07fb 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -799,6 +799,8 @@ compute_ltrans_boundary (struct lto_out_decl_state *state,
lto_set_varpool_encoder_encode_initializer (varpool_encoder, vnode);
add_references (encoder, varpool_encoder, &vnode->ref_list);
}
+ else if (vnode->alias || vnode->alias_of)
+ add_references (encoder, varpool_encoder, &vnode->ref_list);
}
/* Go over all the nodes again to include callees that are not in