[llvm] [Hexagon] Change placeholder from `undef` to `poison` (PR #135555)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 13 11:27:02 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-hexagon
Author: Pedro Lobo (pedroclobo)
<details>
<summary>Changes</summary>
A `poison` vector should be used when performing an identity shuffle.
---
Full diff: https://github.com/llvm/llvm-project/pull/135555.diff
1 Files Affected:
- (modified) llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp (+4-4)
``````````diff
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,
``````````
</details>
https://github.com/llvm/llvm-project/pull/135555
More information about the llvm-commits
mailing list