[llvm] [Hexagon] Change placeholder from `undef` to `poison` (PR #135555)
Pedro Lobo via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 13 11:26:30 PDT 2025
https://github.com/pedroclobo created https://github.com/llvm/llvm-project/pull/135555
A `poison` vector should be used when performing an identity shuffle.
>From d08be2424e014008887b02fb276fed63ab6a552b Mon Sep 17 00:00:00 2001
From: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: Sun, 13 Apr 2025 19:09:08 +0100
Subject: [PATCH] [Hexagon] Change placeholder from `undef` to `poison`
A `poison` vector should be used when performing an identity shuffle.
---
llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
index f800446592c06..d0f14d8ad7286 100644
--- a/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
@@ -2318,9 +2318,9 @@ auto HexagonVectorCombine::insertb(IRBuilderBase &Builder, Value *Dst,
assert(0 <= Where && Where + Length <= DstLen);
int P2Len = PowerOf2Ceil(SrcLen | DstLen);
- auto *Undef = UndefValue::get(getByteTy());
- Value *P2Src = vresize(Builder, Src, P2Len, Undef);
- Value *P2Dst = vresize(Builder, Dst, P2Len, Undef);
+ auto *Poison = PoisonValue::get(getByteTy());
+ Value *P2Src = vresize(Builder, Src, P2Len, Poison);
+ Value *P2Dst = vresize(Builder, Dst, P2Len, Poison);
SmallVector<int, 256> SMask(P2Len);
for (int i = 0; i != P2Len; ++i) {
@@ -2331,7 +2331,7 @@ auto HexagonVectorCombine::insertb(IRBuilderBase &Builder, Value *Dst,
}
Value *P2Insert = Builder.CreateShuffleVector(P2Dst, P2Src, SMask, "shf");
- return vresize(Builder, P2Insert, DstLen, Undef);
+ return vresize(Builder, P2Insert, DstLen, Poison);
}
auto HexagonVectorCombine::vlalignb(IRBuilderBase &Builder, Value *Lo,
More information about the llvm-commits
mailing list