diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-12-15 02:20:44 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-12-15 02:20:44 +0000 |
commit | dcba338188e4b427356eea5fcad566332bb47e41 (patch) | |
tree | 54050c0bef391ce63e1901019a46b8c86509ccbf /llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | |
parent | 65f0a71f40d2525d9d0c306b528209d21c8dd19e (diff) | |
download | bcm5719-llvm-dcba338188e4b427356eea5fcad566332bb47e41.tar.gz bcm5719-llvm-dcba338188e4b427356eea5fcad566332bb47e41.zip |
[WebAssembly] Remove .import printing.
For now, LLVM doesn't know about wasm module imports, so it shouldn't
emit .import directives.
llvm-svn: 255602
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp index fc2928079d2..c1403fb0c9e 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp @@ -71,7 +71,6 @@ private: void EmitConstantPool() override; void EmitFunctionBodyStart() override; void EmitInstruction(const MachineInstr *MI) override; - void EmitEndOfAsmFile(Module &M) override; bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &OS) override; @@ -213,63 +212,6 @@ void WebAssemblyAsmPrinter::EmitInstruction(const MachineInstr *MI) { } } -void WebAssemblyAsmPrinter::EmitEndOfAsmFile(Module &M) { - const DataLayout &DL = M.getDataLayout(); - - SmallString<128> Str; - raw_svector_ostream OS(Str); - for (const Function &F : M) - if (F.isDeclarationForLinker()) { - assert(F.hasName() && "imported functions must have a name"); - if (F.isIntrinsic()) - continue; - if (Str.empty()) - OS << "\t.imports\n"; - - MCSymbol *Sym = OutStreamer->getContext().getOrCreateSymbol(F.getName()); - OS << "\t.import " << *Sym << " \"\" " << *Sym; - - const WebAssemblyTargetLowering &TLI = - *TM.getSubtarget<WebAssemblySubtarget>(F).getTargetLowering(); - - // If we need to legalize the return type, it'll get converted into - // passing a pointer. - bool SawParam = false; - SmallVector<MVT, 4> ResultVTs; - ComputeLegalValueVTs(F, TM, F.getReturnType(), ResultVTs); - if (ResultVTs.size() > 1) { - ResultVTs.clear(); - OS << " (param " << toString(TLI.getPointerTy(DL)); - SawParam = true; - } - - for (const Argument &A : F.args()) { - SmallVector<MVT, 4> ParamVTs; - ComputeLegalValueVTs(F, TM, A.getType(), ParamVTs); - for (MVT VT : ParamVTs) { - if (!SawParam) { - OS << " (param"; - SawParam = true; - } - OS << ' ' << toString(VT); - } - } - if (SawParam) - OS << ')'; - - for (MVT VT : ResultVTs) - OS << " (result " << toString(VT) << ')'; - - OS << '\n'; - } - - StringRef Text = OS.str(); - if (!Text.empty()) - OutStreamer->EmitRawText(Text.substr(0, Text.size() - 1)); - - AsmPrinter::EmitEndOfAsmFile(M); -} - bool WebAssemblyAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, |