OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [pr42631.c] - Blame information for rev 753

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* The function below expands to a loop whose latch block starts with
2
   a PHI node and the corresponding debug stmt.  In RTL, there are no
3
   PHI nodes, but the debug insn that references the incoming k
4
   remains, even though one of the incoming edges has it
5
   uninitialized.  After unrolling, however, the debug insn becomes
6
   unconditional, and this exposed a problem in the webizer.  Because
7
   DF doesn't combine the uses of an uninitialized pseudo into a
8
   single UD chain, we created a separate web for each use.
9
   Allocating separate registers or stack slots for each uninitialized
10
   use is wasteful, but the problem became more apparent in
11
   -fcompare-debug tests: register numbers went out of sync, and could
12
   have caused codegen differences depending on whether or not the
13
   debug insns were present.  The fix was to arrange for web to
14
   combine uninitialized uses into a single web.  */
15
 
16
/* { dg-do compile } */
17
/* { dg-options "-g -O1 -funroll-loops -fcompare-debug" } */
18
 
19
void foo()
20
{
21
  unsigned k;
22
  while (--k > 0);
23
}

powered by: WebSVN 2.1.0

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