Skip to content

Commit c136663

Browse files
fix a memory leak
1 parent 3d81ed8 commit c136663

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

llvm/lib/Target/SPIRV/SPIRVAPI.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,8 @@ SPIRVTranslateModule(Module *M, std::string &SpirvObj, std::string &ErrMsg,
134134
TargetOptions Options;
135135
std::optional<Reloc::Model> RM;
136136
std::optional<CodeModel::Model> CM;
137-
std::unique_ptr<TargetMachine> Target =
138-
std::unique_ptr<TargetMachine>(TheTarget->createTargetMachine(
139-
TargetTriple.getTriple(), "", "", Options, RM, CM, OLevel));
137+
std::unique_ptr<TargetMachine> Target(TheTarget->createTargetMachine(
138+
TargetTriple.getTriple(), "", "", Options, RM, CM, OLevel));
140139
if (!Target) {
141140
ErrMsg = "Could not allocate target machine!";
142141
return false;
@@ -158,10 +157,10 @@ SPIRVTranslateModule(Module *M, std::string &SpirvObj, std::string &ErrMsg,
158157
TargetLibraryInfoImpl TLII(Triple(M->getTargetTriple()));
159158
legacy::PassManager PM;
160159
PM.add(new TargetLibraryInfoWrapperPass(TLII));
161-
MachineModuleInfoWrapperPass *MMIWP =
162-
new MachineModuleInfoWrapperPass(Target.get());
160+
std::unique_ptr<MachineModuleInfoWrapperPass> MMIWP(
161+
new MachineModuleInfoWrapperPass(Target.get()));
163162
const_cast<TargetLoweringObjectFile *>(Target->getObjFileLowering())
164-
->Initialize(MMIWP->getMMI().getContext(), *Target);
163+
->Initialize(MMIWP.get()->getMMI().getContext(), *Target);
165164

166165
SmallString<4096> OutBuffer;
167166
raw_svector_ostream OutStream(OutBuffer);

0 commit comments

Comments
 (0)