#include "WebAssemblyUtilities.h"
#include "WebAssemblyMachineFunctionInfo.h"
#include "WebAssemblyTargetMachine.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/MC/MCContext.h"
usingnamespacellvm;
const char *const WebAssembly::CxaBeginCatchFn = …;
const char *const WebAssembly::CxaRethrowFn = …;
const char *const WebAssembly::StdTerminateFn = …;
const char *const WebAssembly::PersonalityWrapperFn = …;
bool WebAssembly::isChild(const MachineInstr &MI,
const WebAssemblyFunctionInfo &MFI) { … }
bool WebAssembly::mayThrow(const MachineInstr &MI) { … }
const MachineOperand &WebAssembly::getCalleeOp(const MachineInstr &MI) { … }
MCSymbolWasm *WebAssembly::getOrCreateFunctionTableSymbol(
MCContext &Ctx, const WebAssemblySubtarget *Subtarget) { … }
MCSymbolWasm *WebAssembly::getOrCreateFuncrefCallTableSymbol(
MCContext &Ctx, const WebAssemblySubtarget *Subtarget) { … }
MachineInstr *WebAssembly::findCatch(MachineBasicBlock *EHPad) { … }
unsigned WebAssembly::getCopyOpcodeForRegClass(const TargetRegisterClass *RC) { … }
bool WebAssembly::canLowerMultivalueReturn(
const WebAssemblySubtarget *Subtarget) { … }
bool WebAssembly::canLowerReturn(size_t ResultSize,
const WebAssemblySubtarget *Subtarget) { … }