[PATCH] D61236: [NFC] Add a static function to do the endian check

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 30 04:03:52 PDT 2019


RKSimon added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:6245
   // little endian value load
-  bool BigEndian = true, LittleEndian = true;
-  for (unsigned i = 0; i < ByteWidth; i++) {
-    int64_t CurrentByteOffset = ByteOffsets[i] - FirstOffset;
-    LittleEndian &= CurrentByteOffset == LittleEndianByteAt(ByteWidth, i);
-    BigEndian &= CurrentByteOffset == BigEndianByteAt(ByteWidth, i);
-    if (!BigEndian && !LittleEndian)
-      return SDValue();
-  }
-  assert((BigEndian != LittleEndian) && "should be either or");
+  Optional<bool> BigEndian = isBigEndian(ByteOffsets, FirstOffset);
+  if (!BigEndian)
----------------
Maybe call this IsBigEndian?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61236/new/

https://reviews.llvm.org/D61236





More information about the llvm-commits mailing list