mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-23 01:24:30 +00:00
Remove dead code.
Every user has been switched to using EngineBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213871 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -172,39 +172,6 @@ public:
|
|||||||
|
|
||||||
virtual ~ExecutionEngine();
|
virtual ~ExecutionEngine();
|
||||||
|
|
||||||
/// create - This is the factory method for creating an execution engine which
|
|
||||||
/// is appropriate for the current machine. This takes ownership of the
|
|
||||||
/// module.
|
|
||||||
///
|
|
||||||
/// \param GVsWithCode - Allocating globals with code breaks
|
|
||||||
/// freeMachineCodeForFunction and is probably unsafe and bad for performance.
|
|
||||||
/// However, we have clients who depend on this behavior, so we must support
|
|
||||||
/// it. Eventually, when we're willing to break some backwards compatibility,
|
|
||||||
/// this flag should be flipped to false, so that by default
|
|
||||||
/// freeMachineCodeForFunction works.
|
|
||||||
static ExecutionEngine *create(Module *M,
|
|
||||||
bool ForceInterpreter = false,
|
|
||||||
std::string *ErrorStr = nullptr,
|
|
||||||
CodeGenOpt::Level OptLevel =
|
|
||||||
CodeGenOpt::Default,
|
|
||||||
bool GVsWithCode = true);
|
|
||||||
|
|
||||||
/// createJIT - This is the factory method for creating a JIT for the current
|
|
||||||
/// machine, it does not fall back to the interpreter. This takes ownership
|
|
||||||
/// of the Module and JITMemoryManager if successful.
|
|
||||||
///
|
|
||||||
/// Clients should make sure to initialize targets prior to calling this
|
|
||||||
/// function.
|
|
||||||
static ExecutionEngine *createJIT(Module *M,
|
|
||||||
std::string *ErrorStr = nullptr,
|
|
||||||
JITMemoryManager *JMM = nullptr,
|
|
||||||
CodeGenOpt::Level OptLevel =
|
|
||||||
CodeGenOpt::Default,
|
|
||||||
bool GVsWithCode = true,
|
|
||||||
Reloc::Model RM = Reloc::Default,
|
|
||||||
CodeModel::Model CMM =
|
|
||||||
CodeModel::JITDefault);
|
|
||||||
|
|
||||||
/// addModule - Add a Module to the list of modules that we can JIT from.
|
/// addModule - Add a Module to the list of modules that we can JIT from.
|
||||||
/// Note that this takes ownership of the Module: when the ExecutionEngine is
|
/// Note that this takes ownership of the Module: when the ExecutionEngine is
|
||||||
/// destroyed, it destroys the Module as well.
|
/// destroyed, it destroys the Module as well.
|
||||||
|
@ -406,57 +406,6 @@ int ExecutionEngine::runFunctionAsMain(Function *Fn,
|
|||||||
return runFunction(Fn, GVArgs).IntVal.getZExtValue();
|
return runFunction(Fn, GVArgs).IntVal.getZExtValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
ExecutionEngine *ExecutionEngine::create(Module *M,
|
|
||||||
bool ForceInterpreter,
|
|
||||||
std::string *ErrorStr,
|
|
||||||
CodeGenOpt::Level OptLevel,
|
|
||||||
bool GVsWithCode) {
|
|
||||||
|
|
||||||
EngineBuilder EB =
|
|
||||||
EngineBuilder(M)
|
|
||||||
.setEngineKind(ForceInterpreter ? EngineKind::Interpreter
|
|
||||||
: EngineKind::Either)
|
|
||||||
.setErrorStr(ErrorStr)
|
|
||||||
.setOptLevel(OptLevel)
|
|
||||||
.setAllocateGVsWithCode(GVsWithCode);
|
|
||||||
|
|
||||||
return EB.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// createJIT - This is the factory method for creating a JIT for the current
|
|
||||||
/// machine, it does not fall back to the interpreter. This takes ownership
|
|
||||||
/// of the module.
|
|
||||||
ExecutionEngine *ExecutionEngine::createJIT(Module *M,
|
|
||||||
std::string *ErrorStr,
|
|
||||||
JITMemoryManager *JMM,
|
|
||||||
CodeGenOpt::Level OL,
|
|
||||||
bool GVsWithCode,
|
|
||||||
Reloc::Model RM,
|
|
||||||
CodeModel::Model CMM) {
|
|
||||||
if (!ExecutionEngine::JITCtor) {
|
|
||||||
if (ErrorStr)
|
|
||||||
*ErrorStr = "JIT has not been linked in.";
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use the defaults for extra parameters. Users can use EngineBuilder to
|
|
||||||
// set them.
|
|
||||||
EngineBuilder EB(M);
|
|
||||||
EB.setEngineKind(EngineKind::JIT);
|
|
||||||
EB.setErrorStr(ErrorStr);
|
|
||||||
EB.setRelocationModel(RM);
|
|
||||||
EB.setCodeModel(CMM);
|
|
||||||
EB.setAllocateGVsWithCode(GVsWithCode);
|
|
||||||
EB.setOptLevel(OL);
|
|
||||||
EB.setJITMemoryManager(JMM);
|
|
||||||
|
|
||||||
// TODO: permit custom TargetOptions here
|
|
||||||
TargetMachine *TM = EB.selectTarget();
|
|
||||||
if (!TM || (ErrorStr && ErrorStr->length() > 0)) return nullptr;
|
|
||||||
|
|
||||||
return ExecutionEngine::JITCtor(M, ErrorStr, JMM, GVsWithCode, TM);
|
|
||||||
}
|
|
||||||
|
|
||||||
void EngineBuilder::InitEngine() {
|
void EngineBuilder::InitEngine() {
|
||||||
WhichEngine = EngineKind::Either;
|
WhichEngine = EngineKind::Either;
|
||||||
ErrorStr = nullptr;
|
ErrorStr = nullptr;
|
||||||
|
@ -91,21 +91,6 @@ public:
|
|||||||
///
|
///
|
||||||
TargetJITInfo &getJITInfo() const { return TJI; }
|
TargetJITInfo &getJITInfo() const { return TJI; }
|
||||||
|
|
||||||
/// create - Create an return a new JIT compiler if there is one available
|
|
||||||
/// for the current target. Otherwise, return null.
|
|
||||||
///
|
|
||||||
static ExecutionEngine *create(Module *M,
|
|
||||||
std::string *Err,
|
|
||||||
JITMemoryManager *JMM,
|
|
||||||
CodeGenOpt::Level OptLevel =
|
|
||||||
CodeGenOpt::Default,
|
|
||||||
bool GVsWithCode = true,
|
|
||||||
Reloc::Model RM = Reloc::Default,
|
|
||||||
CodeModel::Model CMM = CodeModel::JITDefault) {
|
|
||||||
return ExecutionEngine::createJIT(M, Err, JMM, OptLevel, GVsWithCode,
|
|
||||||
RM, CMM);
|
|
||||||
}
|
|
||||||
|
|
||||||
void addModule(Module *M) override;
|
void addModule(Module *M) override;
|
||||||
|
|
||||||
/// removeModule - Remove a Module from the list of modules. Returns true if
|
/// removeModule - Remove a Module from the list of modules. Returns true if
|
||||||
|
Reference in New Issue
Block a user