LLVM 22.0.0git
|
This file contains a printer that converts from our internal representation of machine-dependent LLVM code to the WebAssembly assembly language. More...
#include "WebAssemblyAsmPrinter.h"
#include "MCTargetDesc/WebAssemblyMCAsmInfo.h"
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
#include "MCTargetDesc/WebAssemblyTargetStreamer.h"
#include "TargetInfo/WebAssemblyTargetInfo.h"
#include "Utils/WebAssemblyTypeUtilities.h"
#include "WebAssembly.h"
#include "WebAssemblyMCInstLower.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "WebAssemblyRegisterInfo.h"
#include "WebAssemblyRuntimeLibcallSignatures.h"
#include "WebAssemblyTargetMachine.h"
#include "WebAssemblyUtilities.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/CodeGen/Analysis.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSectionWasm.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCSymbolWasm.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "asm-printer" |
Functions | |
static bool | isEmscriptenInvokeName (StringRef Name) |
static char | getInvokeSig (wasm::ValType VT) |
static std::string | getEmscriptenInvokeSymbolName (wasm::WasmSignature *Sig) |
INITIALIZE_PASS (WebAssemblyAsmPrinter, "webassembly-asm-printer", "WebAssembly Assmebly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyAsmPrinter() |
Variables | |
cl::opt< bool > | WasmKeepRegisters |
This file contains a printer that converts from our internal representation of machine-dependent LLVM code to the WebAssembly assembly language.
Definition in file WebAssemblyAsmPrinter.cpp.
#define DEBUG_TYPE "asm-printer" |
Definition at line 56 of file WebAssemblyAsmPrinter.cpp.
|
static |
Definition at line 140 of file WebAssemblyAsmPrinter.cpp.
References assert(), E(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), getInvokeSig(), I, llvm::wasm::WasmSignature::Params, llvm::wasm::WasmSignature::Returns, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::WebAssemblyAsmPrinter::getMCSymbolForFunction().
|
static |
Definition at line 115 of file WebAssemblyAsmPrinter.cpp.
References llvm::wasm::EXNREF, llvm::wasm::EXTERNREF, llvm::wasm::F32, llvm::wasm::F64, llvm::wasm::FUNCREF, llvm::wasm::I32, llvm::wasm::I64, llvm_unreachable, and llvm::wasm::V128.
Referenced by getEmscriptenInvokeSymbolName().
INITIALIZE_PASS | ( | WebAssemblyAsmPrinter | , |
"webassembly-asm-printer" | , | ||
"WebAssembly Assmebly Printer" | , | ||
false | , | ||
false | ) |
Definition at line 750 of file WebAssemblyAsmPrinter.cpp.
References llvm::getTheWebAssemblyTarget32(), llvm::getTheWebAssemblyTarget64(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, X, and Y.
Definition at line 107 of file WebAssemblyAsmPrinter.cpp.
Referenced by llvm::WebAssemblyAsmPrinter::getMCSymbolForFunction().
Referenced by llvm::WebAssemblyMCInstLower::lower().