[llvm-commits] [llvm-gcc-4.2] r46077 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp

Bill Wendling isanbard at gmail.com
Wed Jan 16 10:49:48 PST 2008


Author: void
Date: Wed Jan 16 12:49:47 2008
New Revision: 46077

URL: http://llvm.org/viewvc/llvm-project?rev=46077&view=rev
Log:
Use the big endian check already in llvm/System/Host.h.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=46077&r1=46076&r2=46077&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Wed Jan 16 12:49:47 2008
@@ -36,6 +36,7 @@
 #include "llvm/Module.h"
 #include "llvm/ParameterAttributes.h"
 #include "llvm/Analysis/ConstantFolding.h"
+#include "llvm/System/Host.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetData.h"
@@ -5466,14 +5467,6 @@
     double V;
   };
   if (Ty==Type::FloatTy || Ty==Type::DoubleTy) {
-    // Determine endianness of host machine.
-    union {
-      int x;
-      char y[sizeof(int)];
-    } u;
-    u.x = 1;
-    bool BigEndian = (u.y[0] != 1);
-
     REAL_VALUE_TO_TARGET_DOUBLE(TREE_REAL_CST(exp), RealArr);
 
     // Here's how this works:
@@ -5495,7 +5488,7 @@
     UArr[0] = RealArr[0];   // Long -> int convert
     UArr[1] = RealArr[1];
 
-    if (BigEndian != FLOAT_WORDS_BIG_ENDIAN)
+    if (llvm::sys::bigEndianHost() != FLOAT_WORDS_BIG_ENDIAN)
       std::swap(UArr[0], UArr[1]);
 
     return ConstantFP::get(Ty, Ty==Type::FloatTy ? APFloat((float)V)





More information about the llvm-commits mailing list