1//===-- XCore.h - Top-level interface for XCore representation --*- 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// XCore back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef TARGET_XCORE_H
16#define TARGET_XCORE_H
17
18#include "MCTargetDesc/XCoreMCTargetDesc.h"
19#include "llvm/Target/TargetMachine.h"
20
21namespace llvm {
22  class FunctionPass;
23  class ModulePass;
24  class TargetMachine;
25  class XCoreTargetMachine;
26  class formatted_raw_ostream;
27
28  void initializeXCoreLowerThreadLocalPass(PassRegistry &p);
29
30  FunctionPass *createXCoreFrameToArgsOffsetEliminationPass();
31  FunctionPass *createXCoreISelDag(XCoreTargetMachine &TM,
32                                   CodeGenOpt::Level OptLevel);
33  ModulePass *createXCoreLowerThreadLocalPass();
34
35  ImmutablePass *createXCoreTargetTransformInfoPass(const XCoreTargetMachine *TM);
36
37} // end namespace llvm;
38
39#endif
40