mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 06:30:39 +00:00
7df8462038
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76064 91177308-0d34-0410-b5e6-96231b3b80d8
63 lines
1.7 KiB
C++
63 lines
1.7 KiB
C++
//=-- SystemZ.h - Top-level interface for SystemZ representation -*- C++ -*-==//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// 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 SystemZ backend.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_TARGET_SystemZ_H
|
|
#define LLVM_TARGET_SystemZ_H
|
|
|
|
#include "llvm/Target/TargetMachine.h"
|
|
|
|
namespace llvm {
|
|
class SystemZTargetMachine;
|
|
class FunctionPass;
|
|
class formatted_raw_ostream;
|
|
|
|
namespace SystemZCC {
|
|
// SystemZ specific condition code. These correspond to SYSTEMZ_*_COND in
|
|
// SystemZInstrInfo.td. They must be kept in synch.
|
|
enum CondCodes {
|
|
O = 0,
|
|
H = 1,
|
|
NLE = 2,
|
|
L = 3,
|
|
NHE = 4,
|
|
LH = 5,
|
|
NE = 6,
|
|
E = 7,
|
|
NLH = 8,
|
|
HE = 9,
|
|
NL = 10,
|
|
LE = 11,
|
|
NH = 12,
|
|
NO = 13,
|
|
INVALID = -1
|
|
};
|
|
}
|
|
|
|
FunctionPass *createSystemZISelDag(SystemZTargetMachine &TM,
|
|
CodeGenOpt::Level OptLevel);
|
|
FunctionPass *createSystemZCodePrinterPass(formatted_raw_ostream &o,
|
|
TargetMachine &tm,
|
|
bool verbose);
|
|
|
|
} // end namespace llvm;
|
|
|
|
// Defines symbolic names for SystemZ registers.
|
|
// This defines a mapping from register name to register number.
|
|
#include "SystemZGenRegisterNames.inc"
|
|
|
|
// Defines symbolic names for the SystemZ instructions.
|
|
#include "SystemZGenInstrNames.inc"
|
|
|
|
#endif
|