Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
ti_res_res.c File Reference
#include <alloca.h>
#include <limits.h>
#include "defs.h"
#include "erglob.h"
#include "mempool.h"
#include "bitset.h"
#include "ti_si.h"
#include "ti_res_res.h"
Include dependency graph for ti_res_res.c:

Go to the source code of this file.

Classes

struct  ti_res_res

Defines

#define TI_RES_RES_pool(t)   ((t)->pool)
#define TI_RES_RES_rrtab(t)   ((t)->rrtab)
#define TI_RES_RES_length(t)   ((t)->length)
#define TI_RES_RES_alloc_size(t)   ((t)->alloc_size)
#define TI_RES_RES_cyclic(t)   ((t)->cyclic)
#define TI_RES_RES_si_ids(t)   ((t)->si_ids)
#define TI_RES_RES_min_rr_length(t)   ((t)->min_rr_length)
#define TI_RES_RES_uncommon_res_ids(t)   ((t)->uncommon_res_ids)
#define TI_RES_RES_bad_iis(t)   ((t)->bad_iis)

Functions

static INT32 Cycle_Mod_II (INT32 cyc, INT32 ii)
void TI_RES_RES_Has_TOP (TI_RES_RES *res, TOP opcode)
static void Check_Reserve_Loop_Control (TI_RES_RES *res, TOP opcode, INT cycle, SI_RR *rr, INT *length1, INT *length2, INT *cycle_mod_ii)
void TI_RES_RES_Set_BB_Cycle_Count (TI_RES_RES *res, INT length)
TI_RES_RESTI_RES_RES_Alloc (BOOL cyclic, MEM_POOL *pool)
BOOL TI_RES_RES_Resources_Available (TI_RES_RES *res, TOP opcode, INT cycle)
void TI_RES_RES_Reserve_Resources (TI_RES_RES *res, TOP opcode, INT cycle)
void TI_RES_RES_Unreserve_Resources (TI_RES_RES *res, TOP opcode, INT cycle)
BOOL TI_RES_RES_Is_Bad_II (TI_RES_RES *res, INT ii)
BOOL TI_RES_RES_Resources_Relevant (TI_RES_RES *res, TOP opcode1, TOP opcode2, INT offset)
BOOL TI_RES_RES_Resources_Equivalent (TI_RES_RES *res, TOP opcode1, TOP opcode2)
BOOL TI_RES_RES_Resources_Grainy (TI_RES_RES *res, TOP opcode)
INT TI_RES_RES_Resources_Length (TI_RES_RES *res, TOP opcode)
void TI_RES_RES_Print (FILE *fp, TI_RES_RES *res)
BOOL TI_RES_RES_Equal (TI_RES_RES *res1, TI_RES_RES *res2)

Variables

static const char source_file [] = __FILE__

Define Documentation

#define TI_RES_RES_alloc_size (   t)    ((t)->alloc_size)

Definition at line 79 of file ti_res_res.c.

Referenced by TI_RES_RES_Alloc(), and TI_RES_RES_Set_BB_Cycle_Count().

#define TI_RES_RES_bad_iis (   t)    ((t)->bad_iis)

Definition at line 84 of file ti_res_res.c.

Referenced by TI_RES_RES_Alloc(), TI_RES_RES_Has_TOP(), and TI_RES_RES_Is_Bad_II().

#define TI_RES_RES_cyclic (   t)    ((t)->cyclic)
#define TI_RES_RES_min_rr_length (   t)    ((t)->min_rr_length)
#define TI_RES_RES_pool (   t)    ((t)->pool)
#define TI_RES_RES_si_ids (   t)    ((t)->si_ids)
#define TI_RES_RES_uncommon_res_ids (   t)    ((t)->uncommon_res_ids)

Function Documentation

static void Check_Reserve_Loop_Control ( TI_RES_RES res,
TOP  opcode,
INT  cycle,
SI_RR rr,
INT length1,
INT length2,
INT cycle_mod_ii 
) [static]
static INT32 Cycle_Mod_II ( INT32  cyc,
INT32  ii 
) [static]

Definition at line 101 of file ti_res_res.c.

Referenced by Check_Reserve_Loop_Control(), and TI_RES_RES_Resources_Relevant().

BOOL TI_RES_RES_Equal ( TI_RES_RES res1,
TI_RES_RES res2 
)

Definition at line 595 of file ti_res_res.c.

References FALSE, TI_RES_RES_length, TI_RES_RES_rrtab, and TRUE.

BOOL TI_RES_RES_Is_Bad_II ( TI_RES_RES res,
INT  ii 
)

Definition at line 423 of file ti_res_res.c.

References SI_BAD_II_SET_MemberP(), and TI_RES_RES_bad_iis.

Here is the call graph for this function:

void TI_RES_RES_Print ( FILE *  fp,
TI_RES_RES res 
)

Definition at line 587 of file ti_res_res.c.

References fprintf(), TI_RES_RES_length, and TI_RES_RES_rrtab.

Here is the call graph for this function:

void TI_RES_RES_Reserve_Resources ( TI_RES_RES res,
TOP  opcode,
INT  cycle 
)

Definition at line 353 of file ti_res_res.c.

References Check_Reserve_Loop_Control(), SI_RR_Cycle_RRW(), SI_RRW_Reserve(), and TI_RES_RES_rrtab.

Here is the call graph for this function:

BOOL TI_RES_RES_Resources_Available ( TI_RES_RES res,
TOP  opcode,
INT  cycle 
)

Definition at line 314 of file ti_res_res.c.

References Check_Reserve_Loop_Control(), FALSE, SI_RR_Cycle_RRW(), SI_RRW_Has_Overuse(), SI_RRW_Reserve(), TI_RES_RES_rrtab, and TRUE.

Here is the call graph for this function:

BOOL TI_RES_RES_Resources_Equivalent ( TI_RES_RES res,
TOP  opcode1,
TOP  opcode2 
)

Definition at line 518 of file ti_res_res.c.

References FALSE, SI_RR_Cycle_RRW(), SI_RR_Length(), TI_RES_RES_length, TRUE, and TSI_II_Resource_Requirement().

Here is the call graph for this function:

INT TI_RES_RES_Resources_Length ( TI_RES_RES res,
TOP  opcode 
)

Definition at line 578 of file ti_res_res.c.

References SI_RR_Length(), and TSI_Resource_Requirement().

Here is the call graph for this function:

void TI_RES_RES_Unreserve_Resources ( TI_RES_RES res,
TOP  opcode,
INT  cycle 
)

Definition at line 388 of file ti_res_res.c.

References Check_Reserve_Loop_Control(), SI_RR_Cycle_RRW(), SI_RRW_Unreserve(), and TI_RES_RES_rrtab.

Here is the call graph for this function:


Variable Documentation

const char source_file[] = __FILE__ [static]

Definition at line 36 of file ti_res_res.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines