#ifndef QBE_H #define QBE_H #include "call.h" #include "cgen.h" #include "from.h" #include "print.h" #include "set.h" #include "storage.h" #include const char *cgen_sz(const size_t sz); const char *cgen_tmp(const size_t sz); const char *cgen_tmp2(struct cgen *c); const char *cgen_type(const struct type *t); const char *cgen_abity(const struct type *t); const char *cgen_load(const struct type *t); int qbe_print(const struct print *m, struct cgen *c, const char *f); void cgen_printvar(const struct fn *fn, const struct stentry *e); int qbe_call(const struct call *m, struct cgen *c); int qbe_set(const struct set *m, struct cgen *c); int qbe_gl(const struct storage *gl, struct cgen *c); int qbe_ws(const struct storage *s, struct cgen *c); int qbe_from(const struct from *fn, struct cgen *c); int qbe_fn(const struct fn *fn, struct cgen *c); void qbe_free(struct cgen_prv *p); #endif