diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-12-17 01:39:00 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-12-17 01:39:00 +0000 |
commit | 05ac43fec33181a589748de29c1877a537e91b3b (patch) | |
tree | bb3e80ca4e0c0900b6224d492db7b847507abb2c /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | ef8b4e22f7911a6e00efe471553107704c21564c (diff) | |
download | llvm-05ac43fec33181a589748de29c1877a537e91b3b.zip llvm-05ac43fec33181a589748de29c1877a537e91b3b.tar.gz llvm-05ac43fec33181a589748de29c1877a537e91b3b.tar.bz2 |
[WebAssembly] Experimental ELF writer support
This creates the initial infrastructure for writing ELF output files. It
doesn't yet have any implementation for encoding instructions.
Differential Revision: http://reviews.llvm.org/D15555
llvm-svn: 255869
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp index c33c21f..38568fc 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp @@ -15,7 +15,6 @@ #include "WebAssembly.h" #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" #include "WebAssemblyTargetMachine.h" -#include "WebAssemblyTargetObjectFile.h" #include "WebAssemblyTargetTransformInfo.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/Passes.h" @@ -49,7 +48,7 @@ WebAssemblyTargetMachine::WebAssemblyTargetMachine( : LLVMTargetMachine(T, TT.isArch64Bit() ? "e-p:64:64-i64:64-n32:64-S128" : "e-p:32:32-i64:64-n32:64-S128", TT, CPU, FS, Options, RM, CM, OL), - TLOF(make_unique<WebAssemblyTargetObjectFile>()) { + TLOF(make_unique<TargetLoweringObjectFileELF>()) { // WebAssembly type-checks expressions, but a noreturn function with a return // type that doesn't match the context will cause a check failure. So we lower // LLVM 'unreachable' to ISD::TRAP and then lower that to WebAssembly's @@ -171,7 +170,7 @@ void WebAssemblyPassConfig::addPreRegAlloc() { addPass(createWebAssemblyRegStackify()); // The register coalescing pass has a bad interaction with COPY MIs which have // EXPR_STACK as an extra operand - //disablePass(&RegisterCoalescerID); + // disablePass(&RegisterCoalescerID); } void WebAssemblyPassConfig::addPostRegAlloc() { @@ -198,7 +197,7 @@ void WebAssemblyPassConfig::addPostRegAlloc() { void WebAssemblyPassConfig::addPreEmitPass() { TargetPassConfig::addPreEmitPass(); - + // Put the CFG in structured form; insert BLOCK and LOOP markers. addPass(createWebAssemblyCFGStackify()); |