[llvm] [SelectionDAG] Replace findGlueUse in SelectionDAGISel with SDNode::g… (PR #120512)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 18 17:57:29 PST 2024
https://github.com/topperc created https://github.com/llvm/llvm-project/pull/120512
…etGluedUser. NFC
SDNode::getGluedUser has a little bit different implemenetation, but the effect should be the same.
SDNode *getGluedUser() const {
for (use_iterator UI = use_begin(), UE = use_end(); UI != UE; ++UI)
if (UI.getUse().get().getValueType() == MVT::Glue)
return *UI;
return nullptr;
}
>From 10cf3c2c7b294d8f5d3346ba7aab5225e46129b8 Mon Sep 17 00:00:00 2001
From: Craig Topper <craig.topper at sifive.com>
Date: Wed, 18 Dec 2024 17:54:45 -0800
Subject: [PATCH] [SelectionDAG] Replace findGlueUse in SelectionDAGISel with
SDNode::getGluedUser. NFC
SDNode::getGluedUser has a little bit different implemenetation,
but the effect should be the same.
SDNode *getGluedUser() const {
for (use_iterator UI = use_begin(), UE = use_end(); UI != UE; ++UI)
if (UI.getUse().get().getValueType() == MVT::Glue)
return *UI;
return nullptr;
}
---
.../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 35aa7b87bc3b7f..7637b15824e3ac 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -2329,19 +2329,6 @@ void SelectionDAGISel::SelectInlineAsmMemoryOperands(std::vector<SDValue> &Ops,
Ops.push_back(handle.getValue());
}
-/// findGlueUse - Return use of MVT::Glue value produced by the specified
-/// SDNode.
-///
-static SDNode *findGlueUse(SDNode *N) {
- unsigned FlagResNo = N->getNumValues()-1;
- for (SDNode::use_iterator I = N->use_begin(), E = N->use_end(); I != E; ++I) {
- SDUse &Use = I.getUse();
- if (Use.getResNo() == FlagResNo)
- return Use.getUser();
- }
- return nullptr;
-}
-
/// findNonImmUse - Return true if "Def" is a predecessor of "Root" via a path
/// beyond "ImmedUse". We may ignore chains as they are checked separately.
static bool findNonImmUse(SDNode *Root, SDNode *Def, SDNode *ImmedUse,
@@ -2445,7 +2432,7 @@ bool SelectionDAGISel::IsLegalToFold(SDValue N, SDNode *U, SDNode *Root,
// glueged set.
EVT VT = Root->getValueType(Root->getNumValues()-1);
while (VT == MVT::Glue) {
- SDNode *GU = findGlueUse(Root);
+ SDNode *GU = Root->getGluedUser();
if (!GU)
break;
Root = GU;
More information about the llvm-commits
mailing list