OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_52/] [or1ksim/] [cuc/] [cuc.h] - Diff between revs 1244 and 1308

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 1244 Rev 1308
Line 20... Line 20...
#ifndef __DATAF_H__
#ifndef __DATAF_H__
#define __DATAF_H__
#define __DATAF_H__
 
 
/* Maximum number of instructions per function */
/* Maximum number of instructions per function */
#define MAX_INSNS       0x10000
#define MAX_INSNS       0x10000
#define MAX_OPERANDS    4
 
#define MAX_BB          0x1000
#define MAX_BB          0x1000
#define MAX_REGS        34
#define MAX_REGS        34
#define FLAG_REG        (MAX_REGS - 2)
#define FLAG_REG        (MAX_REGS - 2)
#define LRBB_REG        (MAX_REGS - 1)
#define LRBB_REG        (MAX_REGS - 1)
#define MAX_STACK       0x1000 /* if more, not converted */
#define CUC_MAX_STACK   0x1000 /* if more, not converted */
#define MAX_PREROLL     32
#define MAX_PREROLL     32
#define MAX_UNROLL      32
#define MAX_UNROLL      32
 
 
#define IT_BRANCH       0x0001  /* Branch instruction */
#define IT_BRANCH       0x0001  /* Branch instruction */
#define IT_INDELAY      0x0002  /* Instruction is in delay slot */
#define IT_INDELAY      0x0002  /* Instruction is in delay slot */
Line 304... Line 303...
void detect_max_values (cuc_func *f);
void detect_max_values (cuc_func *f);
 
 
/* Inserts n nops before insn 'ref' */
/* Inserts n nops before insn 'ref' */
void insert_insns (cuc_func *f, int ref, int n);
void insert_insns (cuc_func *f, int ref, int n);
 
 
 
/* Checks for some anomalies with references */
 
void cuc_check(cuc_func *f);
 
 
 
/* Adds memory dependencies based on ordering type */
 
void add_memory_dep(cuc_func *f, int otype);
 
 
 
/* Prints out instructions */
 
void print_cuc_insns(char *s, int verbose);
 
 
 
/* Build basic blocks */
 
void build_bb(cuc_func *f);
 
 
 
/* Latch outputs in loops */
 
void add_latches(cuc_func *f);
 
 
 
void generate_main(int nfuncs, cuc_func **f, char *filename);
 
 
 
void add_dep(dep_list **list, int dep);
 
 
 
void dispose_list(dep_list **list);
 
 
 
void main_cuc(char *filename);
 
 
 
void add_data_dep(cuc_func *f);
#endif /* __DATAF_H__ */
#endif /* __DATAF_H__ */
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.