aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AVR
diff options
context:
space:
mode:
authorpaperchalice <liujunchang97@outlook.com>2024-06-02 14:31:52 +0800
committerGitHub <noreply@github.com>2024-06-02 14:31:52 +0800
commit8917afaf0ec2ebe390284e3727e720eaf97967eb (patch)
treea27b331fbd47fb4e7623442371912eda70991487 /llvm/lib/Target/AVR
parentde37c06f01772e02465ccc9f538894c76d89a7a1 (diff)
downloadllvm-8917afaf0ec2ebe390284e3727e720eaf97967eb.zip
llvm-8917afaf0ec2ebe390284e3727e720eaf97967eb.tar.gz
llvm-8917afaf0ec2ebe390284e3727e720eaf97967eb.tar.bz2
Revert "[NewPM][CodeGen] Port selection dag isel to new pass manager" (#94146)
This reverts commit de37c06f01772e02465ccc9f538894c76d89a7a1 to de37c06f01772e02465ccc9f538894c76d89a7a1 It still breaks EXPENSIVE_CHECKS build. Sorry.
Diffstat (limited to 'llvm/lib/Target/AVR')
-rw-r--r--llvm/lib/Target/AVR/AVR.h2
-rw-r--r--llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp18
-rw-r--r--llvm/lib/Target/AVR/AVRTargetMachine.cpp2
3 files changed, 8 insertions, 14 deletions
diff --git a/llvm/lib/Target/AVR/AVR.h b/llvm/lib/Target/AVR/AVR.h
index 0e67bb4..4b1336e 100644
--- a/llvm/lib/Target/AVR/AVR.h
+++ b/llvm/lib/Target/AVR/AVR.h
@@ -31,7 +31,7 @@ FunctionPass *createAVRExpandPseudoPass();
FunctionPass *createAVRFrameAnalyzerPass();
FunctionPass *createAVRBranchSelectionPass();
-void initializeAVRDAGToDAGISelLegacyPass(PassRegistry &);
+void initializeAVRDAGToDAGISelPass(PassRegistry &);
void initializeAVRExpandPseudoPass(PassRegistry &);
void initializeAVRShiftExpandPass(PassRegistry &);
diff --git a/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp b/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
index 77db876..e67a1e2 100644
--- a/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
@@ -29,10 +29,12 @@ namespace {
/// Lowers LLVM IR (in DAG form) to AVR MC instructions (in DAG form).
class AVRDAGToDAGISel : public SelectionDAGISel {
public:
+ static char ID;
+
AVRDAGToDAGISel() = delete;
AVRDAGToDAGISel(AVRTargetMachine &TM, CodeGenOptLevel OptLevel)
- : SelectionDAGISel(TM, OptLevel), Subtarget(nullptr) {}
+ : SelectionDAGISel(ID, TM, OptLevel), Subtarget(nullptr) {}
bool runOnMachineFunction(MachineFunction &MF) override;
@@ -58,19 +60,11 @@ private:
const AVRSubtarget *Subtarget;
};
-class AVRDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
-public:
- static char ID;
- AVRDAGToDAGISelLegacy(AVRTargetMachine &TM, CodeGenOptLevel OptLevel)
- : SelectionDAGISelLegacy(
- ID, std::make_unique<AVRDAGToDAGISel>(TM, OptLevel)) {}
-};
-
} // namespace
-char AVRDAGToDAGISelLegacy::ID = 0;
+char AVRDAGToDAGISel::ID = 0;
-INITIALIZE_PASS(AVRDAGToDAGISelLegacy, DEBUG_TYPE, PASS_NAME, false, false)
+INITIALIZE_PASS(AVRDAGToDAGISel, DEBUG_TYPE, PASS_NAME, false, false)
bool AVRDAGToDAGISel::runOnMachineFunction(MachineFunction &MF) {
Subtarget = &MF.getSubtarget<AVRSubtarget>();
@@ -592,5 +586,5 @@ bool AVRDAGToDAGISel::trySelect(SDNode *N) {
FunctionPass *llvm::createAVRISelDag(AVRTargetMachine &TM,
CodeGenOptLevel OptLevel) {
- return new AVRDAGToDAGISelLegacy(TM, OptLevel);
+ return new AVRDAGToDAGISel(TM, OptLevel);
}
diff --git a/llvm/lib/Target/AVR/AVRTargetMachine.cpp b/llvm/lib/Target/AVR/AVRTargetMachine.cpp
index a8c967f..e0776a6 100644
--- a/llvm/lib/Target/AVR/AVRTargetMachine.cpp
+++ b/llvm/lib/Target/AVR/AVRTargetMachine.cpp
@@ -95,7 +95,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAVRTarget() {
auto &PR = *PassRegistry::getPassRegistry();
initializeAVRExpandPseudoPass(PR);
initializeAVRShiftExpandPass(PR);
- initializeAVRDAGToDAGISelLegacyPass(PR);
+ initializeAVRDAGToDAGISelPass(PR);
}
const AVRSubtarget *AVRTargetMachine::getSubtargetImpl() const {