r328006 - [NVPTX] Make tensor load/store intrinsics overloaded.
Rafael Avila de Espindola via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 20 13:33:28 PDT 2018
With this clang/test/CodeGen/builtins-nvptx-sm_70.cu is crashing:
lib/IR/Instructions.cpp:299: void
llvm::CallInst::init(llvm::FunctionType *, llvm::Value *,
ArrayRef<llvm::Value *>, ArrayRef<llvm::OperandBundleDef>, const
llvm::Twine &): Assertion `(i >= FTy->getNumParams()||
FTy->getParamType(i) == Args[i]->getType()) && "Calling a function with
a bad signature!"' failed.
Cheers,
Rafael
Artem Belevich via cfe-commits <cfe-commits at lists.llvm.org> writes:
> Author: tra
> Date: Tue Mar 20 10:18:59 2018
> New Revision: 328006
>
> URL: http://llvm.org/viewvc/llvm-project?rev=328006&view=rev
> Log:
> [NVPTX] Make tensor load/store intrinsics overloaded.
>
> This way we can support address-space specific variants without explicitly
> encoding the space in the name of the intrinsic. Less intrinsics to deal with ->
> less boilerplate.
>
> Added a bit of tablegen magic to match/replace an intrinsics with a pointer
> argument in particular address space with the space-specific instruction
> variant.
>
> Updated tests to use non-default address spaces.
>
> Differential Revision: https://reviews.llvm.org/D43268
>
> Modified:
> cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=328006&r1=328005&r2=328006&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Tue Mar 20 10:18:59 2018
> @@ -10527,8 +10527,7 @@ Value *CodeGenFunction::EmitNVPTXBuiltin
> llvm_unreachable("Unexpected builtin ID.");
> }
> Value *Result =
> - Builder.CreateCall(CGM.getIntrinsic(IID),
> - {Builder.CreatePointerCast(Src, VoidPtrTy), Ldm});
> + Builder.CreateCall(CGM.getIntrinsic(IID, Src->getType()), {Src, Ldm});
>
> // Save returned values.
> for (unsigned i = 0; i < NumResults; ++i) {
> @@ -10567,10 +10566,9 @@ Value *CodeGenFunction::EmitNVPTXBuiltin
> default:
> llvm_unreachable("Unexpected builtin ID.");
> }
> - Function *Intrinsic = CGM.getIntrinsic(IID);
> + Function *Intrinsic = CGM.getIntrinsic(IID, Dst->getType());
> llvm::Type *ParamType = Intrinsic->getFunctionType()->getParamType(1);
> - SmallVector<Value *, 10> Values;
> - Values.push_back(Builder.CreatePointerCast(Dst, VoidPtrTy));
> + SmallVector<Value *, 10> Values = {Dst};
> for (unsigned i = 0; i < NumResults; ++i) {
> Value *V = Builder.CreateAlignedLoad(
> Builder.CreateGEP(Src.getPointer(), llvm::ConstantInt::get(IntTy, i)),
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list