LLVM
15.0.0git
lib
Target
AVR
AVRMCInstLower.h
Go to the documentation of this file.
1
//===-- AVRMCInstLower.h - Lower MachineInstr to MCInst ---------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_AVR_MCINST_LOWER_H
10
#define LLVM_AVR_MCINST_LOWER_H
11
12
#include "
llvm/Support/Compiler.h
"
13
14
namespace
llvm
{
15
16
class
AsmPrinter;
17
class
MachineInstr;
18
class
MachineOperand;
19
class
MCContext;
20
class
MCInst;
21
class
MCOperand;
22
class
MCSymbol
;
23
24
/// Lowers `MachineInstr` objects into `MCInst` objects.
25
class
AVRMCInstLower
{
26
public
:
27
AVRMCInstLower
(
MCContext
&Ctx,
AsmPrinter
&Printer)
28
: Ctx(Ctx),
Printer
(
Printer
) {}
29
30
/// Lowers a `MachineInstr` into a `MCInst`.
31
void
lowerInstruction
(
const
MachineInstr
&
MI
,
MCInst
&OutMI)
const
;
32
MCOperand
lowerSymbolOperand
(
const
MachineOperand
&MO,
MCSymbol
*Sym)
const
;
33
34
private
:
35
MCContext
&Ctx;
36
AsmPrinter
&Printer;
37
};
38
39
}
// end namespace llvm
40
41
#endif // LLVM_AVR_MCINST_LOWER_H
MI
IRTranslator LLVM IR MI
Definition:
IRTranslator.cpp:104
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition:
MCSymbol.h:41
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:74
llvm::AVRMCInstLower::lowerSymbolOperand
MCOperand lowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym) const
Definition:
AVRMCInstLower.cpp:26
llvm::MCInst
Instances of this class represent a single low-level machine instruction.
Definition:
MCInst.h:184
Printer
print alias Alias Set Printer
Definition:
AliasSetTracker.cpp:758
llvm::AVRMCInstLower
Lowers MachineInstr objects into MCInst objects.
Definition:
AVRMCInstLower.h:25
llvm::MachineOperand
MachineOperand class - Representation of each machine instruction operand.
Definition:
MachineOperand.h:48
llvm::MachineInstr
Representation of each machine instruction.
Definition:
MachineInstr.h:66
Compiler.h
llvm::AsmPrinter
This class is intended to be used as a driving class for all asm writers.
Definition:
AsmPrinter.h:81
llvm::AVRMCInstLower::AVRMCInstLower
AVRMCInstLower(MCContext &Ctx, AsmPrinter &Printer)
Definition:
AVRMCInstLower.h:27
llvm::MCOperand
Instances of this class represent operands of the MCInst class.
Definition:
MCInst.h:36
llvm::AVRMCInstLower::lowerInstruction
void lowerInstruction(const MachineInstr &MI, MCInst &OutMI) const
Lowers a MachineInstr into a MCInst.
Definition:
AVRMCInstLower.cpp:64
llvm::ISD::MCSymbol
@ MCSymbol
Definition:
ISDOpcodes.h:172
Generated on Tue May 24 2022 23:17:06 for LLVM by
1.8.17