llvm/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp

//===-- WebAssemblyUtilities.cpp - WebAssembly Utility Functions ----------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
/// \file
/// This file implements several utility functions for WebAssembly.
///
//===----------------------------------------------------------------------===//

#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;

// Function names in libc++abi and libunwind
const char *const WebAssembly::CxaBeginCatchFn =;
const char *const WebAssembly::CxaRethrowFn =;
const char *const WebAssembly::StdTerminateFn =;
const char *const WebAssembly::PersonalityWrapperFn =;

/// Test whether MI is a child of some other node in an expression tree.
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) {}

// Find a catch instruction from an EH pad.
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) {}