[llvm] [Lanai] Port SelectionDAGISel to NewPM (PR #205997)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 26 11:53:32 PDT 2026


https://github.com/boomanaiden154 updated https://github.com/llvm/llvm-project/pull/205997

>From 53783eb31c15791e02a92c96abf22bc1a1b9f86c Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Fri, 26 Jun 2026 07:15:53 +0000
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
 =?UTF-8?q?itial=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Created using spr 1.3.7
---
 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp |  4 ++++
 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h   | 25 +++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h

diff --git a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
index 73a162ffca75a..aff7aaf298993 100644
--- a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
+++ b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
@@ -10,6 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "LanaiISelDAGToDAG.h"
 #include "LanaiAluCode.h"
 #include "LanaiTargetMachine.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
@@ -355,6 +356,9 @@ void LanaiDAGToDAGISel::selectFrameIndex(SDNode *Node) {
   ReplaceNode(Node, CurDAG->getMachineNode(Opc, DL, VT, TFI, Imm));
 }
 
+LanaiISelDAGToDAGPass::LanaiISelDAGToDAGPass(LanaiTargetMachine &TM)
+    : SelectionDAGISelPass(std::make_unique<LanaiDAGToDAGISel>(TM)) {}
+
 // createLanaiISelDag - This pass converts a legalized DAG into a
 // Lanai-specific DAG, ready for instruction scheduling.
 FunctionPass *llvm::createLanaiISelDag(LanaiTargetMachine &TM) {
diff --git a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h
new file mode 100644
index 0000000000000..c0a245488485d
--- /dev/null
+++ b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h
@@ -0,0 +1,25 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H
+#define LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H
+
+#include "llvm/CodeGen/SelectionDAGISel.h"
+
+namespace llvm {
+
+class LanaiTargetMachine;
+
+class LanaiISelDAGToDAGPass : public SelectionDAGISelPass {
+public:
+  LanaiISelDAGToDAGPass(LanaiTargetMachine &TM);
+};
+
+} // namespace llvm
+
+#endif // LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H

>From 6d2e3acbf74297d043270d77d9d32146e2cb2af5 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Fri, 26 Jun 2026 18:53:21 +0000
Subject: [PATCH 2/2] consistent

Created using spr 1.3.7
---
 llvm/lib/Target/Lanai/Lanai.h               |  6 +++++
 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp |  1 -
 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h   | 25 ---------------------
 3 files changed, 6 insertions(+), 26 deletions(-)
 delete mode 100644 llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h

diff --git a/llvm/lib/Target/Lanai/Lanai.h b/llvm/lib/Target/Lanai/Lanai.h
index 032e5fe186f3a..4cfcc490cadd3 100644
--- a/llvm/lib/Target/Lanai/Lanai.h
+++ b/llvm/lib/Target/Lanai/Lanai.h
@@ -14,6 +14,7 @@
 #ifndef LLVM_LIB_TARGET_LANAI_LANAI_H
 #define LLVM_LIB_TARGET_LANAI_LANAI_H
 
+#include "llvm/CodeGen/SelectionDAGISel.h"
 #include "llvm/Pass.h"
 
 namespace llvm {
@@ -23,6 +24,11 @@ class PassRegistry;
 
 // createLanaiISelDag - This pass converts a legalized DAG into a
 // Lanai-specific DAG, ready for instruction scheduling.
+class LanaiISelDAGToDAGPass : public SelectionDAGISelPass {
+public:
+  LanaiISelDAGToDAGPass(LanaiTargetMachine &TM);
+};
+
 FunctionPass *createLanaiISelDag(LanaiTargetMachine &TM);
 
 // createLanaiDelaySlotFillerPass - This pass fills delay slots
diff --git a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
index aff7aaf298993..5c723e61a2f19 100644
--- a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
+++ b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
@@ -10,7 +10,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "LanaiISelDAGToDAG.h"
 #include "LanaiAluCode.h"
 #include "LanaiTargetMachine.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
diff --git a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h b/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h
deleted file mode 100644
index c0a245488485d..0000000000000
--- a/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.h
+++ /dev/null
@@ -1,25 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H
-#define LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H
-
-#include "llvm/CodeGen/SelectionDAGISel.h"
-
-namespace llvm {
-
-class LanaiTargetMachine;
-
-class LanaiISelDAGToDAGPass : public SelectionDAGISelPass {
-public:
-  LanaiISelDAGToDAGPass(LanaiTargetMachine &TM);
-};
-
-} // namespace llvm
-
-#endif // LLVM_LIB_TARGET_LANAI_LANAIISELDAGTODAG_H



More information about the llvm-commits mailing list