• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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