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

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr21417.c] - Blame information for rev 378

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

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O2 -fdump-tree-dom2-details" } */
3
 
4
struct tree_common
5
{
6
  int code;
7
};
8
union tree_node
9
{
10
  struct tree_common common;
11
};
12
typedef union tree_node *tree;
13
 
14
extern tree test (tree, int, int);
15
extern tree foo (void);
16
extern void abort (void) __attribute__ ((__noreturn__));
17
 
18
tree
19
test (tree expr, int t, int D17630)
20
{
21
  int __i;
22
 
23
L0:
24
  if (expr->common.code != 142) goto L23; else goto L2;
25
 
26
L2:
27
  __i = 0;
28
  goto L10;
29
 
30
L10:
31
  __i = __i + 1;
32
  if (D17630 != __i) goto L8; else goto L19;
33
 
34
L8:
35
  if (t) goto L15; else goto L10;
36
 
37
L15:
38
  expr = foo ();
39
  if (expr->common.code != 142) goto L23; else goto L0;
40
 
41
L19:
42
  abort ();
43
 
44
L23:
45
  return expr;
46
}
47
 
48
 
49
/* We should thread the backedge to the top of the loop; ie we only
50
   execute the if (expr->common.code != 142) test once per loop
51
   iteration.  */
52
/* { dg-final { scan-tree-dump-times "Threaded jump" 1 "dom2" } } */
53
/* { dg-final { cleanup-tree-dump "dom2" } } */
54
 

powered by: WebSVN 2.1.0

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