re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / 20030728-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
3
4
5 union tree_node;
6 typedef union tree_node *tree;
7
8 enum tree_code
9 {
10 ARRAY_TYPE,
11 LAST_AND_UNUSED_TREE_CODE
12 };
13
14 struct tree_common
15 {
16 enum tree_code code:8;
17 };
18
19
20
21
22
23 union tree_node
24 {
25 struct tree_common common;
26 };
27
28
29
30
31 int
32 objects_must_conflict_p (t1, t2)
33 tree t1, t2;
34 {
35
36 if ((t1->common.code == ARRAY_TYPE) != (t2
37 && t2->common.code == ARRAY_TYPE))
38 return 11;
39
40
41 return foo (t2 ? get_alias_set (t2) : 0);
42 }
43
44 /* There should be two assignments of variables to the value zero. */
45 /* { dg-final { scan-tree-dump-times " = 0" 2 "optimized"} } */
46
47 /* { dg-final { cleanup-tree-dump "optimized" } } */