[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:23:54 PST 2017
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);
> }
More information about the llvm-commits
mailing list