You've already forked linux-packaging-mono
Imported Upstream version 6.0.0.172
Former-commit-id: f3cc9b82f3e5bd8f0fd3ebc098f789556b44e9cd
This commit is contained in:
parent
8016999e4d
commit
64ac736ec5
46
external/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h
vendored
Normal file
46
external/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
//===-- WebAssemblyMCInstLower.h - Lower MachineInstr to MCInst -*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
///
|
||||
/// \file
|
||||
/// \brief This file declares the class to lower WebAssembly MachineInstrs to
|
||||
/// their corresponding MCInst records.
|
||||
///
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYMCINSTLOWER_H
|
||||
#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYMCINSTLOWER_H
|
||||
|
||||
#include "llvm/MC/MCInst.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
namespace llvm {
|
||||
class WebAssemblyAsmPrinter;
|
||||
class MCContext;
|
||||
class MCSymbol;
|
||||
class MachineInstr;
|
||||
class MachineOperand;
|
||||
|
||||
/// This class is used to lower an MachineInstr into an MCInst.
|
||||
class LLVM_LIBRARY_VISIBILITY WebAssemblyMCInstLower {
|
||||
MCContext &Ctx;
|
||||
WebAssemblyAsmPrinter &Printer;
|
||||
|
||||
MCSymbol *GetGlobalAddressSymbol(const MachineOperand &MO) const;
|
||||
MCSymbol *GetExternalSymbolSymbol(const MachineOperand &MO) const;
|
||||
MCOperand LowerSymbolOperand(MCSymbol *Sym, int64_t Offset,
|
||||
bool IsFunc) const;
|
||||
|
||||
public:
|
||||
WebAssemblyMCInstLower(MCContext &ctx, WebAssemblyAsmPrinter &printer)
|
||||
: Ctx(ctx), Printer(printer) {}
|
||||
void Lower(const MachineInstr *MI, MCInst &OutMI) const;
|
||||
};
|
||||
} // end namespace llvm
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user