diff options
| author | 2012-05-04 15:03:56 +0800 | |
|---|---|---|
| committer | 2012-05-04 02:04:46 -0700 | |
| commit | b6bed0bedd0dc82df5eb53e00446de7da46e3c85 (patch) | |
| tree | 5c0890f2733715c409959f75b2025e2d8f7bd4ad | |
| parent | 67ae8ff80555a506f68abe3ad17195553725f2ca (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.cc | 6 |
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(); |