Mercurial > projects > ldc
view ir/irmodule.cpp @ 1482:d9c5f5a43403
Run `semantic3` on imported modules, and emit new symbols with
`available_externally` linkage. This allows the inliner to inline functions from
other modules while telling the code generator to ignore those functions (treat
them as declarations)
Still generates a few extra `TypeInfo`s and strings...
Disabled when generating debug info because I don't really understand it, and it
doesn't like this.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 07 Jun 2009 16:00:13 +0200 |
parents | 1714836f2c0b |
children | ad7f2f1862d6 |
line wrap: on
line source
#include "gen/llvm.h" #include "gen/tollvm.h" #include "gen/irstate.h" #include "ir/irmodule.h" IrModule::IrModule(Module* module, const char* srcfilename) { M = module; LLConstant* slice = DtoConstString(srcfilename); fileName = new llvm::GlobalVariable( slice->getType(), true, LLGlobalValue::InternalLinkage, slice, ".modulefilename", gIR->module); } IrModule::~IrModule() { }