[llvm] [DAG] Add computeKnownBits(FREEZE(X)) handling (PR #214095)

Kevin Le via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 12 19:13:41 PDT 2026


================
@@ -886,3 +886,82 @@ define i32 @freeze_vselect_demanded(<4 x i32> %csrc, <2 x i32> %a, <2 x i32> %b,
   %ext = extractelement <4 x i32> %fr, i64 0
   ret i32 %ext
 }
+
+; checks ComputeKnownBits works on FREEZE that can't be removed
+; vselect has multiple poison operands so  visitFREEZE can't drop
+; escape store so demanded-elts can't drop
+; known bits from lshr must reach final add folded into or
----------------
kneevin wrote:

Realizing now how unclear it is. I'll change it in the source, but what I was saying is that vselect has multiple poison operands so:
- visitFREEZE can't drop FREEZE node
- storing the frozen  `select`  into parameter `ptr %escape` prevents demanded-elts from dropping FREEZE node

https://github.com/llvm/llvm-project/pull/214095


More information about the llvm-commits mailing list