OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [forwprop-6.c] - Diff between revs 298 and 384

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 298 Rev 384
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-forwprop1 -W -Wall" } */
/* { dg-options "-O2 -fdump-tree-forwprop1 -W -Wall" } */
#if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
#if (__SIZEOF_INT__ == __SIZEOF_FLOAT__)
typedef int intflt;
typedef int intflt;
#elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
#elif (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
typedef long intflt;
typedef long intflt;
#else
#else
#error Add target support here for type that will union float size
#error Add target support here for type that will union float size
#endif
#endif
 
 
intflt b;
intflt b;
void f(void)
void f(void)
{
{
  float a;
  float a;
  a = 1;
  a = 1;
  b = *(intflt*)&a; /* { dg-warning "aliasing" } */
  b = *(intflt*)&a; /* { dg-warning "aliasing" } */
}
}
 
 
/* We should be able to convert the cast to a VCE in forwprop1,
/* We should be able to convert the cast to a VCE in forwprop1,
   even if there is an aliasing violation.
   even if there is an aliasing violation.
   ???  While this would be useful and nice to our users in this
   ???  While this would be useful and nice to our users in this
   particular situation before doing this transformation we have to
   particular situation before doing this transformation we have to
   assure that a is killed by a dominating store via type float for
   assure that a is killed by a dominating store via type float for
   it to be valid.  Then we might as well handle the situation by
   it to be valid.  Then we might as well handle the situation by
   value-numbering, removing the load alltogether.  */
   value-numbering, removing the load alltogether.  */
/* { dg-final { scan-tree-dump-times "VIEW_CONVERT_EXPR" 1 "forwprop1" { xfail *-*-* } } } */
/* { dg-final { scan-tree-dump-times "VIEW_CONVERT_EXPR" 1 "forwprop1" { xfail *-*-* } } } */
/* { dg-final { cleanup-tree-dump "forwprop1" } } */
/* { dg-final { cleanup-tree-dump "forwprop1" } } */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.