ef1944b439ac1acbf958e56c51c2b2569b9f16eb
[picodrive.git] / cpu / sh2 / compiler.h
1 int  sh2_drc_init(SH2 *sh2);
2 void sh2_drc_finish(SH2 *sh2);
3 void sh2_drc_wcheck_ram(unsigned int a, int val, int cpuid);
4 void sh2_drc_wcheck_da(unsigned int a, int val, int cpuid);
5
6 #ifdef DRC_SH2
7 void sh2_drc_mem_setup(SH2 *sh2);
8 void sh2_drc_flush_all(void);
9 void sh2_drc_frame(void);
10 #else
11 #define sh2_drc_mem_setup(x)
12 #define sh2_drc_flush_all()
13 #define sh2_drc_frame()
14 #endif
15
16 #define BLOCK_INSN_LIMIT 128
17
18 /* op_flags */
19 #define OF_DELAY_OP   (1 << 0)
20 #define OF_BTARGET    (1 << 1)
21 #define OF_T_SET      (1 << 2) // T is known to be set
22 #define OF_T_CLEAR    (1 << 3) // ... clear
23
24 void scan_block(unsigned int base_pc, int is_slave,
25                 unsigned char *op_flags, unsigned int *end_pc,
26                 unsigned int *end_literals);