Add parsing for the Thumb t_addrmode_s4 addressing mode. This can almost
[oota-llvm.git] / lib / Target / Alpha / Alpha.h
index 04daaffdbb97f40605aa96884951189fae1980d4..2c359dade29b534b37d67139ef6713c5e89a6668 100644 (file)
@@ -1,10 +1,10 @@
-//===-- Alpha.h - Top-level interface for Alpha representation -*- C++ -*-//
-// 
+//===-- Alpha.h - Top-level interface for Alpha representation --*- C++ -*-===//
+//
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
 //===----------------------------------------------------------------------===//
 //
 // This file contains the entry points for global functions defined in the LLVM
 #ifndef TARGET_ALPHA_H
 #define TARGET_ALPHA_H
 
-#include <iosfwd>
+#include "llvm/Target/TargetMachine.h"
 
 namespace llvm {
+  namespace Alpha {
+    // These describe LDAx
 
+    static const int IMM_LOW  = -32768;
+    static const int IMM_HIGH = 32767;
+    static const int IMM_MULT = 65536;
+  }
+
+  class AlphaTargetMachine;
   class FunctionPass;
-  class TargetMachine;
+  class formatted_raw_ostream;
 
-  FunctionPass *createAlphaSimpleInstructionSelector(TargetMachine &TM);
-  FunctionPass *createAlphaCodePrinterPass(std::ostream &OS,
-                                             TargetMachine &TM);
+  FunctionPass *createAlphaISelDag(AlphaTargetMachine &TM);
   FunctionPass *createAlphaPatternInstructionSelector(TargetMachine &TM);
+  FunctionPass *createAlphaJITCodeEmitterPass(AlphaTargetMachine &TM,
+                                              JITCodeEmitter &JCE);
+  FunctionPass *createAlphaLLRPPass(AlphaTargetMachine &tm);
+  FunctionPass *createAlphaBranchSelectionPass();
+
+  extern Target TheAlphaTarget;
 
 } // end namespace llvm;