1 //===-- RISCV.h - Top-level interface for RISCV -----------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the entry points for global functions defined in the LLVM
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_LIB_TARGET_RISCV_RISCV_H
16 #define LLVM_LIB_TARGET_RISCV_RISCV_H
18 #include "Utils/RISCVBaseInfo.h"
19 #include "llvm/Target/TargetMachine.h"
22 class RISCVTargetMachine;
31 void LowerRISCVMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
32 const AsmPrinter &AP);
33 bool LowerRISCVMachineOperandToMCOperand(const MachineOperand &MO,
34 MCOperand &MCOp, const AsmPrinter &AP);
36 FunctionPass *createRISCVISelDag(RISCVTargetMachine &TM);
38 FunctionPass *createRISCVMergeBaseOffsetOptPass();
39 void initializeRISCVMergeBaseOffsetOptPass(PassRegistry &);
41 FunctionPass *createRISCVExpandPseudoPass();
42 void initializeRISCVExpandPseudoPass(PassRegistry &);