Added missing new files.

This commit is contained in:
Tomas Lindquist Olsen
2009-03-27 23:24:47 +01:00
parent be3bfbff5d
commit 06a29342d3
3 changed files with 55 additions and 0 deletions

34
ir/ir.cpp Normal file
View File

@@ -0,0 +1,34 @@
#include "llvm/Target/TargetData.h"
#include "gen/irstate.h"
#include "gen/tollvm.h"
#include "gen/functions.h"
#include "ir/ir.h"
#include "ir/irfunction.h"
unsigned GetTypeAlignment(Ir* ir, Type* t)
{
return gTargetData->getABITypeAlignment(DtoType(t));
}
Ir::Ir()
: irs(NULL)
{
}
void Ir::addFunctionBody(IrFunction * f)
{
functionbodies.push_back(f);
}
void Ir::emitFunctionBodies()
{
while (!functionbodies.empty())
{
IrFunction* irf = functionbodies.front();
functionbodies.pop_front();
DtoDefineFunction(irf->decl);
}
}

1
ir/irsymbol.cpp Normal file
View File

@@ -0,0 +1 @@
#include "ir/irsymbol.h"

20
ir/irsymbol.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef __LDC_IR_IRSYMBOL_H__
#define __LDC_IR_IRSYMBOL_H__
#include "ir/ir.h"
/// Base class for all symbols.
struct IrSymbol
{
///
IrSymbol(Ir* ir) : ir(ir) {}
/// Migrate symbols to current module if necessary.
virtual void migrate() = 0;
protected:
///
Ir* ir;
};
#endif