2002-10-29 20:51:29 +00:00
|
|
|
//===-- llvm/Target/TargetMachineImpls.h - Target Descriptions --*- C++ -*-===//
|
2001-09-14 03:37:52 +00:00
|
|
|
//
|
2002-10-29 20:51:29 +00:00
|
|
|
// This file defines the entry point to getting access to the various target
|
|
|
|
// machine implementations available to LLVM.
|
2001-09-14 03:37:52 +00:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
2001-07-21 12:39:03 +00:00
|
|
|
|
2002-10-29 20:51:29 +00:00
|
|
|
#ifndef LLVM_TARGET_TARGETMACHINEIMPLS_H
|
|
|
|
#define LLVM_TARGET_TARGETMACHINEIMPLS_H
|
2001-07-21 12:39:03 +00:00
|
|
|
|
2002-12-24 00:02:17 +00:00
|
|
|
namespace TM {
|
|
|
|
enum {
|
|
|
|
PtrSizeMask = 1,
|
|
|
|
PtrSize32 = 0,
|
|
|
|
PtrSize64 = 1,
|
|
|
|
|
|
|
|
EndianMask = 2,
|
|
|
|
LittleEndian = 0,
|
|
|
|
BigEndian = 2,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2001-09-14 04:32:38 +00:00
|
|
|
class TargetMachine;
|
2001-07-28 04:26:42 +00:00
|
|
|
|
2001-09-14 04:32:38 +00:00
|
|
|
// allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
|
|
|
|
// that implements the Sparc backend.
|
|
|
|
//
|
2003-05-27 21:46:07 +00:00
|
|
|
TargetMachine *allocateSparcTargetMachine(unsigned Configuration =
|
|
|
|
TM::PtrSize64|TM::BigEndian);
|
2001-08-28 23:10:41 +00:00
|
|
|
|
2002-10-29 20:51:29 +00:00
|
|
|
// allocateX86TargetMachine - Allocate and return a subclass of TargetMachine
|
2002-12-24 00:02:17 +00:00
|
|
|
// that implements the X86 backend. The X86 target machine can run in
|
|
|
|
// "emulation" mode, where it is capable of emulating machines of larger pointer
|
|
|
|
// size and different endianness if desired.
|
2002-10-29 20:51:29 +00:00
|
|
|
//
|
2002-12-24 00:02:17 +00:00
|
|
|
TargetMachine *allocateX86TargetMachine(unsigned Configuration =
|
2003-05-27 21:46:07 +00:00
|
|
|
TM::PtrSize32|TM::LittleEndian);
|
2002-10-29 20:51:29 +00:00
|
|
|
|
2001-07-21 12:39:03 +00:00
|
|
|
#endif
|