mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-04 19:26:30 +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/Support/PrettyStackTrace.h"
|
||||||
#include "llvm/System/Process.h"
|
#include "llvm/System/Process.h"
|
||||||
#include "llvm/System/Signals.h"
|
#include "llvm/System/Signals.h"
|
||||||
|
#include "llvm/Config/config.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cerrno>
|
#include <cerrno>
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
@ -84,6 +85,16 @@ static void do_shutdown() {
|
|||||||
llvm_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
|
// main Driver function
|
||||||
//
|
//
|
||||||
@ -137,6 +148,16 @@ int main(int argc, char **argv, char * const *envp) {
|
|||||||
case '2': OLvl = CodeGenOpt::Default; break;
|
case '2': OLvl = CodeGenOpt::Default; break;
|
||||||
case '3': OLvl = CodeGenOpt::Aggressive; 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);
|
EE = ExecutionEngine::create(MP, ForceInterpreter, &ErrorMsg, OLvl);
|
||||||
if (!EE && !ErrorMsg.empty()) {
|
if (!EE && !ErrorMsg.empty()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user