[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