//===-- llvm/CodeGen/MachineFunction.h --------------------------*- C++ -*-===//
//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
// Collect native machine code for a function. This class contains a list of
// MachineBasicBlock instances that make up the current compiled function.
//
#include "Support/Annotation.h"
#include "Support/ilist"
+namespace llvm {
+
class Function;
class TargetMachine;
-class FunctionPass;
class SSARegMap;
class MachineFunctionInfo;
class MachineFrameInfo;
class MachineConstantPool;
-FunctionPass *createMachineCodeConstructionPass(TargetMachine &TM);
-FunctionPass *createMachineCodeDestructionPass();
-FunctionPass *createMachineFunctionPrinterPass();
-
class MachineFunction : private Annotation {
const Function *Fn;
const TargetMachine &Target;
// get() -- Returns a handle to the object.
// This should not be called before "construct()"
// for a given Method.
- // destruct() -- Destroy the MachineFunction object
//
static MachineFunction& construct(const Function *F, const TargetMachine &TM);
static void destruct(const Function *F);
MachineBasicBlock & back() { return BasicBlocks.back(); }
};
+} // End llvm namespace
+
#endif