Home | History | Annotate | Download | only in SystemZ
      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