ack/mach/proto/mcg/procedure.h
David Given 9504aec2bd Function termination gets routed through an exit block; we now have prologues
and epilogues. mcgg now exports some useful data as headers. Start factoring
out some of the architecture-specific bits into an architecture-specific file.
2016-10-15 18:38:46 +02:00

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 : */