diff options
author | Chris Lattner <sabre@nondot.org> | 2003-12-28 09:48:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-12-28 09:48:17 +0000 |
commit | cd824d7678785379a4a11fd7e3099cc44b37db41 (patch) | |
tree | 24599fcaa9f87206d142cd476f8eddf7a60addd6 /include | |
parent | 4482715f3d1c165be82bd5aed07231f956e472ef (diff) | |
download | external_llvm-cd824d7678785379a4a11fd7e3099cc44b37db41.zip external_llvm-cd824d7678785379a4a11fd7e3099cc44b37db41.tar.gz external_llvm-cd824d7678785379a4a11fd7e3099cc44b37db41.tar.bz2 |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/ExecutionEngine/ExecutionEngine.h | 7 | ||||
-rw-r--r-- | include/llvm/Target/TargetMachineImpls.h | 34 |
2 files changed, 24 insertions, 17 deletions
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h index c376ef7..cf01008 100644 --- a/include/llvm/ExecutionEngine/ExecutionEngine.h +++ b/include/llvm/ExecutionEngine/ExecutionEngine.h @@ -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. diff --git a/include/llvm/Target/TargetMachineImpls.h b/include/llvm/Target/TargetMachineImpls.h index 3ca20c7..6ed4152 100644 --- a/include/llvm/Target/TargetMachineImpls.h +++ b/include/llvm/Target/TargetMachineImpls.h @@ -17,21 +17,25 @@ namespace llvm { -class TargetMachine; -class Module; - -// 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); - + class TargetMachine; + class Module; + class IntrinsicLowering; + + // 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, + 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); } // End llvm namespace #endif |