aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorPrinceton Ferro <pferro@nvidia.com>2025-07-18 14:11:31 -0700
committerGitHub <noreply@github.com>2025-07-18 14:11:31 -0700
commitd63ab5467dcae0492e2f4def336ddbb73ce10dc5 (patch)
tree5be859caaee00f136ac6712fe6527c1f200aa09c /llvm/lib
parent3be44e25804e776d3ff071740a60ae6d2f3ef4a7 (diff)
downloadllvm-d63ab5467dcae0492e2f4def336ddbb73ce10dc5.zip
llvm-d63ab5467dcae0492e2f4def336ddbb73ce10dc5.tar.gz
llvm-d63ab5467dcae0492e2f4def336ddbb73ce10dc5.tar.bz2
[NVPTX] don't erase CopyToRegs when folding movs into loads (#149393)
We may still need to keep CopyToReg even after folding uses into vector loads, since the original register may be used in other blocks. Partially reverts 1fdbe6984976d9e85ab3b1a93e8de434a85c5646
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
index 7aa06f9..31b236a 100644
--- a/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
@@ -5060,12 +5060,6 @@ combineUnpackingMovIntoLoad(SDNode *N, TargetLowering::DAGCombinerInfo &DCI) {
return !U.getUser()->use_empty();
}
- // Handle CopyToReg nodes that will become dead after our replacement
- if (U.getUser()->getOpcode() == ISD::CopyToReg) {
- DeadCopyToRegs.push_back(U.getUser());
- return true;
- }
-
// Otherwise, this use prevents us from splitting a value.
return false;
}))
@@ -5132,10 +5126,6 @@ combineUnpackingMovIntoLoad(SDNode *N, TargetLowering::DAGCombinerInfo &DCI) {
for (unsigned I : seq(NewLoad->getNumValues() - NewNumOutputs))
Results.push_back(NewLoad.getValue(NewNumOutputs + I));
- // Remove dead CopyToReg nodes by folding them into the chain they reference
- for (SDNode *CTR : DeadCopyToRegs)
- DCI.CombineTo(CTR, CTR->getOperand(0));
-
return DCI.DAG.getMergeValues(Results, DL);
}
@@ -6544,4 +6534,4 @@ void NVPTXTargetLowering::computeKnownBitsForTargetNode(
default:
break;
}
-} \ No newline at end of file
+}