Hi, I'm trying to write a testcase to reproduce duplicate clone symbols such as in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88297 I started with a testcase that is known to have constprop clones and split it into two object files:
bash-4.2# cat /gcc/src/gcc/testsuite/gcc.dg/lto/independent-cloneids-lto_0.c
/* { dg-require-effective-target lto } */
/* { dg-lto-options {{-O3 -fipa-cp -fipa-cp-clone}} } */
/* { dg-lto-do run } */
#include <stdio.h>
extern int foo (int arg);
extern int bar (int arg);
int __attribute__ ((noinline))
foo (int arg)
{
return 7 * arg;
}
int __attribute__ ((noinline))
bar (int arg)
{
return arg * arg;
}
int main (void)
{
printf("%d\n", bar (3));
printf("%d\n", bar (4));
printf("%d\n", foo (5));
printf("%d\n", foo (6));
return 0;
}
bash-4.2# cat /gcc/src/gcc/testsuite/gcc.dg/lto/independent-cloneids-lto_1.c
int __attribute__ ((noinline))
foo (int arg)
{
return 7 * arg;
}
int __attribute__ ((noinline))
bar (int arg)
{
return arg * arg;
}
but now decide_whether_version_node does not call decide_about_value
and I don't know enough about ipa/lattices to figure out what's
missing. Any help would be appreciated.
- Michael
signature.asc
Description: OpenPGP digital signature
