Prune unused #include
[oota-llvm.git] / include / llvm / Target / TargetMachineImpls.h
index 3ca20c74e9915c1b16f9dd6eb8e3e3dec618f606..e70c9b72fe1fd6d884fcbdc2e7e776dcb9b63d50 100644 (file)
 #define LLVM_TARGET_TARGETMACHINEIMPLS_H
 
 namespace llvm {
+  /// Command line options shared between TargetMachine implementations - 
+  /// these should go in their own header eventually.
+  ///
+  extern bool PrintMachineCode;
+  extern bool NoFramePointerElim;
 
-class TargetMachine;
-class Module;
+  class TargetMachine;
+  class Module;
+  class IntrinsicLowering;
+  
+  // allocateCTargetMachine - Allocate and return a subclass of TargetMachine
+  // that implements emits C code.  This takes ownership of the
+  // IntrinsicLowering pointer, deleting it when the target machine is
+  // destroyed.
+  //
+  TargetMachine *allocateCTargetMachine(const Module &M,
+                                        IntrinsicLowering *IL = 0);
 
-// allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
-// that implements the Sparc backend.
-//
-TargetMachine *allocateSparcTargetMachine(const Module &M);
-
-// allocateX86TargetMachine - Allocate and return a subclass of TargetMachine
-// 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.
-//
-TargetMachine *allocateX86TargetMachine(const Module &M);
+  // allocateSparcV9TargetMachine - Allocate and return a subclass of
+  // TargetMachine that implements the 64-bit Sparc backend.  This takes
+  // ownership of the IntrinsicLowering pointer, deleting it when the target
+  // machine is destroyed.
+  //
+  TargetMachine *allocateSparcV9TargetMachine(const Module &M,
+                                            IntrinsicLowering *IL = 0);
+  
+  // allocateX86TargetMachine - Allocate and return a subclass of TargetMachine
+  // that implements the X86 backend.  This takes ownership of the
+  // IntrinsicLowering pointer, deleting it when the target machine is
+  // destroyed.
+  //
+  TargetMachine *allocateX86TargetMachine(const Module &M,
+                                          IntrinsicLowering *IL = 0);
 
+  // allocatePowerPCTargetMachine - Allocate and return a subclass
+  // of TargetMachine that implements the PowerPC backend.  This takes
+  // ownership of the IntrinsicLowering pointer, deleting it when
+  // the target machine is destroyed.
+  //
+  TargetMachine *allocatePowerPCTargetMachine(const Module &M,
+                                              IntrinsicLowering *IL = 0);
 } // End llvm namespace
 
 #endif