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