1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1" } */
3
4 /* We should thread the if (!in_loop) completely leaving
5 just two conditionals. */
6 /* { dg-final { scan-tree-dump-times "if \\(" 2 "vrp1" } } */
7
8
9 union tree_node;
10 typedef union tree_node *tree;
11
12 enum size_type_kind
13 {
14 SIZETYPE,
15 SSIZETYPE,
16 BITSIZETYPE,
17 SBITSIZETYPE,
18 TYPE_KIND_LAST
19 };
20 extern tree size_int_kind (long, enum size_type_kind);
21
22
23
24 typedef struct
25 {
26
27 tree base, step;
28
29 } affine_iv;
30
31 struct loop
32 {
33
34 int num;
35 };
36 extern unsigned char simple_iv ();
37
38 unsigned char
39 dr_analyze_innermost (struct loop *loop, tree poffset)
40 {
41 affine_iv offset_iv;
42 unsigned char in_loop = (loop && loop->num);
43
44
45 if (in_loop)
46 simple_iv ();
47
48 if (!in_loop)
49 offset_iv.step = size_int_kind (0, SSIZETYPE);
50
51 }