1349cc55cSDimitry Andric //===-- CSKY.h - Top-level interface for CSKY--------------------*- C++ -*-===//
2349cc55cSDimitry Andric //
3349cc55cSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4349cc55cSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5349cc55cSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6349cc55cSDimitry Andric //
7349cc55cSDimitry Andric //===----------------------------------------------------------------------===//
8349cc55cSDimitry Andric //
9349cc55cSDimitry Andric // This file contains the entry points for global functions defined in the LLVM
10349cc55cSDimitry Andric // CSKY back-end.
11349cc55cSDimitry Andric //
12349cc55cSDimitry Andric //===----------------------------------------------------------------------===//
13349cc55cSDimitry Andric 
14349cc55cSDimitry Andric #ifndef LLVM_LIB_TARGET_CSKY_CSKY_H
15349cc55cSDimitry Andric #define LLVM_LIB_TARGET_CSKY_CSKY_H
16349cc55cSDimitry Andric 
1781ad6265SDimitry Andric #include "llvm/PassRegistry.h"
18349cc55cSDimitry Andric #include "llvm/Target/TargetMachine.h"
19349cc55cSDimitry Andric 
20349cc55cSDimitry Andric namespace llvm {
21349cc55cSDimitry Andric class CSKYTargetMachine;
22349cc55cSDimitry Andric class FunctionPass;
2381ad6265SDimitry Andric class PassRegistry;
24349cc55cSDimitry Andric 
25bdd1243dSDimitry Andric FunctionPass *createCSKYISelDag(CSKYTargetMachine &TM,
26*5f757f3fSDimitry Andric                                 CodeGenOptLevel OptLevel);
2704eeddc0SDimitry Andric FunctionPass *createCSKYConstantIslandPass();
2804eeddc0SDimitry Andric 
2904eeddc0SDimitry Andric void initializeCSKYConstantIslandsPass(PassRegistry &);
30bdd1243dSDimitry Andric void initializeCSKYDAGToDAGISelPass(PassRegistry &);
31349cc55cSDimitry Andric 
32349cc55cSDimitry Andric } // namespace llvm
33349cc55cSDimitry Andric 
34349cc55cSDimitry Andric #endif // LLVM_LIB_TARGET_CSKY_CSKY_H
35