• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //=-- SystemZ.h - Top-level interface for SystemZ 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
11 // the LLVM SystemZ backend.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_TARGET_SystemZ_H
16 #define LLVM_TARGET_SystemZ_H
17 
18 #include "MCTargetDesc/SystemZMCTargetDesc.h"
19 #include "llvm/Target/TargetMachine.h"
20 
21 namespace llvm {
22   class SystemZTargetMachine;
23   class FunctionPass;
24   class formatted_raw_ostream;
25 
26   namespace SystemZCC {
27     // SystemZ specific condition code. These correspond to SYSTEMZ_*_COND in
28     // SystemZInstrInfo.td. They must be kept in synch.
29     enum CondCodes {
30       O   = 0,
31       H   = 1,
32       NLE = 2,
33       L   = 3,
34       NHE = 4,
35       LH  = 5,
36       NE  = 6,
37       E   = 7,
38       NLH = 8,
39       HE  = 9,
40       NL  = 10,
41       LE  = 11,
42       NH  = 12,
43       NO  = 13,
44       INVALID = -1
45     };
46   }
47 
48   FunctionPass *createSystemZISelDag(SystemZTargetMachine &TM,
49                                     CodeGenOpt::Level OptLevel);
50 
51 } // end namespace llvm;
52 #endif
53