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