[llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp

Chris Lattner sabre at nondot.org
Fri Apr 20 15:57:38 PDT 2007



Changes in directory llvm/lib/ExecutionEngine/JIT:

TargetSelect.cpp updated: 1.14 -> 1.15
---
Log message:

avoid mutating a global in an accessor


---
Diffs of the changes:  (+6 -5)

 TargetSelect.cpp |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)


Index: llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp
diff -u llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp:1.14 llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp:1.15
--- llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp:1.14	Sat Mar  3 12:19:18 2007
+++ llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp	Fri Apr 20 17:57:20 2007
@@ -39,15 +39,16 @@
 /// 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 @@
   }
 
   // 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.






More information about the llvm-commits mailing list