1 //===-- Alpha.h - Top-level interface for Alpha 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 // Alpha back-end. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef TARGET_ALPHA_H 16 #define TARGET_ALPHA_H 17 18 #include "MCTargetDesc/AlphaMCTargetDesc.h" 19 #include "llvm/Target/TargetMachine.h" 20 21 namespace llvm { 22 namespace Alpha { 23 // These describe LDAx 24 25 static const int IMM_LOW = -32768; 26 static const int IMM_HIGH = 32767; 27 static const int IMM_MULT = 65536; 28 } 29 30 class AlphaTargetMachine; 31 class FunctionPass; 32 class formatted_raw_ostream; 33 34 FunctionPass *createAlphaISelDag(AlphaTargetMachine &TM); 35 FunctionPass *createAlphaPatternInstructionSelector(TargetMachine &TM); 36 FunctionPass *createAlphaJITCodeEmitterPass(AlphaTargetMachine &TM, 37 JITCodeEmitter &JCE); 38 FunctionPass *createAlphaLLRPPass(AlphaTargetMachine &tm); 39 FunctionPass *createAlphaBranchSelectionPass(); 40 41 } // end namespace llvm; 42 43 #endif 44