aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/l-ipo.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/l-ipo.c')
-rw-r--r--gcc-4.9/gcc/l-ipo.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/l-ipo.c b/gcc-4.9/gcc/l-ipo.c
index 843ad557d..59a9636d2 100644
--- a/gcc-4.9/gcc/l-ipo.c
+++ b/gcc-4.9/gcc/l-ipo.c
@@ -1566,7 +1566,11 @@ resolve_cgraph_node (struct cgraph_sym **slot, struct cgraph_node *node)
}
has_prof1 = has_profile_info (decl1);
- if (has_prof1)
+ bool is_aux1 = cgraph_is_auxiliary (decl1);
+ bool is_aux2 = cgraph_is_auxiliary (decl2);
+ /* Pick the copy from the primary module if multiple copies
+ have profile. */
+ if (has_prof1 && (!is_aux1 || is_aux2))
return;
has_prof2 = has_profile_info (decl2);
if (has_prof2)