From b6bed0bedd0dc82df5eb53e00446de7da46e3c85 Mon Sep 17 00:00:00 2001 From: Logan Chien Date: Fri, 4 May 2012 15:03:56 +0800 Subject: Manage llvm::TargetMachine with smart pointer. We should delete llvm::TargetMachine if we don't have to use it anymore; otherwise we will suffer from the memory leak. Change-Id: I776c3447b7e73531f2c99a3b082dfbeebcd4af22 --- src/compiler_llvm/compilation_unit.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/compiler_llvm/compilation_unit.cc') diff --git a/src/compiler_llvm/compilation_unit.cc b/src/compiler_llvm/compilation_unit.cc index 4e2f16ff2c..e7f77e21ce 100644 --- a/src/compiler_llvm/compilation_unit.cc +++ b/src/compiler_llvm/compilation_unit.cc @@ -327,12 +327,12 @@ bool CompilationUnit::MaterializeToFile(int output_fd, target_options.EnableFastISel = true; // Create the llvm::TargetMachine - llvm::TargetMachine* target_machine = + llvm::OwningPtr target_machine( target->createTargetMachine(target_triple, "", target_attr, target_options, llvm::Reloc::Static, llvm::CodeModel::Small, - llvm::CodeGenOpt::Aggressive); + llvm::CodeGenOpt::Aggressive)); - CHECK(target_machine != NULL) << "Failed to create target machine"; + CHECK(target_machine.get() != NULL) << "Failed to create target machine"; // Add target data llvm::TargetData const* target_data = target_machine->getTargetData(); -- cgit v1.2.3-59-g8ed1b