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

Bill Wendling isanbard at gmail.com
Tue Aug 11 18:41:29 PDT 2009


Author: void
Date: Tue Aug 11 20:41:29 2009
New Revision: 78770

URL: http://llvm.org/viewvc/llvm-project?rev=78770&view=rev
Log:
This assert cannot handle vectors correctly. Because of the ABI, some vectors
(e.g., <1 x i64>) are passed as scalars. Ignore vectors for now. This could be
made much nicer.

This check came from r71425.

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=78770&r1=78769&r2=78770&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Tue Aug 11 20:41:29 2009
@@ -1056,6 +1056,10 @@
   // result is not used then GCC sometimes sets the tree type to VOID_TYPE, so
   // don't take VOID_TYPE too seriously here.
   assert((Result == 0 || VOID_TYPE_P(TREE_TYPE(exp)) ||
+          // FIXME: The vector stuff isn't straight-forward. Sometimes X86 can
+          // pass it back as a scalar value. Disable checking if it's a
+          // vector. This should be made better, though.
+          isa<VectorType>(ConvertType(TREE_TYPE(exp))) ||
           Result->getType() == ConvertType(TREE_TYPE(exp))) &&
           "Value has wrong type!");
   return Result;





More information about the llvm-commits mailing list