Targets should configure themselves based on the module, not some wierd flags
[oota-llvm.git] / include / llvm / Target / TargetMachineImpls.h
1 //===-- llvm/Target/TargetMachineImpls.h - Target Descriptions --*- C++ -*-===//
2 //
3 // This file defines the entry point to getting access to the various target
4 // machine implementations available to LLVM.
5 //
6 //===----------------------------------------------------------------------===//
7
8 #ifndef LLVM_TARGET_TARGETMACHINEIMPLS_H
9 #define LLVM_TARGET_TARGETMACHINEIMPLS_H
10
11 class TargetMachine;
12 class Module;
13
14 // allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
15 // that implements the Sparc backend.
16 //
17 TargetMachine *allocateSparcTargetMachine(const Module &M);
18
19 // allocateX86TargetMachine - Allocate and return a subclass of TargetMachine
20 // that implements the X86 backend.  The X86 target machine can run in
21 // "emulation" mode, where it is capable of emulating machines of larger pointer
22 // size and different endianness if desired.
23 //
24 TargetMachine *allocateX86TargetMachine(const Module &M);
25
26 #endif