mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-26 14:16:12 +00:00
Use Doug's new LLVM_NATIVE_ARCH macro in config.h to link in the native
target so that the JIT works in LLI, not just the interpreter. llvm-svn: 73595
This commit is contained in:
parent
473789f75a
commit
90f1ab8c92
@ -28,6 +28,7 @@
|
||||
#include "llvm/Support/PrettyStackTrace.h"
|
||||
#include "llvm/System/Process.h"
|
||||
#include "llvm/System/Signals.h"
|
||||
#include "llvm/Config/config.h"
|
||||
#include <iostream>
|
||||
#include <cerrno>
|
||||
using namespace llvm;
|
||||
@ -84,6 +85,16 @@ static void do_shutdown() {
|
||||
llvm_shutdown();
|
||||
}
|
||||
|
||||
#ifdef LLVM_NATIVE_ARCH
|
||||
namespace llvm {
|
||||
#define Declare2(TARG, MOD) void Initialize ## TARG ## MOD()
|
||||
#define Declare(T, M) Declare2(T, M)
|
||||
Declare(LLVM_NATIVE_ARCH, Target);
|
||||
#undef Declare
|
||||
#undef Declare2
|
||||
}
|
||||
#endif
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// main Driver function
|
||||
//
|
||||
@ -137,6 +148,16 @@ int main(int argc, char **argv, char * const *envp) {
|
||||
case '2': OLvl = CodeGenOpt::Default; break;
|
||||
case '3': OLvl = CodeGenOpt::Aggressive; break;
|
||||
}
|
||||
|
||||
// If we have a native target, initialize it to ensure it is linked in.
|
||||
#ifdef LLVM_NATIVE_ARCH
|
||||
#define DoInit2(TARG, MOD) llvm::Initialize ## TARG ## MOD()
|
||||
#define DoInit(T, M) DoInit2(T, M)
|
||||
DoInit(LLVM_NATIVE_ARCH, Target);
|
||||
#undef DoInit
|
||||
#undef DoInit2
|
||||
#endif
|
||||
|
||||
|
||||
EE = ExecutionEngine::create(MP, ForceInterpreter, &ErrorMsg, OLvl);
|
||||
if (!EE && !ErrorMsg.empty()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user