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

Andrew Lenharth alenhar2 at cs.uiuc.edu
Tue Mar 4 07:23:05 PST 2008


Author: alenhar2
Date: Tue Mar  4 09:23:05 2008
New Revision: 47887

URL: http://llvm.org/viewvc/llvm-project?rev=47887&view=rev
Log:
Use type of first arg rather than return type for picking intrinsic.  fixes PR2119

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=47887&r1=47886&r2=47887&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Tue Mar  4 09:23:05 2008
@@ -4306,13 +4306,13 @@
   case BUILT_IN_BOOL_COMPARE_AND_SWAP_4:
   case BUILT_IN_BOOL_COMPARE_AND_SWAP_8:
   case BUILT_IN_BOOL_COMPARE_AND_SWAP_16: {
-    const Type *Ty = ConvertType(TREE_TYPE(exp));
     tree arglist = TREE_OPERAND(exp, 1);
     Value* C[3] = {
       Emit(TREE_VALUE(arglist), 0),
       Emit(TREE_VALUE(TREE_CHAIN(arglist)), 0),
       Emit(TREE_VALUE(TREE_CHAIN(TREE_CHAIN(arglist))), 0)
     };
+    const Type *Ty = cast<PointerType>(C[0]->getType())->getElementType();
     if (C[1]->getType() != Ty)
       C[1] = Builder.CreateIntCast(C[1], Ty, "cast");
     if (C[2]->getType() != Ty)





More information about the llvm-commits mailing list