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
@@ -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
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
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
@@ -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)
@@ -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)
@@ -720,18 +720,17 @@ SDValue TargetLowering::SimplifyMultipleUseDemandedBits(
unsigned Scale = NumDstEltBits / NumSrcEltBits;
unsigned NumSrcElts = SrcVT.getVectorNumElements();
APInt DemandedSrcBits = APInt::getZero(NumSrcEltBits);
- APInt DemandedSrcEl
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
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
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
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
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
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
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
@@ -3086,13 +3086,51 @@ Instruction
*InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst &GEP) {
if (GEPType->isVectorTy())
return nullptr;
+ if (!GEP.isInBounds()) {
+unsigned IdxWidth =
+DL.getIndexSizeInBits(PtrOp->getType()->getPointerAddressSpac
@@ -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:%
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
@@ -3086,13 +3086,51 @@ Instruction
*InstCombinerImpl::visitGetElementPtrInst(GetElementPtrInst &GEP) {
if (GEPType->isVectorTy())
return nullptr;
+ if (!GEP.isInBounds()) {
+unsigned IdxWidth =
+DL.getIndexSizeInBits(PtrOp->getType()->getPointerAddressSpac
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
->
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
->
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
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
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
23 matches
Mail list logo