This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LTO Test Case Help


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

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]