Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <assert.h>
#include <vector>
#include <list>
#include <algorithm>
#include "topcode.h"
#include "gen_util.h"
#include "isa_operands_gen.h"
Go to the source code of this file.
#define FNAME "targ_isa_operands" |
typedef struct operand_value_type* OPERAND_VALUE_TYPE |
Definition at line 45 of file isa_operands_gen.cxx.
typedef struct operands_group * OPERANDS_GROUP |
OPERAND_USE_TYPE Create_Operand_Use | ( | const char * | name | ) |
Definition at line 377 of file isa_operands_gen.cxx.
References all_use_types, operand_use_type::index, max_uses, operand_use_type::name, name, and result.
Referenced by main().
void Instruction_Group | ( | const char * | name, |
... | |||
) |
Definition at line 394 of file isa_operands_gen.cxx.
References all_groups, cur_oper_group, fprintf(), operands_group::index, max_groups, operands_group::name, name, op_groups, operands_group::operands, operands_group::opnd_count, operands_group::opnd_use, operands_group::relocatable_opnd, operands_group::res_use, operands_group::result_count, and operands_group::results.
Referenced by main().
OPERAND_VALUE_TYPE ISA_Enum_Opnd_Type_Create | ( | const char * | name, |
int | size, | ||
RTYPE | type, | ||
ISA_ENUM_CLASS | enum_class | ||
) |
Definition at line 341 of file isa_operands_gen.cxx.
References all_operand_types, operand_value_type::enum_class, exit(), fprintf(), operand_value_type::index, operand_value_type::is_fpu_int, operand_value_type::is_pcrel, operand_value_type::is_register, operand_value_type::is_signed, operand_value_type::literal_class, max_valtypes, operand_value_type::name, name, operand_value_type::register_class, operand_value_type::register_subclass, result, SIGNED, size, operand_value_type::size, and UNSIGNED.
Referenced by main().
OPERAND_VALUE_TYPE ISA_Lit_Opnd_Type_Create | ( | const char * | name, |
int | size, | ||
RTYPE | type, | ||
ISA_LIT_CLASS | literal_class | ||
) |
Definition at line 306 of file isa_operands_gen.cxx.
References all_operand_types, operand_value_type::enum_class, exit(), fprintf(), operand_value_type::index, operand_value_type::is_fpu_int, operand_value_type::is_pcrel, operand_value_type::is_register, operand_value_type::is_signed, operand_value_type::literal_class, max_valtypes, operand_value_type::name, name, PCREL, operand_value_type::register_class, operand_value_type::register_subclass, result, SIGNED, size, operand_value_type::size, and UNSIGNED.
Referenced by main().
void ISA_Operands_Begin | ( | const char * | ) |
void ISA_Operands_End | ( | void | ) |
Definition at line 498 of file isa_operands_gen.cxx.
References all_groups, all_operand_types, all_use_types, cfile, code, efile, Emit_Footer(), Emit_Header(), operand_value_type::enum_class, exit(), fprintf(), hfile, operand_value_type::index, operands_group::index, operand_use_type::index, interface, operand_value_type::is_fpu_int, operand_value_type::is_pcrel, operand_value_type::is_register, operand_value_type::is_signed, operand_value_type::literal_class, max_groups, max_operands, max_results, max_uses, operand_value_type::name, operands_group::name, operand_use_type::name, NULL, op_groups, operands_group::operands, operands_group::opnd_count, operands_group::opnd_use, operand_value_type::register_class, operand_value_type::register_subclass, operands_group::relocatable_opnd, operands_group::result_count, operands_group::results, and operand_value_type::size.
Referenced by main().
OPERAND_VALUE_TYPE ISA_Reg_Opnd_Type_Create | ( | const char * | name, |
ISA_REGISTER_CLASS | register_class, | ||
ISA_REGISTER_SUBCLASS | subclass, | ||
int | size, | ||
RTYPE | type, | ||
FP_TYPE | fp_int | ||
) |
Definition at line 268 of file isa_operands_gen.cxx.
References all_operand_types, operand_value_type::enum_class, exit(), fprintf(), operand_value_type::index, INVALID, operand_value_type::is_fpu_int, operand_value_type::is_pcrel, operand_value_type::is_register, operand_value_type::is_signed, operand_value_type::literal_class, max_valtypes, operand_value_type::name, name, operand_value_type::register_class, operand_value_type::register_subclass, result, SIGNED, size, operand_value_type::size, and UNSIGNED.
Referenced by main().
void Operand | ( | int | operand_index, |
OPERAND_VALUE_TYPE | operand_type, | ||
OPERAND_USE_TYPE | operand_use | ||
) |
Definition at line 431 of file isa_operands_gen.cxx.
References cur_oper_group, max_operands, NULL, operands_group::operands, operands_group::opnd_count, and operands_group::opnd_use.
Referenced by main().
void Relocatable | ( | int | operand_index | ) |
Definition at line 458 of file isa_operands_gen.cxx.
References cur_oper_group, exit(), fprintf(), operands_group::name, and operands_group::relocatable_opnd.
Referenced by main().
void Result | ( | int | result_index, |
OPERAND_VALUE_TYPE | result_type | ||
) |
Definition at line 472 of file isa_operands_gen.cxx.
References cur_oper_group, max_results, NULL, operands_group::res_use, operands_group::result_count, and operands_group::results.
Referenced by main().
list<OPERANDS_GROUP> all_groups [static] |
Definition at line 99 of file isa_operands_gen.cxx.
Referenced by Instruction_Group(), and ISA_Operands_End().
list<OPERAND_VALUE_TYPE> all_operand_types [static] |
Definition at line 97 of file isa_operands_gen.cxx.
Referenced by ISA_Enum_Opnd_Type_Create(), ISA_Lit_Opnd_Type_Create(), ISA_Operands_End(), and ISA_Reg_Opnd_Type_Create().
list<OPERAND_USE_TYPE> all_use_types [static] |
Definition at line 98 of file isa_operands_gen.cxx.
Referenced by Create_Operand_Use(), and ISA_Operands_End().
OPERANDS_GROUP cur_oper_group [static] |
Definition at line 96 of file isa_operands_gen.cxx.
Referenced by Instruction_Group(), Operand(), Relocatable(), and Result().
Definition at line 109 of file isa_operands_gen.cxx.
Referenced by ISA_Operands_End().
int max_groups = 0 [static] |
Definition at line 104 of file isa_operands_gen.cxx.
Referenced by Instruction_Group(), and ISA_Operands_End().
int max_operands = 0 [static] |
Definition at line 101 of file isa_operands_gen.cxx.
Referenced by ISA_Operands_End(), and Operand().
int max_results = 0 [static] |
Definition at line 102 of file isa_operands_gen.cxx.
Referenced by ISA_Operands_End(), and Result().
int max_uses = 0 [static] |
Definition at line 105 of file isa_operands_gen.cxx.
Referenced by Create_Operand_Use(), and ISA_Operands_End().
int max_valtypes = 0 [static] |
Definition at line 103 of file isa_operands_gen.cxx.
Referenced by ISA_Enum_Opnd_Type_Create(), ISA_Lit_Opnd_Type_Create(), and ISA_Reg_Opnd_Type_Create().
vector<OPERANDS_GROUP> op_groups [static] |
Definition at line 95 of file isa_operands_gen.cxx.
Referenced by Instruction_Group(), ISA_Operands_Begin(), and ISA_Operands_End().