AMDGPU: Mark test as XFAIL in expensive_checks builds
[llvm-project.git] / llvm / lib / Target / XCore / XCoreMCInstLower.h
blobefb359cc57e112905ccff686444ebcf23af1bc55
1 //===-- XCoreMCInstLower.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 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIB_TARGET_XCORE_XCOREMCINSTLOWER_H
10 #define LLVM_LIB_TARGET_XCORE_XCOREMCINSTLOWER_H
12 #include "llvm/CodeGen/MachineOperand.h"
13 #include "llvm/Support/Compiler.h"
15 namespace llvm {
16 class MCContext;
17 class MCInst;
18 class MCOperand;
19 class MachineInstr;
20 class AsmPrinter;
22 /// This class is used to lower an MachineInstr into an MCInst.
23 class LLVM_LIBRARY_VISIBILITY XCoreMCInstLower {
24 typedef MachineOperand::MachineOperandType MachineOperandType;
25 MCContext *Ctx;
26 AsmPrinter &Printer;
27 public:
28 XCoreMCInstLower(class AsmPrinter &asmprinter);
29 void Initialize(MCContext *C);
30 void Lower(const MachineInstr *MI, MCInst &OutMI) const;
31 MCOperand LowerOperand(const MachineOperand& MO, unsigned offset = 0) const;
33 private:
34 MCOperand LowerSymbolOperand(const MachineOperand &MO,
35 MachineOperandType MOTy, unsigned Offset) const;
39 #endif