[llvm] r318173 - Mark intrinsics operating on the whole warp as IntrInaccessibleMemOnly
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 14 13:33:05 PST 2017
Cool. I wasn't sure if it was supposed to be used for something,
otherwise I'd just have removed it myself :-)
On Tue, Nov 14, 2017 at 1:31 PM, Artem Belevich <tra at google.com> wrote:
> 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->getOperand(0))->getZExtValue();
>>> > + unsigned IID =
>>> > cast<ConstantSDNode>(N->getOperand(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
More information about the llvm-commits
mailing list