[llvm] r318173 - Mark intrinsics operating on the whole warp as IntrInaccessibleMemOnly

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 13:31:48 PST 2017


Richard fixed it in r318201.

On Tue, Nov 14, 2017 at 1:26 PM, Artem Belevich <tra at google.com> wrote:

> Thanks. I'll fix it ASAP.
>
>
> On Tue, Nov 14, 2017 at 1:23 PM, Hans Wennborg <hans at chromium.org> wrote:
>
>> On Tue, Nov 14, 2017 at 11:14 AM, Artem Belevich via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> >  void NVPTXDAGToDAGISel::SelectMatchAll(SDNode *N) {
>> >    SDLoc DL(N);
>> > +  SDValue Chain = N->getOperand(0);
>>
>> Clang is warning that Chain isn't used anywhere:
>>
>> [2764/3792] Building CXX object
>> lib/Target/NVPTX/CMakeFiles/LLVMNVPTXCodeGen.dir/NVPTXISelDAGToDAG.cpp.o
>> ../lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp:1078:11: warning: unused
>> variable 'Chain' [-Wunused-variable]
>>   SDValue Chain = N->getOperand(0);
>>           ^
>> 1 warning generated.
>>
>> >    enum { IS_I64 = 4, HAS_CONST_VALUE = 2, HAS_CONST_MASK = 1 };
>> > -  unsigned IID = cast<ConstantSDNode>(N->getOpe
>> rand(0))->getZExtValue();
>> > +  unsigned IID = cast<ConstantSDNode>(N->getOpe
>> rand(1))->getZExtValue();
>> >    unsigned OpcodeIndex =
>> >        (IID == Intrinsic::nvvm_match_all_sync_i64p) ? IS_I64 : 0;
>> > -  SDValue MaskOp = N->getOperand(1);
>> > -  SDValue ValueOp = N->getOperand(2);
>> > +  SDValue MaskOp = N->getOperand(2);
>> > +  SDValue ValueOp = N->getOperand(3);
>> >    if (ConstantSDNode *ValueConst = dyn_cast<ConstantSDNode>(ValueOp))
>> {
>> >      OpcodeIndex |= HAS_CONST_VALUE;
>> >      ValueOp = CurDAG->getTargetConstant(ValueConst->getZExtValue(),
>> DL,
>> > @@ -1097,9 +1098,9 @@ void NVPTXDAGToDAGISel::SelectMatchAll(S
>> >        NVPTX::MATCH_ALLP_SYNC_32ir, NVPTX::MATCH_ALLP_SYNC_32ii,
>> >        NVPTX::MATCH_ALLP_SYNC_64rr, NVPTX::MATCH_ALLP_SYNC_64ri,
>> >        NVPTX::MATCH_ALLP_SYNC_64ir, NVPTX::MATCH_ALLP_SYNC_64ii};
>> > -  SDNode *NewNode = CurDAG->getMachineNode(Opcodes[OpcodeIndex], DL,
>> > -                                           {ValueOp->getValueType(0),
>> MVT::i1},
>> > -                                           {MaskOp, ValueOp});
>> > +  SDNode *NewNode = CurDAG->getMachineNode(
>> > +      Opcodes[OpcodeIndex], DL, {ValueOp->getValueType(0), MVT::i1,
>> MVT::Other},
>> > +      {MaskOp, ValueOp});
>> >    ReplaceNode(N, NewNode);
>> >  }
>>
>
>
>
> --
> --Artem Belevich
>



-- 
--Artem Belevich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171114/f84d5b09/attachment.html>


More information about the llvm-commits mailing list