We may now pass IntrinsicLowering implementations into these methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10630 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-12-28 09:48:17 +00:00
parent 4482715f3d
commit cd824d7678
2 changed files with 24 additions and 17 deletions

View File

@ -30,6 +30,7 @@ class Module;
class ModuleProvider;
class TargetData;
class Type;
class IntrinsicLowering;
class ExecutionEngine {
Module &CurMod;
@ -54,8 +55,10 @@ public:
const TargetData &getTargetData() const { return *TD; }
/// create - This is the factory method for creating an execution engine which
/// is appropriate for the current machine.
static ExecutionEngine *create(ModuleProvider *MP, bool ForceInterpreter);
/// is appropriate for the current machine. If specified, the
/// IntrinsicLowering implementation should be allocated on the heap.
static ExecutionEngine *create(ModuleProvider *MP, bool ForceInterpreter,
IntrinsicLowering *IL = 0);
/// runFunction - Execute the specified function with the specified arguments,
/// and return the result.

View File

@ -19,19 +19,23 @@ namespace llvm {
class TargetMachine;
class Module;
class IntrinsicLowering;
// allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
// that implements the Sparc backend.
// allocateSparcTargetMachine - Allocate and return a subclass of
// TargetMachine that implements the Sparc backend. This takes ownership of
// the IntrinsicLowering pointer, deleting it when the target machine is
// destroyed.
//
TargetMachine *allocateSparcTargetMachine(const Module &M);
TargetMachine *allocateSparcTargetMachine(const Module &M,
IntrinsicLowering *IL = 0);
// 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.
// 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);
TargetMachine *allocateX86TargetMachine(const Module &M,
IntrinsicLowering *IL = 0);
} // End llvm namespace
#endif