diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/AVR/AVRMCInstLower.h')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Target/AVR/AVRMCInstLower.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/AVR/AVRMCInstLower.h b/contrib/llvm-project/llvm/lib/Target/AVR/AVRMCInstLower.h new file mode 100644 index 000000000000..5e0f42ac16a7 --- /dev/null +++ b/contrib/llvm-project/llvm/lib/Target/AVR/AVRMCInstLower.h @@ -0,0 +1,42 @@ +//===-- AVRMCInstLower.h - Lower MachineInstr to MCInst ---------*- C++ -*-===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_AVR_MCINST_LOWER_H +#define LLVM_AVR_MCINST_LOWER_H + +#include "llvm/Support/Compiler.h" + +namespace llvm { + +class AsmPrinter; +class MachineInstr; +class MachineOperand; +class MCContext; +class MCInst; +class MCOperand; +class MCSymbol; + +/// Lowers `MachineInstr` objects into `MCInst` objects. +class AVRMCInstLower { +public: + AVRMCInstLower(MCContext &Ctx, AsmPrinter &Printer) + : Ctx(Ctx), Printer(Printer) {} + + /// Lowers a `MachineInstr` into a `MCInst`. + void lowerInstruction(const MachineInstr &MI, MCInst &OutMI) const; + MCOperand lowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym) const; + +private: + MCContext &Ctx; + AsmPrinter &Printer; +}; + +} // end namespace llvm + +#endif // LLVM_AVR_MCINST_LOWER_H + |
