9504aec2bd
and epilogues. mcgg now exports some useful data as headers. Start factoring out some of the architecture-specific bits into an architecture-specific file.
27 lines
472 B
C
27 lines
472 B
C
#ifndef PROCEDURE_H
|
|
#define PROCEDURE_H
|
|
|
|
struct local
|
|
{
|
|
int size;
|
|
int offset;
|
|
bool is_register;
|
|
};
|
|
|
|
struct procedure
|
|
{
|
|
const char* name;
|
|
struct basicblock* entry;
|
|
struct basicblock* exit;
|
|
size_t nlocals;
|
|
ARRAYOF(struct basicblock) blocks;
|
|
IMAPOF(struct local) locals;
|
|
};
|
|
|
|
extern void procedure_compile(struct procedure* proc);
|
|
extern void procedure_update_bb_graph(struct procedure* proc);
|
|
|
|
#endif
|
|
|
|
/* vim: set sw=4 ts=4 expandtab : */
|