Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2 of the GNU General Public License as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU General Public License along 00021 with this program; if not, write the Free Software Foundation, Inc., 59 00022 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00023 00024 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00025 Mountain View, CA 94043, or: 00026 00027 http://www.sgi.com 00028 00029 For further information regarding this notice, see: 00030 00031 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00032 00033 */ 00034 00035 00036 // isa_subset_gen.h 00038 // 00039 // Interface for describing which instructions are valid in which ISA subsets. 00040 // 00041 // void ISA_Subset_Begin( const char* archname ) 00042 // Initialize to generate Instruction Set Architecture subset information 00043 // for the architecture with the given <archname>. The information will 00044 // be written to the files targ_isa_subset.[ch]. 00045 // 00046 // TYPE ISA_SUBSET 00047 // An abstract type that represents a subset of the Instruction Set 00048 // Architecture. No client visible fields. 00049 // 00050 // ISA_SUBSET ISA_Subset_Create( ISA_SUBSET isa_subset, const char* name ) 00051 // Used to create a new ISA_SUBTYPE. <isa_subset> may be either another 00052 // ISA_SUBSET in which case the newly created set will be a subset of the 00053 // given <isa_subset>, or it may be NULL, in which case the created set 00054 // is a root subset. <name> should be the name for the created 00055 // ISA_SUBSET and is provided for debugging and documentation purposes. 00056 // 00057 // void Instruction_Group( ISA_SUBSET subset, ... ) 00058 // Lists the instructions the given <subset>. Subsequent arguments are 00059 // TOPs, terminating in TOP_UNDEFINED. These instructions are also 00060 // added to all supersets of <subset>. 00061 // 00062 // void ISA_Subset_End(void) 00063 // Complete processing. 00064 // 00065 // 00067 00068 00069 00070 00071 #ifndef ISA_SUBSET_GEN_INCLUDED 00072 #define ISA_SUBSET_GEN_INCLUDED 00073 #ifdef __cplusplus 00074 extern "C" { 00075 #endif 00076 #ifndef ISA_SUBSET_GEN_RCS_ID 00077 #define ISA_SUBSET_GEN_RCS_ID 00078 #ifdef _KEEP_RCS_ID 00079 #endif 00080 #endif 00081 00082 void ISA_Subset_Begin( const char* archname ); 00083 typedef struct isa_subset *ISA_SUBSET; 00084 ISA_SUBSET ISA_Subset_Create( ISA_SUBSET subset, const char* name ); 00085 void Instruction_Group( ISA_SUBSET isa_subset, ... ); 00086 void ISA_Subset_End(void); 00087 00088 #ifdef __cplusplus 00089 } 00090 #endif 00091 #endif