aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/lto-symtab.c
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2017-06-21 08:17:56 +0000
committerThomas Preud'homme <thomas.preudhomme@arm.com>2017-06-21 08:17:56 +0000
commitcbdd9dfeb1ba9e5067dbbd87cc06c4c8088ccde1 (patch)
treecf8a0bc639e4297e0cc5066742e728b3ef7038c0 /gcc/lto/lto-symtab.c
parentdd6f1d6329804d672dc44c77ba0a6e567e01e369 (diff)
2017-06-21 Thomas Preud'homme <thomas.preudhomme@arm.com>ARM/embedded-6-branch-2017q2
Revert: Backport from mainline 2017-06-15 Thomas Preud'homme <thomas.preudhomme@arm.com> PR lto/69866 * gcc.dg/lto/pr69866_0.c: New test. * gcc.dg/lto/pr69866_1.c: Likewise. Backport from mainline 2017-06-18 Jan Hubicka <hubicka@ucw.cz> * gcc.dg/lto/pr69866_0.c: This test needs alias. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ARM/embedded-6-branch@249437 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto/lto-symtab.c')
-rw-r--r--gcc/lto/lto-symtab.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c
index c298fb6dd9f..94b919b53e6 100644
--- a/gcc/lto/lto-symtab.c
+++ b/gcc/lto/lto-symtab.c
@@ -942,42 +942,6 @@ lto_symtab_merge_symbols (void)
if (tgt)
node->resolve_alias (tgt, true);
}
- /* If the symbol was preempted outside IR, see if we want to get rid
- of the definition. */
- if (node->analyzed
- && !DECL_EXTERNAL (node->decl)
- && (node->resolution == LDPR_PREEMPTED_REG
- || node->resolution == LDPR_RESOLVED_IR
- || node->resolution == LDPR_RESOLVED_EXEC
- || node->resolution == LDPR_RESOLVED_DYN))
- {
- DECL_EXTERNAL (node->decl) = 1;
- /* If alias to local symbol was preempted by external definition,
- we know it is not pointing to the local symbol. Remove it. */
- if (node->alias
- && !node->weakref
- && !node->transparent_alias
- && node->get_alias_target ()->binds_to_current_def_p ())
- {
- node->alias = false;
- node->remove_all_references ();
- node->definition = false;
- node->analyzed = false;
- node->cpp_implicit_alias = false;
- }
- else if (!node->alias
- && node->definition
- && node->get_availability () <= AVAIL_INTERPOSABLE)
- {
- if ((cnode = dyn_cast <cgraph_node *> (node)) != NULL)
- cnode->reset ();
- else
- {
- node->analyzed = node->definition = false;
- node->remove_all_references ();
- }
- }
- }
if (!(cnode = dyn_cast <cgraph_node *> (node))
|| !cnode->clone_of