• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- RISCV.h - Top-level interface for RISCV -----------------*- 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 // This file contains the entry points for global functions defined in the LLVM
11 // RISC-V back-end.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_LIB_TARGET_RISCV_RISCV_H
16 #define LLVM_LIB_TARGET_RISCV_RISCV_H
17 
18 #include "MCTargetDesc/RISCVBaseInfo.h"
19 
20 namespace llvm {
21 class RISCVTargetMachine;
22 class AsmPrinter;
23 class FunctionPass;
24 class MCInst;
25 class MCOperand;
26 class MachineInstr;
27 class MachineOperand;
28 class PassRegistry;
29 
30 void LowerRISCVMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
31                                     const AsmPrinter &AP);
32 bool LowerRISCVMachineOperandToMCOperand(const MachineOperand &MO,
33                                          MCOperand &MCOp, const AsmPrinter &AP);
34 
35 FunctionPass *createRISCVISelDag(RISCVTargetMachine &TM);
36 
37 FunctionPass *createRISCVMergeBaseOffsetOptPass();
38 void initializeRISCVMergeBaseOffsetOptPass(PassRegistry &);
39 }
40 
41 #endif
42