re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / 20030807-7.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-dom3" } */
3
4 extern void abort (void);
5
6 union tree_node;
7 typedef union tree_node *tree;
8 struct tree_common
9 {
10 int code;
11 };
12 struct tree_list
13 {
14 tree purpose;
15 };
16 union tree_node
17 {
18 struct tree_common common;
19 struct tree_list list;
20 };
21 void
22 simplify_condition (cond_p)
23 tree *cond_p;
24 {
25 tree decl;
26 tree cond = *cond_p;
27 if (cond->common.code != 42)
28 abort ();
29 decl = cond->list.purpose;
30 if (cond->common.code != 42)
31 abort ();
32 c_simplify_stmt (&decl);
33 }
34
35 /* There should be exactly one IF conditional. TBAA is not able to
36 determine that 'decl' and 'cond' can't alias. */
37 /* { dg-final { scan-tree-dump-times "if " 1 "dom3" { xfail *-*-* } } } */
38 /* { dg-final { cleanup-tree-dump "dom3" } } */