Displaying 2 results from an estimated 2 matches for "memcpy_i32".
2007 Apr 20
2
[LLVMdev] llvm-gcc Bug, Looking for Advice on Fix
...e(Instruction::BitCast, SrcPtr, SBP),
CastToSIntType(Size, IntPtr),
ConstantInt::get(Type::Int32Ty, Align)
};
new CallInst(Intrinsic::getDeclaration(TheModule,
(IntPtr == Type::Int32Ty) ?
Intrinsic::memcpy_i32 :
Intrinsic::memcpy_i64),
Ops, 4, "", CurBB);
}
The problem is that Intrinsic::getDeclaration takes four
parameters but is only passed two:
Function *Intrinsic::getDeclaration(Module *M, ID id, const Type **Tys,...
2007 Apr 20
0
[LLVMdev] llvm-gcc Bug, Looking for Advice on Fix
...st Type **Tys,
> unsigned numTys)
It turns out that this happens all over llvm-convert.c. Tys and numTys
default to zero, which is why it builds. The problem is, getDeclaration
calls getType(id, Tys, numTys) where this code is executed:
case Intrinsic::memcpy_i32: // llvm.memcpy.i32
case Intrinsic::memmove_i32: // llvm.memmove.i32
ResultTy = Type::getPrimitiveType(Type::VoidTyID);
ArgTys.push_back(Tys[1]);
ArgTys.push_back(Tys[2]);
ArgTys.push_back(IntegerType::get(32));
ArgTys.push_back(IntegerType::get(32));
Oops, Tys is 0!...