[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