summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Logan Chien <loganchien@google.com> 2012-05-04 15:03:56 +0800
committer Shih-wei Liao <sliao@google.com> 2012-05-04 02:04:46 -0700
commitb6bed0bedd0dc82df5eb53e00446de7da46e3c85 (patch)
tree5c0890f2733715c409959f75b2025e2d8f7bd4ad
parent67ae8ff80555a506f68abe3ad17195553725f2ca (diff)
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
-rw-r--r--src/compiler_llvm/compilation_unit.cc6
1 files changed, 3 insertions, 3 deletions
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<llvm::TargetMachine> 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();