LLVM
8.0.1
lib
Target
ARC
ARCMCInstLower.h
Go to the documentation of this file.
1
//===- ARCMCInstLower.h - Lower MachineInstr to MCInst ----------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_LIB_TARGET_ARC_ARCMCINSTLOWER_H
11
#define LLVM_LIB_TARGET_ARC_ARCMCINSTLOWER_H
12
13
#include "
llvm/CodeGen/MachineOperand.h
"
14
#include "
llvm/Support/Compiler.h
"
15
16
namespace
llvm
{
17
18
class
MCContext;
19
class
MCInst;
20
class
MCOperand;
21
class
MachineInstr;
22
class
MachineFunction;
23
class
Mangler;
24
class
AsmPrinter;
25
26
/// This class is used to lower an MachineInstr into an MCInst.
27
class
LLVM_LIBRARY_VISIBILITY
ARCMCInstLower
{
28
using
MachineOperandType
=
MachineOperand::MachineOperandType
;
29
MCContext
*Ctx;
30
AsmPrinter
&
Printer
;
31
32
public
:
33
ARCMCInstLower
(
MCContext
*
C
,
AsmPrinter
&asmprinter);
34
void
Lower(
const
MachineInstr
*
MI
,
MCInst
&OutMI)
const
;
35
MCOperand
LowerOperand
(
const
MachineOperand
&MO,
unsigned
offset = 0)
const
;
36
37
private
:
38
MCOperand
LowerSymbolOperand
(
const
MachineOperand
&MO,
39
MachineOperandType MOTy,
unsigned
Offset
)
const
;
40
};
41
42
}
// end namespace llvm
43
44
#endif // LLVM_LIB_TARGET_ARC_ARCMCINSTLOWER_H
C
uint64_t CallInst * C
Definition:
NVVMIntrRange.cpp:67
MachineOperand.h
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::ARCMCInstLower
This class is used to lower an MachineInstr into an MCInst.
Definition:
ARCMCInstLower.h:27
Printer
print alias Alias Set Printer
Definition:
AliasSetTracker.cpp:740
LowerOperand
static MCOperand LowerOperand(const MachineInstr *MI, const MachineOperand &MO, AsmPrinter &AP)
Definition:
SparcMCInstLower.cpp:68
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:63
llvm::MachineOperand::MachineOperandType
MachineOperandType
Definition:
MachineOperand.h:51
llvm::MCInst
Instances of this class represent a single low-level machine instruction.
Definition:
MCInst.h:161
llvm::AsmPrinter
This class is intended to be used as a driving class for all asm writers.
Definition:
AsmPrinter.h:79
llvm::AMDGPU::Hwreg::Offset
Offset
Definition:
SIDefines.h:296
LowerSymbolOperand
static MCOperand LowerSymbolOperand(const MachineInstr *MI, const MachineOperand &MO, AsmPrinter &AP)
Definition:
SparcMCInstLower.cpp:30
llvm::MachineOperand
MachineOperand class - Representation of each machine instruction operand.
Definition:
MachineOperand.h:49
Compiler.h
llvm::MachineInstr
Representation of each machine instruction.
Definition:
MachineInstr.h:64
LLVM_LIBRARY_VISIBILITY
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library...
Definition:
Compiler.h:108
MI
IRTranslator LLVM IR MI
Definition:
IRTranslator.cpp:89
llvm::MCOperand
Instances of this class represent operands of the MCInst class.
Definition:
MCInst.h:35
Generated on Sun Dec 20 2020 13:56:23 for LLVM by
1.8.13