Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
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

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 []

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

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

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.

Definition at line 560 of file ti_si.h.

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

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:

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:

Definition at line 451 of file ti_si.h.

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

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:

Definition at line 412 of file ti_si.h.

References SI_RESOURCE::word_index.

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_ID TSI_Id ( TOP  top) [inline]

Definition at line 647 of file ti_si.h.

References SI::id, and top.

Referenced by TI_RES_RES_Has_TOP().

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

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines