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
dr_analyze_innermost(struct loop * loop,tree poffset)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 }
52