Skip to content

Commit a9ea11b

Browse files
authored
[aarch64][NFC] Remove unneeded work from machine memset (#65672)
The memset intrinsics have no source pointer, so don't construct that operand.
1 parent 62f5636 commit a9ea11b

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,16 @@ SDValue AArch64SelectionDAGInfo::EmitMOPS(AArch64ISD::NodeType SDOpcode,
4646
}
4747
}();
4848

49-
MachineMemOperand::Flags Flags = MachineMemOperand::MOStore;
50-
if (isVolatile)
51-
Flags |= MachineMemOperand::MOVolatile;
52-
if (!IsSet)
53-
Flags |= MachineMemOperand::MOLoad;
54-
5549
MachineFunction &MF = DAG.getMachineFunction();
5650

51+
auto Vol =
52+
isVolatile ? MachineMemOperand::MOVolatile : MachineMemOperand::MONone;
53+
auto DstFlags = MachineMemOperand::MOStore | Vol;
5754
auto *DstOp =
58-
MF.getMachineMemOperand(DstPtrInfo, Flags, ConstSize, Alignment);
59-
auto *SrcOp =
60-
MF.getMachineMemOperand(SrcPtrInfo, Flags, ConstSize, Alignment);
55+
MF.getMachineMemOperand(DstPtrInfo, DstFlags, ConstSize, Alignment);
6156

6257
if (IsSet) {
63-
// Extend value to i64 if required
58+
// Extend value to i64, if required.
6459
if (SrcOrValue.getValueType() != MVT::i64)
6560
SrcOrValue = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, SrcOrValue);
6661
SDValue Ops[] = {Dst, Size, SrcOrValue, Chain};
@@ -72,6 +67,10 @@ SDValue AArch64SelectionDAGInfo::EmitMOPS(AArch64ISD::NodeType SDOpcode,
7267
SDValue Ops[] = {Dst, SrcOrValue, Size, Chain};
7368
const EVT ResultTys[] = {MVT::i64, MVT::i64, MVT::i64, MVT::Other};
7469
MachineSDNode *Node = DAG.getMachineNode(MachineOpcode, DL, ResultTys, Ops);
70+
71+
auto SrcFlags = MachineMemOperand::MOLoad | Vol;
72+
auto *SrcOp =
73+
MF.getMachineMemOperand(SrcPtrInfo, SrcFlags, ConstSize, Alignment);
7574
DAG.setNodeMemRefs(Node, {DstOp, SrcOp});
7675
return SDValue(Node, 3);
7776
}

0 commit comments

Comments
 (0)