Skip to content

Commit 497382e

Browse files
authored
[SelectionDAG] Make the FoldingSet profile in getAtomic match AddNodeIDCustom. (#136651)
In theory, the mismatch would have made CSE of AtomicSDNodes not work, but I don't know how to test it.
1 parent 9e26c79 commit 497382e

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8994,8 +8994,10 @@ SDValue SelectionDAG::getAtomic(unsigned Opcode, const SDLoc &dl, EVT MemVT,
89948994
SDVTList VTList, ArrayRef<SDValue> Ops,
89958995
MachineMemOperand *MMO) {
89968996
FoldingSetNodeID ID;
8997-
ID.AddInteger(MemVT.getRawBits());
89988997
AddNodeIDNode(ID, Opcode, VTList, Ops);
8998+
ID.AddInteger(MemVT.getRawBits());
8999+
ID.AddInteger(getSyntheticNodeSubclassData<AtomicSDNode>(
9000+
Opcode, dl.getIROrder(), VTList, MemVT, MMO));
89999001
ID.AddInteger(MMO->getPointerInfo().getAddrSpace());
90009002
ID.AddInteger(MMO->getFlags());
90019003
void* IP = nullptr;

0 commit comments

Comments
 (0)