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 21 namespace 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