[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-07-08 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope edited https://github.com/llvm/llvm-project/pull/143105 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-07-08 Thread Björn Pettersson via llvm-branch-commits
@@ -953,8 +953,17 @@ class SelectionDAG { } /// Insert \p SubVec at the \p Idx element of \p Vec. + /// If \p SkipUndef is true and \p SubVec is UNDEF/POISON, then \p Vec is + /// returned. bjope wrote: I think having an explicit flag to say "I want an

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-07-04 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143105 From be4f7432d8f35a8b07dc745736dccac6ae742743 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Sat, 31 May 2025 09:37:27 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SU

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 2) (PR #143103)

2025-07-04 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143103 From fe73a97a1ef8c1c2df5999e0b6abecde0e89733b Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Tue, 3 Jun 2025 10:01:01 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUB

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 2) (PR #143103)

2025-06-29 Thread Björn Pettersson via llvm-branch-commits
@@ -5454,6 +5454,59 @@ bool SelectionDAG::isGuaranteedNotToBeUndefOrPoison(SDValue Op, } return true; + case ISD::INSERT_SUBVECTOR: { +if (Op.getValueType().isScalableVector()) + break; +SDValue Src = Op.getOperand(0); +SDValue Sub = Op.getOperand(1)

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 2) (PR #143103)

2025-06-29 Thread Björn Pettersson via llvm-branch-commits
@@ -5454,6 +5454,59 @@ bool SelectionDAG::isGuaranteedNotToBeUndefOrPoison(SDValue Op, } return true; + case ISD::INSERT_SUBVECTOR: { +if (Op.getValueType().isScalableVector()) + break; +SDValue Src = Op.getOperand(0); +SDValue Sub = Op.getOperand(1)

[llvm-branch-commits] [llvm] [SelectionDAG] Fix bug related to demanded bits/elts for BITCAST (PR #145902)

2025-06-27 Thread Björn Pettersson via llvm-branch-commits
@@ -720,18 +720,17 @@ SDValue TargetLowering::SimplifyMultipleUseDemandedBits( unsigned Scale = NumDstEltBits / NumSrcEltBits; unsigned NumSrcElts = SrcVT.getVectorNumElements(); APInt DemandedSrcBits = APInt::getZero(NumSrcEltBits); - APInt DemandedSrcEl

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-06-26 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143105 From c3c31f64ba945c981bce8053ed4f6ea42279d457 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Sat, 31 May 2025 09:37:27 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SU

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 2) (PR #143103)

2025-06-26 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143103 From f062333a77f3c9382363daea4f025463762a58f7 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Tue, 3 Jun 2025 10:01:01 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUB

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-06-24 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143105 From c007c75562eea85cfcac523c27599d5293c484fe Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Sat, 31 May 2025 09:37:27 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SU

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 2) (PR #143103)

2025-06-19 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143103 From e2556d39b810a074048e143ec083e553cdf4135d Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Tue, 3 Jun 2025 10:01:01 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUB

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 3) (PR #143105)

2025-06-11 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/143105 From 1fa37de18003543bd9ad73a4a307463eb22134ab Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Sat, 31 May 2025 09:37:27 +0200 Subject: [PATCH] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SU

[llvm-branch-commits] [llvm] [SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (part 1) (PR #143102)

2025-06-11 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope edited https://github.com/llvm/llvm-project/pull/143102 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-11 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/135155 From 84108e55aa15eeabc634671fdf7b8170d0667912 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Fri, 11 Apr 2025 10:39:01 +0200 Subject: [PATCH 1/7] [InstCombine] Improve no-wrap flag preservation for ADD+GEP

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-11 Thread Björn Pettersson via llvm-branch-commits
@@ -3086,13 +3086,51 @@ Instruction *InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst &GEP) { if (GEPType->isVectorTy()) return nullptr; + if (!GEP.isInBounds()) { +unsigned IdxWidth = +DL.getIndexSizeInBits(PtrOp->getType()->getPointerAddressSpac

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-11 Thread Björn Pettersson via llvm-branch-commits
@@ -122,25 +122,23 @@ define ptr @gep_inbounds_nuwaddlike(ptr %ptr, i64 %a, i64 %b) { ret ptr %gep } -; FIXME: Preserve "inbounds nuw". define ptr @gep_inbounds_add_nuw(ptr %ptr, i64 %a, i64 %b) { ; CHECK-LABEL: define ptr @gep_inbounds_add_nuw( ; CHECK-SAME: ptr [[PTR:%

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-11 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/135155 From 84108e55aa15eeabc634671fdf7b8170d0667912 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Fri, 11 Apr 2025 10:39:01 +0200 Subject: [PATCH 1/5] [InstCombine] Improve no-wrap flag preservation for ADD+GEP

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-11 Thread Björn Pettersson via llvm-branch-commits
@@ -3086,13 +3086,51 @@ Instruction *InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst &GEP) { if (GEPType->isVectorTy()) return nullptr; + if (!GEP.isInBounds()) { +unsigned IdxWidth = +DL.getIndexSizeInBits(PtrOp->getType()->getPointerAddressSpac

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-10 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/135155 From 0abeb7b7eea0e15e15c98a8e4f8501fde81d4811 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Tue, 11 Mar 2025 16:27:43 +0100 Subject: [PATCH 1/3] [InstCombine] Improve inbounds preservation for ADD+GEP ->

[llvm-branch-commits] [llvm] [InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (PR #135155)

2025-04-10 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope updated https://github.com/llvm/llvm-project/pull/135155 From 0abeb7b7eea0e15e15c98a8e4f8501fde81d4811 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Tue, 11 Mar 2025 16:27:43 +0100 Subject: [PATCH 1/2] [InstCombine] Improve inbounds preservation for ADD+GEP ->

[llvm-branch-commits] [llvm] release/19.x: [DAGCombiner] Fix ReplaceAllUsesOfValueWith mutation bug in visitFREEZE (#104924) (PR #105627)

2024-08-26 Thread Björn Pettersson via llvm-branch-commits
bjope wrote: > @nikic (or anyone else). If you would like to add a note about this fix in > the release notes (completely optional). Please reply to this comment with a > one or two sentence description of the fix. When you are done, please add the > release:note label to this PR. I've only s

[llvm-branch-commits] [llvm] release/19.x: [DAGCombiner] Fix ReplaceAllUsesOfValueWith mutation bug in visitFREEZE (#104924) (PR #105627)

2024-08-22 Thread Björn Pettersson via llvm-branch-commits
https://github.com/bjope approved this pull request. LG https://github.com/llvm/llvm-project/pull/105627 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] release/18.x: [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616) (PR #89766)

2024-04-24 Thread Björn Pettersson via llvm-branch-commits
bjope wrote: > @bjope What do you think about backporting this? Thanks! That looks/sounds good to me. (The fault was found when using "-fsanitize=undefined -O0" so it was not as if we were using fuzzy pass pipelines etc to trigger the bug. I guess the special thing was the use of larger BitIn