aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ExecutionEngine/JIT/TargetSelect.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2009-07-18 00:42:18 +0000
committerReid Kleckner <reid@kleckner.net>2009-07-18 00:42:18 +0000
commit4b1511b027ce0b648b3379f2891816c25b46f515 (patch)
treecefcab8368bdccbb9f270209acf14cc77f572fa8 /lib/ExecutionEngine/JIT/TargetSelect.cpp
parent016de81177ec5c950f1668be4a48992bc1ee0d75 (diff)
downloadexternal_llvm-4b1511b027ce0b648b3379f2891816c25b46f515.zip
external_llvm-4b1511b027ce0b648b3379f2891816c25b46f515.tar.gz
external_llvm-4b1511b027ce0b648b3379f2891816c25b46f515.tar.bz2
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
Also a test commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76276 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT/TargetSelect.cpp')
-rw-r--r--lib/ExecutionEngine/JIT/TargetSelect.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/lib/ExecutionEngine/JIT/TargetSelect.cpp b/lib/ExecutionEngine/JIT/TargetSelect.cpp
index 598b867..2b80e7e 100644
--- a/lib/ExecutionEngine/JIT/TargetSelect.cpp
+++ b/lib/ExecutionEngine/JIT/TargetSelect.cpp
@@ -38,13 +38,9 @@ MAttrs("mattr",
cl::desc("Target specific attributes (-mattr=help for details)"),
cl::value_desc("a1,+a2,-a3,..."));
-/// createInternal - Create an return a new JIT compiler if there is one
-/// available for the current target. Otherwise, return null.
-///
-ExecutionEngine *JIT::createJIT(ModuleProvider *MP, std::string *ErrorStr,
- JITMemoryManager *JMM,
- CodeGenOpt::Level OptLevel,
- bool AllocateGVsWithCode) {
+/// selectTarget - Pick a target either via -march or by guessing the native
+/// arch. Add any CPU features specified via -mcpu or -mattr.
+TargetMachine *JIT::selectTarget(ModuleProvider *MP, std::string *ErrorStr) {
const Target *TheTarget = 0;
if (MArch.empty()) {
std::string Error;
@@ -90,12 +86,5 @@ ExecutionEngine *JIT::createJIT(ModuleProvider *MP, std::string *ErrorStr,
TargetMachine *Target =
TheTarget->createTargetMachine(*MP->getModule(), FeaturesStr);
assert(Target && "Could not allocate target machine!");
-
- // If the target supports JIT code generation, return a new JIT now.
- if (TargetJITInfo *TJ = Target->getJITInfo())
- return new JIT(MP, *Target, *TJ, JMM, OptLevel, AllocateGVsWithCode);
-
- if (ErrorStr)
- *ErrorStr = "target does not support JIT code generation";
- return 0;
+ return Target;
}