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

Chris Lattner lattner at cs.uiuc.edu
Sun Oct 23 16:55:08 PDT 2005



Changes in directory llvm/lib/ExecutionEngine:

ExecutionEngine.cpp updated: 1.71 -> 1.72
---
Log message:

Fix a nasty bug that was causing miscompilation of global variables
on big endian 32-bit targets in some cases (e.g. PPC).  This fixes several
PPC JIT failures.


---
Diffs of the changes:  (+4 -1)

 ExecutionEngine.cpp |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)


Index: llvm/lib/ExecutionEngine/ExecutionEngine.cpp
diff -u llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.71 llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.72
--- llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.71	Tue Jul 12 10:51:55 2005
+++ llvm/lib/ExecutionEngine/ExecutionEngine.cpp	Sun Oct 23 18:54:56 2005
@@ -189,7 +189,10 @@
       uint64_t Offset =
         TD->getIndexedOffset(CE->getOperand(0)->getType(), Indexes);
 
-      Result.LongVal += Offset;
+      if (getTargetData().getPointerSize() == 4)
+        Result.IntVal += Offset;
+      else
+        Result.LongVal += Offset;
       return Result;
     }
     case Instruction::Cast: {






More information about the llvm-commits mailing list