r328006 - [NVPTX] Make tensor load/store intrinsics overloaded.

Rafael Avila de Espindola via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 20 14:02:10 PDT 2018


Sorry, I was just missing "git pull" in the llvm repo.

Cheers,
Rafael

Artem Belevich <tra at google.com> writes:

> Thanks for the heads up.
>
> Which buildbot shows the failure? I don't see the failure on the cuda
> buildbot, nor do I see it on my machine locally.
>
> It may be due to llvm/clang being out of sync. The commit had changes for
> both sides and if clang and llvm are out of sync, you may see this kind of
> error.
>
> --Artem
>
>
> On Tue, Mar 20, 2018 at 1:33 PM Rafael Avila de Espindola <
> rafael.espindola at gmail.com> wrote:
>
>> 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
>>
>
>
> -- 
> --Artem Belevich


More information about the cfe-commits mailing list