Merge from mainline (165734:167278).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gnat.dg / opt8.ads
blob57d84a2935d50110ceba0b9a88a26ac3f3c8653c
1 package Opt8 is
3 type Value_Number_Kind is
4 (Int_Literal_VN,
5 Selected_Address_VN,
6 Membership_VN,
7 Initial_External_Kappa_VN,
8 Aliased_Kappa_VN,
9 Phi_As_Kappa_VN,
10 Multi_Target_Call_Kappa_VN,
11 Final_Value_Of_Seq_Kappa_VN,
12 Block_Kappa_VN);
14 subtype Kappa_VN is Value_Number_Kind
15 range Initial_External_Kappa_VN .. Block_Kappa_VN;
17 type Value_Number_Id is new Positive;
19 type Kappa_Component_Rec;
21 type Kappa_Component_Ptr is access Kappa_Component_Rec;
23 type Kappa_Component_Rec is record
24 Content_VN : Value_Number_Id;
25 Next : Kappa_Component_Ptr;
26 end record;
28 type Value_Number_Rec(Kind : Value_Number_Kind) is record
29 Id: Value_Number_Id;
30 case Kind is
31 when Int_Literal_VN =>
32 Int_Val : Integer;
33 when Kappa_VN =>
34 Old_Value : Kappa_Component_Rec;
35 Possible_New_Values : Kappa_Component_Ptr;
36 Use_Default : Boolean;
37 when Others =>
38 null;
39 end case;
40 end record;
42 type Value_Number is access all Value_Number_Rec;
44 function VN_Complexity (Val : Value_Number; N : Natural) return Natural;
46 end Opt8;