OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gnat.dg/] [opt8.ads] - Rev 696

Compare with Previous | Blame | View Log

package Opt8 is
 
    type Value_Number_Kind is
      (Int_Literal_VN,
       Selected_Address_VN,
       Membership_VN,
       Initial_External_Kappa_VN,
       Aliased_Kappa_VN,
       Phi_As_Kappa_VN,
       Multi_Target_Call_Kappa_VN,
       Final_Value_Of_Seq_Kappa_VN,
       Block_Kappa_VN);
 
    subtype Kappa_VN is Value_Number_Kind
    range Initial_External_Kappa_VN .. Block_Kappa_VN;
 
    type Value_Number_Id is new Positive;
 
    type Kappa_Component_Rec;
 
    type Kappa_Component_Ptr is access Kappa_Component_Rec;
 
    type Kappa_Component_Rec is record
        Content_VN : Value_Number_Id;
        Next : Kappa_Component_Ptr;
    end record;
 
    type Value_Number_Rec(Kind : Value_Number_Kind) is record
        Id: Value_Number_Id;
        case Kind is
            when Int_Literal_VN =>
                Int_Val : Integer;
            when Kappa_VN =>
                Old_Value : Kappa_Component_Rec;
                Possible_New_Values : Kappa_Component_Ptr;
                Use_Default : Boolean;
            when Others =>
                null;
        end case;
    end record;
 
    type Value_Number is access all Value_Number_Rec;
 
    function VN_Complexity (Val : Value_Number; N : Natural) return Natural;
 
end Opt8;
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.