mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-11 18:33:14 +01:00
36 lines
512 B
C++
36 lines
512 B
C++
// this head contains stuff used by all the IR
|
|
|
|
#ifndef LDC_IR_IR_H
|
|
#define LDC_IR_IR_H
|
|
|
|
#include <deque>
|
|
|
|
#include "ir/irforw.h"
|
|
#include "root.h"
|
|
|
|
struct IRState;
|
|
struct IrFunction;
|
|
|
|
struct IrBase : Object
|
|
{
|
|
virtual ~IrBase() {}
|
|
};
|
|
|
|
struct Ir
|
|
{
|
|
Ir();
|
|
|
|
void setState(IRState* p) { irs = p; }
|
|
IRState* getState() { return irs; }
|
|
|
|
void addFunctionBody(IrFunction* f);
|
|
void emitFunctionBodies();
|
|
|
|
private:
|
|
IRState* irs;
|
|
|
|
std::deque<IrFunction*> functionbodies;
|
|
};
|
|
|
|
#endif
|