Classes | Defines | Typedefs | Enumerations | Functions | Variables

ti_si.h File Reference

#include <topcode.h>
Include dependency graph for ti_si.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SI_BAD_II_SET
struct  SI_RESOURCE
struct  SI_ISSUE_SLOT
struct  SI_RESOURCE_TOTAL
struct  SI

Defines

#define SI_RCS_ID

Typedefs

typedef enum topcode TOPCODE
typedef UINT SI_RESOURCE_ID
typedef mUINT64 SI_RESOURCE_ID_SET
typedef mUINT64 SI_RRW
typedef const SI_RRWSI_RR
typedef UINT SI_ID

Enumerations

enum  { SI_BAD_II_SET_MAX = 127 }

Functions

SI_BAD_II_SET SI_BAD_II_SET_Union (SI_BAD_II_SET s1, SI_BAD_II_SET s2)
INT SI_BAD_II_SET_MemberP (SI_BAD_II_SET s, UINT i)
SI_BAD_II_SET SI_BAD_II_SET_Empty (void)
const char * SI_RESOURCE_Name (SI_RESOURCE *res)
UINT SI_RESOURCE_Id (SI_RESOURCE *res)
UINT SI_RESOURCE_Avail_Per_Cycle (SI_RESOURCE *res)
UINT SI_RESOURCE_Word_Index (SI_RESOURCE *res)
UINT SI_RESOURCE_Bit_Index (SI_RESOURCE *res)
const char * SI_RESOURCE_ID_Name (SI_RESOURCE_ID id)
UINT SI_RESOURCE_ID_Avail_Per_Cycle (SI_RESOURCE_ID id)
SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Universe (void)
SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Empty (void)
SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Intersection (SI_RESOURCE_ID_SET s0, SI_RESOURCE_ID_SET s1)
INT SI_RESOURCE_ID_SET_Intersection_Non_Empty (SI_RESOURCE_ID_SET s0, SI_RESOURCE_ID_SET s1)
INT SI_RESOURCE_ID_SET_Intersection4_Non_Empty (SI_RESOURCE_ID_SET s0, SI_RESOURCE_ID_SET s1, SI_RESOURCE_ID_SET s2, SI_RESOURCE_ID_SET s3)
SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Complement (SI_RESOURCE_ID_SET s)
SI_RRW SI_RRW_Initial (void)
SI_RRW SI_RRW_Reserve (SI_RRW table, SI_RRW requirement)
SI_RRW SI_RRW_Has_Overuse (SI_RRW word_with_reservations)
SI_RRW SI_RRW_Unreserve (SI_RRW table, SI_RRW requirement)
const char * SI_ISSUE_SLOT_Name (SI_ISSUE_SLOT *slot)
INT SI_ISSUE_SLOT_Skew (SI_ISSUE_SLOT *slot)
INT SI_ISSUE_SLOT_Avail_Per_Cycle (SI_ISSUE_SLOT *slot)
INT SI_ISSUE_SLOT_Count (void)
SI_ISSUE_SLOTSI_Ith_Issue_Slot (UINT i)
SI_RESOURCESI_RESOURCE_TOTAL_Resource (SI_RESOURCE_TOTAL *pair)
SI_RESOURCE_ID SI_RESOURCE_TOTAL_Resource_Id (SI_RESOURCE_TOTAL *pair)
UINT SI_RESOURCE_TOTAL_Avail_Per_Cycle (SI_RESOURCE_TOTAL *pair)
INT SI_RESOURCE_TOTAL_Total_Used (SI_RESOURCE_TOTAL *pair)
UINT SI_RR_Length (SI_RR req)
SI_RRW SI_RR_Cycle_RRW (SI_RR req, UINT cycle)
const char * TSI_Name (TOP top)
SI_ID TSI_Id (TOP top)
INT TSI_Operand_Access_Time (TOP top, INT operand_index)
INT TSI_Result_Available_Time (TOP top, INT result_index)
INT TSI_Load_Access_Time (TOP top)
INT TSI_Last_Issue_Cycle (TOP top)
INT TSI_Store_Available_Time (TOP top)
SI_RR TSI_Resource_Requirement (TOP top)
SI_BAD_II_SET TSI_Bad_IIs (TOP top)
SI_RR TSI_II_Resource_Requirement (TOP top, INT ii)
const SI_RESOURCE_ID_SETTSI_II_Cycle_Resource_Ids_Used (TOP opcode, INT ii)
UINT TSI_Valid_Issue_Slot_Count (TOP top)
SI_ISSUE_SLOTTSI_Valid_Issue_Slots (TOP top, UINT i)
UINT TSI_Resource_Total_Vector_Size (TOP top)
SI_RESOURCE_TOTALTSI_Resource_Total_Vector (TOP top)
INT TSI_Write_Write_Interlock (TOP top)
INT SI_ID_Count (void)
const SI_RESOURCE_ID_SETSI_ID_II_Cycle_Resource_Ids_Used (SI_ID id, INT ii)

Variables

const INT SI_resource_count
SI_RESOURCE *const SI_resources []
const SI_RRW SI_RRW_initializer
const SI_RRW SI_RRW_overuse_mask
const INT SI_issue_slot_count
SI_ISSUE_SLOT *const SI_issue_slots []
SI *const SI_top_si []
const INT SI_ID_count
SI *const SI_ID_si []

Define Documentation

#define SI_RCS_ID

Definition at line 339 of file ti_si.h.


Typedef Documentation

typedef UINT SI_ID

Definition at line 614 of file ti_si.h.

Definition at line 386 of file ti_si.h.

Definition at line 443 of file ti_si.h.

typedef const SI_RRW* SI_RR

Definition at line 597 of file ti_si.h.

typedef mUINT64 SI_RRW

Definition at line 489 of file ti_si.h.

typedef enum topcode TOPCODE

Definition at line 346 of file ti_si.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
SI_BAD_II_SET_MAX 

Definition at line 355 of file ti_si.h.


Function Documentation

SI_BAD_II_SET SI_BAD_II_SET_Empty ( void   )  [inline]

Definition at line 376 of file ti_si.h.

Referenced by TI_RES_RES_Alloc().

INT SI_BAD_II_SET_MemberP ( SI_BAD_II_SET  s,
UINT  i 
) [inline]
SI_BAD_II_SET SI_BAD_II_SET_Union ( SI_BAD_II_SET  s1,
SI_BAD_II_SET  s2 
) [inline]

Definition at line 357 of file ti_si.h.

References SI_BAD_II_SET::dw.

Referenced by TI_RES_RES_Has_TOP().

INT SI_ID_Count ( void   )  [inline]

Definition at line 743 of file ti_si.h.

Referenced by TI_RES_RES_Alloc().

const SI_RESOURCE_ID_SET* SI_ID_II_Cycle_Resource_Ids_Used ( SI_ID  id,
INT  ii 
) [inline]

Definition at line 754 of file ti_si.h.

References SI::ii_info_size, SI::ii_resources_used, and SI::resources_used.

Referenced by TI_RES_RES_Set_BB_Cycle_Count().

INT SI_ISSUE_SLOT_Avail_Per_Cycle ( SI_ISSUE_SLOT slot  )  [inline]

Definition at line 540 of file ti_si.h.

References SI_ISSUE_SLOT::avail_per_cycle.

INT SI_ISSUE_SLOT_Count ( void   )  [inline]

Definition at line 555 of file ti_si.h.

const char* SI_ISSUE_SLOT_Name ( SI_ISSUE_SLOT slot  )  [inline]

Definition at line 530 of file ti_si.h.

References SI_ISSUE_SLOT::name.

INT SI_ISSUE_SLOT_Skew ( SI_ISSUE_SLOT slot  )  [inline]

Definition at line 535 of file ti_si.h.

References SI_ISSUE_SLOT::skew.

SI_ISSUE_SLOT* SI_Ith_Issue_Slot ( UINT  i  )  [inline]

Definition at line 560 of file ti_si.h.

UINT SI_RESOURCE_Avail_Per_Cycle ( SI_RESOURCE res  )  [inline]
UINT SI_RESOURCE_Bit_Index ( SI_RESOURCE res  )  [inline]

Definition at line 417 of file ti_si.h.

References SI_RESOURCE::bit_index.

UINT SI_RESOURCE_Id ( SI_RESOURCE res  )  [inline]

Definition at line 402 of file ti_si.h.

References SI_RESOURCE::id.

Referenced by SI_RESOURCE_TOTAL_Resource_Id().

UINT SI_RESOURCE_ID_Avail_Per_Cycle ( SI_RESOURCE_ID  id  )  [inline]

Definition at line 435 of file ti_si.h.

References SI_RESOURCE_Avail_Per_Cycle().

Referenced by TI_RES_COUNT_Emit_Note(), TI_RES_COUNT_Min_Cycles(), and TI_RES_COUNT_Print().

Here is the call graph for this function:

const char* SI_RESOURCE_ID_Name ( SI_RESOURCE_ID  id  )  [inline]

Definition at line 430 of file ti_si.h.

References SI_RESOURCE_Name().

Referenced by TI_RES_COUNT_Emit_Note(), and TI_RES_COUNT_Print().

Here is the call graph for this function:

SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Complement ( SI_RESOURCE_ID_SET  s  )  [inline]

Definition at line 480 of file ti_si.h.

References SI_RESOURCE_ID_SET_Universe().

Referenced by TI_RES_RES_Set_BB_Cycle_Count().

Here is the call graph for this function:

SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Empty ( void   )  [inline]

Definition at line 451 of file ti_si.h.

SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Intersection ( SI_RESOURCE_ID_SET  s0,
SI_RESOURCE_ID_SET  s1 
) [inline]

Definition at line 457 of file ti_si.h.

Referenced by TI_RES_RES_Set_BB_Cycle_Count().

INT SI_RESOURCE_ID_SET_Intersection4_Non_Empty ( SI_RESOURCE_ID_SET  s0,
SI_RESOURCE_ID_SET  s1,
SI_RESOURCE_ID_SET  s2,
SI_RESOURCE_ID_SET  s3 
) [inline]

Definition at line 471 of file ti_si.h.

Referenced by TI_RES_RES_Resources_Relevant().

INT SI_RESOURCE_ID_SET_Intersection_Non_Empty ( SI_RESOURCE_ID_SET  s0,
SI_RESOURCE_ID_SET  s1 
) [inline]

Definition at line 464 of file ti_si.h.

Referenced by TI_RES_RES_Resources_Grainy().

SI_RESOURCE_ID_SET SI_RESOURCE_ID_SET_Universe ( void   )  [inline]

Definition at line 445 of file ti_si.h.

Referenced by SI_RESOURCE_ID_SET_Complement(), and TI_RES_RES_Set_BB_Cycle_Count().

const char* SI_RESOURCE_Name ( SI_RESOURCE res  )  [inline]

Definition at line 397 of file ti_si.h.

References SI_RESOURCE::name.

Referenced by SI_RESOURCE_ID_Name().

UINT SI_RESOURCE_TOTAL_Avail_Per_Cycle ( SI_RESOURCE_TOTAL pair  )  [inline]

Definition at line 584 of file ti_si.h.

References SI_RESOURCE_Avail_Per_Cycle(), and SI_RESOURCE_TOTAL_Resource().

Here is the call graph for this function:

SI_RESOURCE* SI_RESOURCE_TOTAL_Resource ( SI_RESOURCE_TOTAL pair  )  [inline]
SI_RESOURCE_ID SI_RESOURCE_TOTAL_Resource_Id ( SI_RESOURCE_TOTAL pair  )  [inline]
INT SI_RESOURCE_TOTAL_Total_Used ( SI_RESOURCE_TOTAL pair  )  [inline]
UINT SI_RESOURCE_Word_Index ( SI_RESOURCE res  )  [inline]

Definition at line 412 of file ti_si.h.

References SI_RESOURCE::word_index.

SI_RRW SI_RR_Cycle_RRW ( SI_RR  req,
UINT  cycle 
) [inline]
UINT SI_RR_Length ( SI_RR  req  )  [inline]
SI_RRW SI_RRW_Has_Overuse ( SI_RRW  word_with_reservations  )  [inline]

Definition at line 511 of file ti_si.h.

Referenced by TI_RES_Can_Dual_Issue(), and TI_RES_RES_Resources_Available().

SI_RRW SI_RRW_Initial ( void   )  [inline]

Definition at line 501 of file ti_si.h.

Referenced by TI_RES_Can_Dual_Issue(), and TI_RES_RES_Set_BB_Cycle_Count().

SI_RRW SI_RRW_Reserve ( SI_RRW  table,
SI_RRW  requirement 
) [inline]
SI_RRW SI_RRW_Unreserve ( SI_RRW  table,
SI_RRW  requirement 
) [inline]

Definition at line 516 of file ti_si.h.

Referenced by TI_RES_RES_Unreserve_Resources().

SI_BAD_II_SET TSI_Bad_IIs ( TOP  top  )  [inline]
SI_ID TSI_Id ( TOP  top  )  [inline]

Definition at line 647 of file ti_si.h.

References SI::id.

Referenced by TI_RES_RES_Has_TOP().

const SI_RESOURCE_ID_SET* TSI_II_Cycle_Resource_Ids_Used ( TOP  opcode,
INT  ii 
) [inline]
SI_RR TSI_II_Resource_Requirement ( TOP  top,
INT  ii 
) [inline]
INT TSI_Last_Issue_Cycle ( TOP  top  )  [inline]

Definition at line 671 of file ti_si.h.

Referenced by TI_LATENCY_Last_Issue_Cycle().

INT TSI_Load_Access_Time ( TOP  top  )  [inline]

Definition at line 665 of file ti_si.h.

Referenced by TI_LATENCY_Load_Cycle().

const char* TSI_Name ( TOP  top  )  [inline]

Definition at line 642 of file ti_si.h.

References name.

INT TSI_Operand_Access_Time ( TOP  top,
INT  operand_index 
) [inline]

Definition at line 653 of file ti_si.h.

Referenced by TI_LATENCY_Operand_Access_Cycle().

SI_RR TSI_Resource_Requirement ( TOP  top  )  [inline]
SI_RESOURCE_TOTAL* TSI_Resource_Total_Vector ( TOP  top  )  [inline]
UINT TSI_Resource_Total_Vector_Size ( TOP  top  )  [inline]
INT TSI_Result_Available_Time ( TOP  top,
INT  result_index 
) [inline]

Definition at line 659 of file ti_si.h.

Referenced by TI_LATENCY_Result_Available_Cycle().

INT TSI_Store_Available_Time ( TOP  top  )  [inline]

Definition at line 677 of file ti_si.h.

Referenced by TI_LATENCY_Store_Cycle().

UINT TSI_Valid_Issue_Slot_Count ( TOP  top  )  [inline]

Definition at line 710 of file ti_si.h.

SI_ISSUE_SLOT* TSI_Valid_Issue_Slots ( TOP  top,
UINT  i 
) [inline]

Definition at line 715 of file ti_si.h.

INT TSI_Write_Write_Interlock ( TOP  top  )  [inline]

Definition at line 730 of file ti_si.h.


Variable Documentation

SI* const SI_ID_si[]
SI* const SI_top_si[]