From 7786713181922b44ffb814ba7c4315b185b424c8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 20 Apr 2007 22:57:20 +0000 Subject: [PATCH] avoid mutating a global in an accessor llvm-svn: 36289 --- llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp b/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp index 30fd2fae4bcc..bf968af4796b 100644 --- a/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp +++ b/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp @@ -39,15 +39,16 @@ MAttrs("mattr", /// for the current target. Otherwise, return null. /// ExecutionEngine *JIT::create(ModuleProvider *MP, std::string *ErrorStr) { - if (MArch == 0) { + const TargetMachineRegistry::Entry *TheArch = MArch; + if (TheArch == 0) { std::string Error; - MArch = TargetMachineRegistry::getClosestTargetForJIT(Error); - if (MArch == 0) { + TheArch = TargetMachineRegistry::getClosestTargetForJIT(Error); + if (TheArch == 0) { if (ErrorStr) *ErrorStr = Error; return 0; } - } else if (MArch->JITMatchQualityFn() == 0) { + } else if (TheArch->JITMatchQualityFn() == 0) { cerr << "WARNING: This target JIT is not designed for the host you are" << " running. If bad things happen, please choose a different " << "-march switch.\n"; @@ -64,7 +65,7 @@ ExecutionEngine *JIT::create(ModuleProvider *MP, std::string *ErrorStr) { } // Allocate a target... - TargetMachine *Target = MArch->CtorFn(*MP->getModule(), FeaturesStr); + TargetMachine *Target = TheArch->CtorFn(*MP->getModule(), FeaturesStr); assert(Target && "Could not allocate target machine!"); // If the target supports JIT code generation, return a new JIT now. -- GitLab