diff options
| author | Dan Gohman <dan433584@gmail.com> | 2015-11-23 16:50:18 +0000 |
|---|---|---|
| committer | Dan Gohman <dan433584@gmail.com> | 2015-11-23 16:50:18 +0000 |
| commit | 53828fd77797c8a9920619e19b5f4ad5cc779946 (patch) | |
| tree | 4061406a202c67971f0cd133009ca96034b14921 /llvm/lib/Target/WebAssembly/MCTargetDesc | |
| parent | 1ca881c4bbbe32213e435c050255b02764ea2004 (diff) | |
| download | bcm5719-llvm-53828fd77797c8a9920619e19b5f4ad5cc779946.tar.gz bcm5719-llvm-53828fd77797c8a9920619e19b5f4ad5cc779946.zip | |
[WebAssembly] Emit .param, .result, and .local through MC.
This eliminates one of the main remaining uses of EmitRawText.
llvm-svn: 253878
Diffstat (limited to 'llvm/lib/Target/WebAssembly/MCTargetDesc')
3 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt index ccc0f0d7ccb..dbfa72553cc 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt @@ -1,4 +1,5 @@ add_llvm_library(LLVMWebAssemblyDesc WebAssemblyMCAsmInfo.cpp + WebAssemblyMCCodeEmitter.cpp WebAssemblyMCTargetDesc.cpp ) diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp index fcd4c293f63..4d92f94ac6a 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp @@ -65,5 +65,8 @@ extern "C" void LLVMInitializeWebAssemblyTargetMC() { // Register the MCInstPrinter. TargetRegistry::RegisterMCInstPrinter(*T, createWebAssemblyMCInstPrinter); + + // Register the MC code emitter + TargetRegistry::RegisterMCCodeEmitter(*T, createWebAssemblyMCCodeEmitter); } } diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h index bb788dce03c..6ef01ffade4 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h @@ -34,13 +34,18 @@ class StringRef; class Target; class Triple; class raw_ostream; +class raw_pwrite_stream; extern Target TheWebAssemblyTarget32; extern Target TheWebAssemblyTarget64; +MCCodeEmitter *createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII, + const MCRegisterInfo &MRI, + MCContext &Ctx); + MCAsmBackend *createWebAssemblyAsmBackend(const Target &T, const MCRegisterInfo &MRI, - StringRef TT, StringRef CPU); + const Triple &TT, StringRef CPU); } // end namespace llvm |

