LLVM API Change: the Module always owns the DataLayout

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 243115
This commit is contained in:
Mehdi Amini
2015-07-24 16:04:29 +00:00
parent 26d481311a
commit ca3cf9e6ff
9 changed files with 24 additions and 38 deletions

View File

@@ -30,7 +30,6 @@ using namespace clang;
namespace {
class CodeGeneratorImpl : public CodeGenerator {
DiagnosticsEngine &Diags;
std::unique_ptr<const llvm::DataLayout> TD;
ASTContext *Ctx;
const HeaderSearchOptions &HeaderSearchOpts; // Only used for debug info.
const PreprocessorOptions &PreprocessorOpts; // Only used for debug info.
@@ -100,13 +99,9 @@ namespace {
M->setTargetTriple(Ctx->getTargetInfo().getTriple().getTriple());
M->setDataLayout(Ctx->getTargetInfo().getTargetDescription());
TD.reset(
new llvm::DataLayout(Ctx->getTargetInfo().getTargetDescription()));
Builder.reset(new CodeGen::CodeGenModule(Context,
HeaderSearchOpts,
PreprocessorOpts,
CodeGenOpts, *M, *TD,
Diags, CoverageInfo));
Builder.reset(new CodeGen::CodeGenModule(Context, HeaderSearchOpts,
PreprocessorOpts, CodeGenOpts,
*M, Diags, CoverageInfo));
for (size_t i = 0, e = CodeGenOpts.DependentLibraries.size(); i < e; ++i)
HandleDependentLibrary(CodeGenOpts.DependentLibraries[i]);