11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)//===-- XCore.h - Top-level interface for XCore representation --*- C++ -*-===// 21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// 31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// The LLVM Compiler Infrastructure 41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// 51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source 61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// License. See LICENSE.TXT for details. 71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// 81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)//===----------------------------------------------------------------------===// 91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// 10a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// This file contains the entry points for global functions defined in the LLVM 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// XCore back-end. 121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// 131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)//===----------------------------------------------------------------------===// 141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#ifndef TARGET_XCORE_H 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#define TARGET_XCORE_H 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "MCTargetDesc/XCoreMCTargetDesc.h" 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "llvm/Target/TargetMachine.h" 201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace llvm { 221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) class FunctionPass; 231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) class ModulePass; 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) class TargetMachine; 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) class XCoreTargetMachine; 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) class formatted_raw_ostream; 271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) void initializeXCoreLowerThreadLocalPass(PassRegistry &p); 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 301e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 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