re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / 20030708-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-dom3" } */
3 extern void abort (void);
4 struct rtx_def;
5 typedef struct rtx_def *rtx;
6 enum rtx_code
7 {
8 CALL_INSN,
9 EXPR_LIST,
10 NOTE,
11 LAST = 256
12 };
13
14 struct rtx_def
15 {
16
17 enum rtx_code code:16;
18 };
19
20 int
21 nonlocal_mentioned_p (x)
22 rtx x;
23 {
24 if (x->code == CALL_INSN)
25 {
26 rtx const _rtx = ((x));
27 if (_rtx->code != CALL_INSN
28 && _rtx->code != NOTE
29 && _rtx->code != EXPR_LIST)
30 abort ();
31 }
32
33 blah (&x);
34 }
35
36 /* There should be no casts to a short unsigned int since the entire
37 set of conditionals should optimize away. */
38 /* { dg-final { scan-tree-dump-times "\\(short unsigned int\\)" 0 "dom3"} } */
39
40 /* There should be no IF conditionals. */
41 /* { dg-final { scan-tree-dump-times "if " 0 "dom3"} } */
42
43 /* { dg-final { cleanup-tree-dump "dom3" } } */