C:/Users/Dennis/src/lang/russell.orig/src/pass5d/codegen.h File Reference

Go to the source code of this file.

Data Structures

struct  RIC_instr

Defines

#define MAXLABELSZ   512
#define MISSING   -2
#define genl(op, l)   genl_RIC(Goutfile,op,l)
#define gen0(op)   gen_RIC(Goutfile,op,SK,SK,SK)
#define gen1(op, a1)   gen_RIC(Goutfile,op,a1,SK,SK)
#define gen2(op, a1, a2)   gen_RIC(Goutfile,op,a1,a2,SK)
#define gen3(op, a1, a2, a3)   gen_RIC(Goutfile,op,a1,a2,a3)
#define ASSERT(a, b)
#define ASSERT2(a, b, c)
#define Gallocate   Vallocate
#define Gnewlabel   Vnewlabel
#define ALLOC_FO(loc)
#define DISPLAY(dest, level)
#define UNDISPLAY(dest)
#define RIC_nil   ((struct RIC_instr *)0)
#define ARG_BIT   0x40000000

Functions

struct RIC_instrcopy_RIC ()
struct RIC_instrunindirect ()
struct RIC_instrcat_RIC ()
struct RIC_instrRIC_inst_args ()
struct RIC_instrRIC_inst_rs ()
char * Gnewlabel ()


Define Documentation

#define ALLOC_FO ( loc   ) 

Value:

{\
         gen2(ALH, C3, loc); \
}

Definition at line 26 of file codegen.h.

#define ARG_BIT   0x40000000

Definition at line 67 of file codegen.h.

Referenced by find_equiv_regs(), get_RIC(), parse_RIC(), RIC_inst_args(), unindirect(), and write_RIC().

#define ASSERT ( a,
 ) 

Definition at line 13 of file codegen.h.

#define ASSERT2 ( a,
b,
 ) 

Definition at line 19 of file codegen.h.

#define DISPLAY ( dest,
level   ) 

Value:

{\
        if (level == 0) { \
            dest = GF; \
        } else if (level == Glevel) { \
            dest = AR; \
        } else { \
            int i = Glevel - level;  /* number of indirections needed */ \
            int source = AR; \
\
            dest = avail_loc++; \
            gen2(DCL, dest, DCL_ADDR); \
            while (i != 0) { \
                gen3(LDI, source, 0, dest); \
                source = dest; \
                i--; \
            } \
        }\
}

Definition at line 30 of file codegen.h.

#define Gallocate   Vallocate

Definition at line 22 of file codegen.h.

#define gen0 ( op   )     gen_RIC(Goutfile,op,SK,SK,SK)

Definition at line 6 of file codegen.h.

#define gen1 ( op,
a1   )     gen_RIC(Goutfile,op,a1,SK,SK)

Definition at line 7 of file codegen.h.

#define gen2 ( op,
a1,
a2   )     gen_RIC(Goutfile,op,a1,a2,SK)

Definition at line 8 of file codegen.h.

#define gen3 ( op,
a1,
a2,
a3   )     gen_RIC(Goutfile,op,a1,a2,a3)

Definition at line 9 of file codegen.h.

#define genl ( op,
 )     genl_RIC(Goutfile,op,l)

Definition at line 5 of file codegen.h.

#define Gnewlabel   Vnewlabel

Definition at line 23 of file codegen.h.

#define MAXLABELSZ   512

Definition at line 1 of file codegen.h.

#define MISSING   -2

Definition at line 2 of file codegen.h.

#define RIC_nil   ((struct RIC_instr *)0)

Definition at line 65 of file codegen.h.

Referenced by add_after(), cat_RIC(), clear_block(), clear_hasht(), copy_RIC(), delete(), eliminate(), find_equiv_regs(), main(), only_indirect_ref(), propagate(), read_instr(), RIC_inst_args(), RIC_inst_rs(), RIC_len(), unindirect(), and write_block().

#define UNDISPLAY ( dest   ) 

Value:

{\
        if (dest != GF && dest != AR) {\
            gen2(UDC, dest, 1);\
        }\
}

Definition at line 49 of file codegen.h.


Function Documentation

struct RIC_instr* cat_RIC (  )  [read]

Referenced by construct_inline().

struct RIC_instr* copy_RIC (  )  [read]

Referenced by copy_RIC(), and unindirect().

char* Gnewlabel (  ) 

struct RIC_instr* RIC_inst_args (  )  [read]

struct RIC_instr* RIC_inst_rs (  )  [read]

struct RIC_instr* unindirect (  )  [read]

Referenced by Gappl().


Generated on Fri Jan 25 10:39:48 2008 for russell by  doxygen 1.5.4