Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <cassert>
#include <cstdio>
#include <unistd.h>
#include <climits>
#include <cstdarg>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <list>
#include <map>
#include "topcode.h"
#include "targ_isa_properties.h"
#include "targ_isa_subset.h"
#include "targ_isa_operands.h"
#include "si_gen.h"
Go to the source code of this file.
Classes | |
class | GNAME |
class | RES_WORD |
class | RES |
class | RES_REQ |
class | RES_REQ::CYCLE_RES |
class | ISLOT |
class | LATENCY_INFO |
class | INSTRUCTION_GROUP |
class | TOP_SCHED_INFO_MAP |
Functions | |
int | Mod (int i, int j) |
static void | Maybe_Print_Comma (FILE *fd, bool &is_first) |
void | Machine (char *name, ISA_SUBSET isa, int argc, char **argv) |
RESOURCE | RESOURCE_Create (char *name, int count) |
ISSUE_SLOT | ISSUE_SLOT_Create (char *name, int skew, int count) |
void | Instruction_Group (char *name,...) |
void | Any_Operand_Access_Time (int time) |
void | Operand_Access_Time (int operand_index, int time) |
void | Any_Result_Available_Time (int time) |
void | Result_Available_Time (int result_index, int time) |
void | Load_Access_Time (int time) |
void | Last_Issue_Cycle (int time) |
void | Store_Available_Time (int time) |
void | Resource_Requirement (RESOURCE resource, int time) |
void | Valid_Issue_Slot (ISSUE_SLOT slot) |
void | Write_Write_Interlock () |
void | Machine_Done (char *filename) |
Variables | |
static ISA_SUBSET | machine_isa |
const int | bits_per_long = 32 |
const int | bits_per_long_long = 64 |
const bool | use_long_longs = true |
const int | max_operands = ISA_OPERAND_max_operands |
const int | max_results = ISA_OPERAND_max_results |
static INSTRUCTION_GROUP * | current_instruction_group |
void Any_Operand_Access_Time | ( | int | time | ) |
Definition at line 1387 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Any_Operand_Access_Time().
Referenced by main().
void Any_Result_Available_Time | ( | int | time | ) |
Definition at line 1397 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Any_Result_Available_Time().
Referenced by main().
void Instruction_Group | ( | char * | name, |
... | |||
) |
Definition at line 1372 of file si_gen.cxx.
References TOP_SCHED_INFO_MAP::Add_Entry(), and current_instruction_group.
ISSUE_SLOT ISSUE_SLOT_Create | ( | char * | name, |
int | skew, | ||
int | count | ||
) |
Definition at line 1367 of file si_gen.cxx.
void Last_Issue_Cycle | ( | int | time | ) |
Definition at line 1412 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Last_Issue_Cycle().
void Load_Access_Time | ( | int | time | ) |
Definition at line 1407 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Load_Access_Time().
Referenced by main().
void Machine | ( | char * | name, |
ISA_SUBSET | isa, | ||
int | argc, | ||
char ** | argv | ||
) |
Definition at line 1355 of file si_gen.cxx.
References TOP_SCHED_INFO_MAP::Create_Dummies(), and machine_isa.
Referenced by main().
void Machine_Done | ( | char * | filename | ) |
Definition at line 1437 of file si_gen.cxx.
References fd, fprintf(), NULL, TOP_SCHED_INFO_MAP::Output(), RES_WORD::Output_All(), RES::Output_All(), ISLOT::Output_All(), and INSTRUCTION_GROUP::Output_All().
Referenced by main().
static void Maybe_Print_Comma | ( | FILE * | fd, |
bool & | is_first | ||
) | [static] |
Definition at line 104 of file si_gen.cxx.
References fprintf().
Referenced by RES_REQ::Compute_Output_Resource_Count_Vec(), RES_REQ::Output(), LATENCY_INFO::Output(), TOP_SCHED_INFO_MAP::Output(), RES::Output_All(), ISLOT::Output_All(), INSTRUCTION_GROUP::Output_All(), INSTRUCTION_GROUP::Output_II_Info(), and INSTRUCTION_GROUP::Output_Issue_Slot_Info().
int Mod | ( | int | i, |
int | j | ||
) |
Definition at line 80 of file si_gen.cxx.
Referenced by RES_REQ::Compute_II_RES_REQ().
void Operand_Access_Time | ( | int | operand_index, |
int | time | ||
) |
Definition at line 1392 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Operand_Access_Time().
RESOURCE RESOURCE_Create | ( | char * | name, |
int | count | ||
) |
Definition at line 1362 of file si_gen.cxx.
Referenced by main().
void Resource_Requirement | ( | RESOURCE | resource, |
int | time | ||
) |
Definition at line 1422 of file si_gen.cxx.
References INSTRUCTION_GROUP::Add_Resource_Requirement(), and current_instruction_group.
Referenced by main().
void Result_Available_Time | ( | int | result_index, |
int | time | ||
) |
Definition at line 1402 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Result_Available_Time().
void Store_Available_Time | ( | int | time | ) |
Definition at line 1417 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Store_Available_Time().
Referenced by main().
void Valid_Issue_Slot | ( | ISSUE_SLOT | slot | ) |
Definition at line 1427 of file si_gen.cxx.
References INSTRUCTION_GROUP::Add_Valid_ISLOT(), and current_instruction_group.
void Write_Write_Interlock | ( | ) |
Definition at line 1432 of file si_gen.cxx.
References current_instruction_group, and INSTRUCTION_GROUP::Set_Write_Write_Interlock().
const int bits_per_long = 32 |
Definition at line 73 of file si_gen.cxx.
Referenced by RES_WORD::Allocate_Field().
const int bits_per_long_long = 64 |
Definition at line 74 of file si_gen.cxx.
Referenced by RES_WORD::Allocate_Field(), and INSTRUCTION_GROUP::Output_II_Info().
INSTRUCTION_GROUP* current_instruction_group [static] |
Definition at line 1352 of file si_gen.cxx.
Referenced by Any_Operand_Access_Time(), Any_Result_Available_Time(), Instruction_Group(), Last_Issue_Cycle(), Load_Access_Time(), Operand_Access_Time(), Resource_Requirement(), Result_Available_Time(), Store_Available_Time(), Valid_Issue_Slot(), and Write_Write_Interlock().
ISA_SUBSET machine_isa [static] |
Definition at line 70 of file si_gen.cxx.
Referenced by Machine(), and TOP_SCHED_INFO_MAP::Output().
const int max_operands = ISA_OPERAND_max_operands |
Definition at line 76 of file si_gen.cxx.
const int max_results = ISA_OPERAND_max_results |
Definition at line 77 of file si_gen.cxx.
const bool use_long_longs = true |
Definition at line 75 of file si_gen.cxx.
Referenced by RES_WORD::Allocate_Field().