[llvm] [InstCombine] Remove SPF guard for trunc transforms (PR #117535)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 02:22:24 PST 2024


https://github.com/nikic created https://github.com/llvm/llvm-project/pull/117535

This shouldn't be necessary anymore now that SPF patterns are canonicalized to intrinsics.

>From 8ecdbb15eeb58926a26990856a1d603a040badf6 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov at redhat.com>
Date: Mon, 25 Nov 2024 11:20:10 +0100
Subject: [PATCH] [InstCombine] Remove SPF guard for trunc transforms

This shouldn't be necessary anymore now that SPF patterns are
canonicalized to intrinsics.
---
 llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
index 6c2554ea73b7f8..7221c987b98219 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
@@ -786,15 +786,6 @@ Instruction *InstCombinerImpl::visitTrunc(TruncInst &Trunc) {
     }
   }
 
-  // Test if the trunc is the user of a select which is part of a
-  // minimum or maximum operation. If so, don't do any more simplification.
-  // Even simplifying demanded bits can break the canonical form of a
-  // min/max.
-  Value *LHS, *RHS;
-  if (SelectInst *Sel = dyn_cast<SelectInst>(Src))
-    if (matchSelectPattern(Sel, LHS, RHS).Flavor != SPF_UNKNOWN)
-      return nullptr;
-
   // See if we can simplify any instructions used by the input whose sole
   // purpose is to compute bits we don't care about.
   if (SimplifyDemandedInstructionBits(Trunc))



More information about the llvm-commits mailing list