LLVM  15.0.0git
CSKYMCInstLower.h
Go to the documentation of this file.
1 //===-- CSKYMCInstLower.cpp - Convert CSKY MachineInstr to an MCInst --------=//
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_LIB_TARGET_CSKY_CSKYMCINSTLOWER_H
10 #define LLVM_LIB_TARGET_CSKY_CSKYMCINSTLOWER_H
11 
12 namespace llvm {
13 class AsmPrinter;
14 class MCContext;
15 class MachineInstr;
16 class MCInst;
17 class MachineOperand;
18 class MCOperand;
19 class MCSymbol;
20 
22  MCContext &Ctx;
23  AsmPrinter &Printer;
24 
25 public:
27 
28  void Lower(const MachineInstr *MI, MCInst &OutMI) const;
29  bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp) const;
30  MCOperand lowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym) const;
31 };
32 
33 } // namespace llvm
34 
35 #endif // LLVM_LIB_TARGET_CSKY_CSKYMCINSTLOWER_H
llvm::CSKYMCInstLower::CSKYMCInstLower
CSKYMCInstLower(MCContext &Ctx, AsmPrinter &Printer)
Definition: CSKYMCInstLower.cpp:24
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::CSKYMCInstLower::lowerSymbolOperand
MCOperand lowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym) const
Definition: CSKYMCInstLower.cpp:37
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::CSKYMCInstLower::lowerOperand
bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp) const
Definition: CSKYMCInstLower.cpp:76
llvm::MachineOperand
MachineOperand class - Representation of each machine instruction operand.
Definition: MachineOperand.h:48
llvm::CSKYMCInstLower::Lower
void Lower(const MachineInstr *MI, MCInst &OutMI) const
Definition: CSKYMCInstLower.cpp:27
llvm::MachineInstr
Representation of each machine instruction.
Definition: MachineInstr.h:66
llvm::CSKYMCInstLower
Definition: CSKYMCInstLower.h:21
llvm::AsmPrinter
This class is intended to be used as a driving class for all asm writers.
Definition: AsmPrinter.h:81
llvm::MCOperand
Instances of this class represent operands of the MCInst class.
Definition: MCInst.h:36
llvm::ISD::MCSymbol
@ MCSymbol
Definition: ISDOpcodes.h:172