[llvm] Revert "[GISel] Add more FP opcodes to CSE (#123624)" (PR #123954)
Danial Klimkin via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 22 07:20:54 PST 2025
https://github.com/dklimkin created https://github.com/llvm/llvm-project/pull/123954
This reverts commit 43177b524ee06dfc09cbc357ff277d4f53f5dc15.
>From 244d737d517f37808b6f4a03de29c28e8d0594df Mon Sep 17 00:00:00 2001
From: Danial Klimkin <dklimkin at google.com>
Date: Wed, 22 Jan 2025 16:19:34 +0100
Subject: [PATCH] Revert "[GISel] Add more FP opcodes to CSE (#123624)"
This reverts commit 43177b524ee06dfc09cbc357ff277d4f53f5dc15.
---
llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp | 11 --
llvm/unittests/CodeGen/GlobalISel/CSETest.cpp | 115 ------------------
2 files changed, 126 deletions(-)
diff --git a/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp b/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
index 42b4ee9f108f02..0ac4a8a0aa910b 100644
--- a/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
@@ -10,7 +10,6 @@
//===----------------------------------------------------------------------===//
#include "llvm/CodeGen/GlobalISel/CSEInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
-#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/Error.h"
@@ -66,16 +65,6 @@ bool CSEConfigFull::shouldCSEOpc(unsigned Opc) {
case TargetOpcode::G_BUILD_VECTOR:
case TargetOpcode::G_BUILD_VECTOR_TRUNC:
case TargetOpcode::G_SEXT_INREG:
- case TargetOpcode::G_FADD:
- case TargetOpcode::G_FSUB:
- case TargetOpcode::G_FMUL:
- case TargetOpcode::G_FDIV:
- case TargetOpcode::G_FABS:
- // TODO: support G_FNEG.
- case TargetOpcode::G_FMAXNUM:
- case TargetOpcode::G_FMINNUM:
- case TargetOpcode::G_FMAXNUM_IEEE:
- case TargetOpcode::G_FMINNUM_IEEE:
return true;
}
return false;
diff --git a/llvm/unittests/CodeGen/GlobalISel/CSETest.cpp b/llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
index 92d5289eb16312..822707a1f4ed32 100644
--- a/llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
+++ b/llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
@@ -75,121 +75,6 @@ TEST_F(AArch64GISelMITest, TestCSE) {
auto MIBUnmerge2 = CSEB.buildUnmerge({s32, s32}, Copies[0]);
EXPECT_TRUE(&*MIBUnmerge == &*MIBUnmerge2);
- // Check G_FADD
- {
- auto MIBFAdd = CSEB.buildFAdd(s32, Copies[0], Copies[1]);
- auto MIBFAdd2 = CSEB.buildFAdd(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFAdd == &*MIBFAdd2);
-
- MIBFAdd2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFAdd == &*MIBFAdd2);
-
- MIBFAdd2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFAdd == &*MIBFAdd2);
- }
-
- // Check G_FSUB
- {
- auto MIBFSub = CSEB.buildFSub(s32, Copies[0], Copies[1]);
- auto MIBFSub2 = CSEB.buildFSub(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFSub == &*MIBFSub2);
-
- MIBFSub2.setFlag(MachineInstr::FmNoNans);
- EXPECT_FALSE(&*MIBFSub == &*MIBFSub2);
-
- MIBFSub2.clearFlag(MachineInstr::FmNoNans);
- EXPECT_TRUE(&*MIBFSub == &*MIBFSub2);
- }
-
- // Check G_FMUL
- {
- auto MIBFMul = CSEB.buildFMul(s32, Copies[0], Copies[1]);
- auto MIBFMul2 = CSEB.buildFMul(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFMul == &*MIBFMul2);
-
- MIBFMul2.setFlag(MachineInstr::FmNoNans);
- EXPECT_FALSE(&*MIBFMul == &*MIBFMul2);
-
- MIBFMul2.clearFlag(MachineInstr::FmNoNans);
- EXPECT_TRUE(&*MIBFMul == &*MIBFMul2);
- }
-
- // Check G_FDIV
- {
- auto MIBFDiv = CSEB.buildFDiv(s32, Copies[0], Copies[1]);
- auto MIBFDiv2 = CSEB.buildFDiv(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFDiv == &*MIBFDiv2);
-
- MIBFDiv2.setFlag(MachineInstr::FmNoNans);
- EXPECT_FALSE(&*MIBFDiv == &*MIBFDiv2);
-
- MIBFDiv2.clearFlag(MachineInstr::FmNoNans);
- EXPECT_TRUE(&*MIBFDiv == &*MIBFDiv2);
- }
-
- // Check G_FABS
- {
- auto MIBFAbs = CSEB.buildFAbs(s32, Copies[0]);
- auto MIBFAbs2 = CSEB.buildFAbs(s32, Copies[0]);
- EXPECT_TRUE(&*MIBFAbs == &*MIBFAbs2);
-
- MIBFAbs2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFAbs == &*MIBFAbs2);
-
- MIBFAbs2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFAbs == &*MIBFAbs2);
- }
-
- // Check G_FMINNUM/F_MAXNUM:
- {
- auto MIBFMinNum = CSEB.buildFMinNum(s32, Copies[0], Copies[1]);
- auto MIBFMinNum2 = CSEB.buildFMinNum(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFMinNum == &*MIBFMinNum2);
-
- MIBFMinNum2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFMinNum == &*MIBFMinNum2);
-
- MIBFMinNum2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFMinNum == &*MIBFMinNum2);
- }
-
- {
- auto MIBFMaxNum = CSEB.buildFMaxNum(s32, Copies[0], Copies[1]);
- auto MIBFMaxNum2 = CSEB.buildFMaxNum(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFMaxNum == &*MIBFMaxNum2);
-
- MIBFMaxNum2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFMaxNum == &*MIBFMaxNum2);
-
- MIBFMaxNum2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFMaxNum == &*MIBFMaxNum2);
- }
-
- // Check G_FMINNUM_IEEE/F_MAXNUM_IEEE:
- {
- auto MIBFMinNumIEEE = CSEB.buildFMinNumIEEE(s32, Copies[0], Copies[1]);
- auto MIBFMinNumIEEE2 = CSEB.buildFMinNumIEEE(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFMinNumIEEE == &*MIBFMinNumIEEE2);
-
- MIBFMinNumIEEE2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFMinNumIEEE == &*MIBFMinNumIEEE2);
-
- MIBFMinNumIEEE2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFMinNumIEEE == &*MIBFMinNumIEEE2);
- }
-
- {
- auto MIBFMaxNumIEEE = CSEB.buildFMaxNumIEEE(s32, Copies[0], Copies[1]);
- auto MIBFMaxNumIEEE2 = CSEB.buildFMaxNumIEEE(s32, Copies[0], Copies[1]);
- EXPECT_TRUE(&*MIBFMaxNumIEEE == &*MIBFMaxNumIEEE2);
-
- MIBFMaxNumIEEE2.setFlag(MachineInstr::FmNsz);
- EXPECT_FALSE(&*MIBFMaxNumIEEE == &*MIBFMaxNumIEEE2);
-
- MIBFMaxNumIEEE2.clearFlag(MachineInstr::FmNsz);
- EXPECT_TRUE(&*MIBFMaxNumIEEE == &*MIBFMaxNumIEEE2);
- }
-
// Check G_BUILD_VECTOR
Register Reg1 = MRI->createGenericVirtualRegister(s32);
Register Reg2 = MRI->createGenericVirtualRegister(s32);
More information about the llvm-commits
mailing list