|
7 | 7 | #include "llvm/Support/Alignment.h" |
8 | 8 | #include <lld/Common/Driver.h> |
9 | 9 | #include <llvm/IR/ConstantFolder.h> |
| 10 | +#include <llvm/IR/DerivedTypes.h> |
10 | 11 | #include <llvm/IR/DiagnosticInfo.h> |
11 | 12 | #include <llvm/IR/IRBuilder.h> |
12 | 13 | #include <llvm/Support/ToolOutputFile.h> |
@@ -131,7 +132,10 @@ class BackendConsumer : public ASTConsumer { |
131 | 132 | llvm::BasicBlock *Entry = |
132 | 133 | llvm::BasicBlock::Create(VMContext, "entry", Func); |
133 | 134 | Builder.SetInsertPoint(Entry); |
134 | | - llvm::Value *Result = llvm::UndefValue::get(Module.getTypeByName("bytes")); |
| 135 | + // llvm::Value *Result = |
| 136 | + // llvm::UndefValue::get(Module.getTypeByName("bytes")); |
| 137 | + llvm::Value *Result = llvm::UndefValue::get( |
| 138 | + llvm::StructType::getTypeByName(VMContext, "bytes")); |
135 | 139 | Result = Builder.CreateInsertValue(Result, Builder.getIntN(256, Length), 0); |
136 | 140 | Result = Builder.CreateInsertValue( |
137 | 141 | Result, Builder.CreateBitCast(GV, Builder.getInt8PtrTy()), 1); |
@@ -181,7 +185,7 @@ class BackendConsumer : public ASTConsumer { |
181 | 185 | if (auto Error = removeExports(Wasm->TmpName)) { |
182 | 186 | llvm::consumeError(Wasm->discard()); |
183 | 187 | llvm::consumeError(Object->discard()); |
184 | | - return Error; |
| 188 | + return std::move(Error); |
185 | 189 | } |
186 | 190 |
|
187 | 191 | auto Binary = llvm::MemoryBuffer::getFile(Wasm->TmpName); |
@@ -289,7 +293,7 @@ std::unique_ptr<ASTConsumer> |
289 | 293 | CodeGenAction::CreateASTConsumer(CompilerInstance &CI, llvm::StringRef InFile) { |
290 | 294 | return std::make_unique<BackendConsumer>( |
291 | 295 | Action, CI.getDiagnostics(), CI.getCodeGenOpts(), CI.getTargetOpts(), |
292 | | - InFile, *VMContext, CI.GetOutputStreamFunc()); |
| 296 | + InFile.str(), *VMContext, CI.GetOutputStreamFunc()); |
293 | 297 | } |
294 | 298 |
|
295 | 299 | EmitAssemblyAction::EmitAssemblyAction(llvm::LLVMContext *VMContext) |
|
0 commit comments