no really, I can spell!
[oota-llvm.git] / include / llvm / CodeGen / MachineFunction.h
index 469ae026f01621df4dbe9b619d8bc703ee445f21..ea6a384d2287243b3f93fda831d8ad36abd233bc 100644 (file)
@@ -19,7 +19,7 @@
 #define LLVM_CODEGEN_MACHINEFUNCTION_H
 
 #include "llvm/ADT/ilist.h"
-#include "llvm/CodeGen/DebugLoc.h"
+#include "llvm/Support/DebugLoc.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/Support/Annotation.h"
 #include "llvm/Support/Allocator.h"
@@ -70,10 +70,6 @@ class MachineFunction : private Annotation {
   const Function *Fn;
   const TargetMachine &Target;
 
-  // HasBuiltinSetjmp - true if the function uses builtin_setjmp. Used to
-  // adjust callee-saved register tracking.
-  bool HasBuiltinSetjmp;
-
   // RegInfo - Information about each register in use in the function.
   MachineRegisterInfo *RegInfo;
 
@@ -115,6 +111,9 @@ class MachineFunction : private Annotation {
   // Tracks debug locations.
   DebugLocTracker DebugLocInfo;
 
+  // The alignment of the function.
+  unsigned Alignment;
+
 public:
   MachineFunction(const Function *Fn, const TargetMachine &TM);
   ~MachineFunction();
@@ -127,14 +126,6 @@ public:
   ///
   const TargetMachine &getTarget() const { return Target; }
 
-  /// doesHaveBuiltinSetjmp - Return whether this function uses builtin_setjmp
-  ///
-  bool doesHaveBuiltinSetjmp() const { return HasBuiltinSetjmp; }
-
-  /// setHasBuiltinSetjmp - Mark whether this function uses builtin_setjmp
-  ///
-  void setHasBuiltinSetjmp (bool flag) { HasBuiltinSetjmp = flag; }
-
   /// getRegInfo - Return information about the registers currently in use.
   ///
   MachineRegisterInfo &getRegInfo() { return *RegInfo; }
@@ -160,6 +151,14 @@ public:
   MachineConstantPool *getConstantPool() { return ConstantPool; }
   const MachineConstantPool *getConstantPool() const { return ConstantPool; }
 
+  /// getAlignment - Return the alignment (log2, not bytes) of the function.
+  ///
+  unsigned getAlignment() const { return Alignment; }
+
+  /// setAlignment - Set the alignment (log2, not bytes) of the function.
+  ///
+  void setAlignment(unsigned A) { Alignment = A; }
+
   /// MachineFunctionInfo - Keep track of various per-function pieces of
   /// information for backends that would like to do so.
   ///
@@ -357,6 +356,9 @@ public:
   /// setDefaultDebugLoc - Get the default debug location for the machine
   /// function.
   void setDefaultDebugLoc(DebugLoc DL) { DefaultDebugLoc = DL; }
+
+  /// getDebugLocInfo - Get the debug info location tracker.
+  DebugLocTracker &getDebugLocInfo() { return DebugLocInfo; }
 };
 
 //===--------------------------------------------------------------------===//