Skip to content

Commit 00be9bf

Browse files
committed
Migrated Wasm.cpp to the new LLVMTargetMachine code emission API.
1 parent 75dd38a commit 00be9bf

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

clang/lib/Interpreter/DeviceOffload.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ llvm::Expected<llvm::StringRef> IncrementalCUDADeviceParser::GeneratePTX() {
8383
return llvm::make_error<llvm::StringError>(std::move(Error),
8484
std::error_code());
8585
llvm::TargetOptions TO = llvm::TargetOptions();
86-
llvm::LLVMTargetMachine *TargetMachine =
86+
auto *TargetMachine =
8787
static_cast<llvm::LLVMTargetMachine *>(Target->createTargetMachine(
8888
PTU.TheModule->getTargetTriple(), TargetOpts.CPU, "", TO,
8989
llvm::Reloc::Model::PIC_));

clang/lib/Interpreter/Wasm.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "Wasm.h"
1414
#include "IncrementalExecutor.h"
1515

16+
#include <llvm/CodeGen/MachineModuleInfo.h>
1617
#include <llvm/IR/LegacyPassManager.h>
1718
#include <llvm/IR/Module.h>
1819
#include <llvm/MC/TargetRegistry.h>
@@ -48,16 +49,18 @@ llvm::Error WasmIncrementalExecutor::addModule(PartialTranslationUnit &PTU) {
4849
}
4950

5051
llvm::TargetOptions TO = llvm::TargetOptions();
51-
llvm::TargetMachine *TargetMachine = Target->createTargetMachine(
52-
PTU.TheModule->getTargetTriple(), "", "", TO, llvm::Reloc::Model::PIC_);
52+
auto *TargetMachine = static_cast<llvm::LLVMTargetMachine *>(
53+
Target->createTargetMachine(PTU.TheModule->getTargetTriple(), "", "", TO,
54+
llvm::Reloc::Model::PIC_));
5355
PTU.TheModule->setDataLayout(TargetMachine->createDataLayout());
5456
std::string OutputFileName = PTU.TheModule->getName().str() + ".wasm";
5557

5658
std::error_code Error;
5759
llvm::raw_fd_ostream OutputFile(llvm::StringRef(OutputFileName), Error);
5860

5961
llvm::legacy::PassManager PM;
60-
if (TargetMachine->addPassesToEmitFile(PM, OutputFile, nullptr,
62+
llvm::MachineModuleInfo MMI(TargetMachine);
63+
if (TargetMachine->addPassesToEmitFile(PM, MMI, OutputFile, nullptr,
6164
llvm::CodeGenFileType::ObjectFile)) {
6265
return llvm::make_error<llvm::StringError>(
6366
"Wasm backend cannot produce object.", llvm::inconvertibleErrorCode());

0 commit comments

Comments
 (0)