osprey/be/cg/cg_swp.h File Reference

#include <stdio.h>
#include "defs.h"
#include <vector>
#include <map>
#include "mempool.h"
#include "tn.h"
#include "tn_set.h"
#include "op.h"
#include "bb.h"

Include dependency graph for cg_swp.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  SWP_REG_ASSIGNMENT
type  SWP_OP
module  SWP_OP_vector
module  MinDist
module  DEP_GRAPH_MANAGER

Defines

#define cg_swp_INCLUDED   "cg_swp.h"
#define SWP_DEBUG   0
#define SWP_USE_STL   0
#define SWP_OPS_OVERHEAD   2
#define SWP_OPS_LIMIT   130

Enumerations

enum  SWP_RETURN_CODE {
  SWP_OK, SWP_PREP_ONLY, SWP_ASM, SWP_WORKAROUND,
  SWP_DEDICATED_ROT_REG, SWP_LOOP_EMPTY, SWP_LOOP_LIMIT, REG_ALLOC_FAILED,
  NON_ROT_REG_ALLOC_FAILED, MOD_SCHED_FAILED, REG_ALLOC_SUCCEEDED, MOD_SCHED_SUCCEEDED,
  SWP_LOW_TRIP_COUNT
}
enum  SCHED_DIRECTION { SWP_UNKOWN, SWP_TOP_DOWN, SWP_BOTTOM_UP }

Functions/Subroutines

bool operator< (CLASS_REG_PAIR x, CLASS_REG_PAIR y)
bool operator== (CLASS_REG_PAIR x, CLASS_REG_PAIR y)
INT SWP_index (OP *op)
SWP_RETURN_CODE Modulo_Schedule (SWP_OP_vector &v, INT min_ii, INT max_ii, double incr_alpha, double incr_beta, INT budget, bool trace, bool trace_details)
void SWP_Emit (SWP_OP_vector &op_state, SWP_REG_ASSIGNMENT &reg_assign, TN *trip_count_tn, BB *head, BB *body, BB *tail, bool is_doloop, bool trace)
void Emit_SWP_Note (BB *bb, FILE *file)

Variables

INTswp_map_tbl


Define Documentation

#define cg_swp_INCLUDED   "cg_swp.h"

Definition at line 51 of file cg_swp.h.

#define SWP_DEBUG   0

Definition at line 69 of file cg_swp.h.

#define SWP_OPS_LIMIT   130

#define SWP_OPS_OVERHEAD   2

#define SWP_USE_STL   0

Definition at line 70 of file cg_swp.h.


Enumeration Type Documentation

Enumerator:
SWP_UNKOWN 
SWP_TOP_DOWN 
SWP_BOTTOM_UP 

Definition at line 273 of file cg_swp.h.

Enumerator:
SWP_OK 
SWP_PREP_ONLY 
SWP_ASM 
SWP_WORKAROUND 
SWP_DEDICATED_ROT_REG 
SWP_LOOP_EMPTY 
SWP_LOOP_LIMIT 
REG_ALLOC_FAILED 
NON_ROT_REG_ALLOC_FAILED 
MOD_SCHED_FAILED 
REG_ALLOC_SUCCEEDED 
MOD_SCHED_SUCCEEDED 
SWP_LOW_TRIP_COUNT 

Definition at line 257 of file cg_swp.h.


Function Documentation

void Emit_SWP_Note ( BB bb,
FILE file 
)

Definition at line 622 of file cg_swp.cxx.

SWP_RETURN_CODE Modulo_Schedule ( SWP_OP_vector v,
INT  min_ii,
INT  max_ii,
double  incr_alpha,
double  incr_beta,
INT  budget,
bool  trace,
bool  trace_details 
)

bool operator< ( CLASS_REG_PAIR  x,
CLASS_REG_PAIR  y 
) [inline]

Definition at line 155 of file cg_swp.h.

References CLASS_REG_PAIR_class_n_reg.

bool operator== ( CLASS_REG_PAIR  x,
CLASS_REG_PAIR  y 
) [inline]

Definition at line 159 of file cg_swp.h.

References memcmp.

void SWP_Emit ( SWP_OP_vector op_state,
SWP_REG_ASSIGNMENT reg_assign,
TN trip_count_tn,
BB head,
BB body,
BB tail,
bool  is_doloop,
bool  trace 
)

Definition at line 726 of file cg_swp_emit.cxx.

References ANNOT_ROTATING_KERNEL, BB_Add_Annotation(), BB_Append_Ops(), BB_rid, bzero(), CG_LOOP_Backpatch_Trace(), SWP_OPTIONS::Enable_BRP, FALSE, FOR_ALL_BB_OPs, FOR_ALL_ISA_REGISTER_CLASS(), Gen_SWP_Branch_Predict(), i, SWP_OP_vector::ii, info, INT, INT32, SWP_OP_vector::loop_one_more_time, MEM_pu_pool_ptr, SWP_OP_vector::min_ii, SWP_OP_vector::min_sl, New_Region_Id(), NULL, OP_code, OP_glue, OP_opnd, OP_opnds, OP_result, OP_results, OPS_EMPTY, Print_BB(), r, rc, SWP_OP_vector::rec_min_ii, REGION_BOUND_UNKNOWN, REGION_NO_RETURN, REGISTER_CLASS_allocatable, REGISTER_First_Rotating_Registers(), REGISTER_Last_Rotating_Registers(), REGISTER_MAX, REGISTER_SET_Difference_Range(), REGISTER_SET_MemberP(), REGISTER_UNDEFINED, SWP_OP_vector::res_min_ii, RID_Add_kid(), RID_bounds_exist, RID_cginfo, RID_Create(), RID_has_reg_alloc_Set, RID_has_return, RID_is_glue_code, RID_level, RID_num_exits, RID_parent, RID_type, RID_TYPE_swp, RL_CG, ROTATING_KERNEL_INFO_copyin, ROTATING_KERNEL_INFO_copyout, ROTATING_KERNEL_INFO_ii, ROTATING_KERNEL_INFO_localdef, ROTATING_KERNEL_INFO_min_ii, ROTATING_KERNEL_INFO_min_sched_len, ROTATING_KERNEL_INFO_rec_min_ii, ROTATING_KERNEL_INFO_res_counts, ROTATING_KERNEL_INFO_res_min_ii, ROTATING_KERNEL_INFO_sched_len, ROTATING_KERNEL_INFO_stage_count, ROTATING_KERNEL_INFO_succeeded, SWP_OP_vector::sc, Set_BB_mod_pred_rotating_registers, Set_BB_mod_rotating_registers, Set_BB_reg_alloc, Set_BB_scheduled, SWP_OP_vector::size(), SWP_OP_vector::sl, SWP_Loop_Init_Fini(), SWP_Options, SWP_Rename_TNs(), SWP_Reorder_OPs(), TI_RES_COUNT_Add_Op_Resources(), TI_RES_COUNT_Alloc(), TN_is_const_reg(), TN_register, TN_register_class, TRUE, TYPE_PU_ALLOC, and SWP_REG_ASSIGNMENT::Update_Annotation().

Referenced by Perform_SWP().

INT SWP_index ( OP op  )  [inline]


Variable Documentation

Definition at line 141 of file cg_swp.cxx.

Referenced by SWP_index(), and SWP_OP_vector::SWP_OP_vector().


Generated on Wed Apr 8 14:25:35 2009 for Open64 by  doxygen 1.5.6