Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
si_gen.cxx File Reference
#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"
Include dependency graph for si_gen.cxx:

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_GROUPcurrent_instruction_group

Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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.

Here is the call graph for this function:

Definition at line 1432 of file si_gen.cxx.

References current_instruction_group, and INSTRUCTION_GROUP::Set_Write_Write_Interlock().

Here is the call graph for this function:


Variable Documentation

const int bits_per_long = 32

Definition at line 73 of file si_gen.cxx.

Referenced by RES_WORD::Allocate_Field().

Definition at line 74 of file si_gen.cxx.

Referenced by RES_WORD::Allocate_Field(), and INSTRUCTION_GROUP::Output_II_Info().

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().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines