Mercurial > projects > ldc
view ir/ir.cpp @ 1364:46f6365a50d7
Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P
Added -v-cg switch, which right now just prints "codegen: module.name (module/name.d)" to stdout, this can really help figuring out where, in some complex build command, things go wrong.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 18:19:52 +0200 |
parents | 2a687353c84d |
children |
line wrap: on
line source
#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); } }