[llvm] [DAGCombiner] Freeze maybe poison operands when folding select to logic (PR #84924)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 20 02:48:04 PDT 2024


================
@@ -229,10 +229,41 @@ define i32 @combine_pmaddubsw_constant_sat() {
 
 ; Constant folding PMADDWD was causing an infinite loop in the PCMPGT commuting between 2 constant values.
 define i1 @pmaddwd_pcmpgt_infinite_loop() {
-; CHECK-LABEL: pmaddwd_pcmpgt_infinite_loop:
-; CHECK:       # %bb.0:
-; CHECK-NEXT:    movb $1, %al
-; CHECK-NEXT:    retq
+; SSE-LABEL: pmaddwd_pcmpgt_infinite_loop:
----------------
nikic wrote:

All computeKnownBits() style APIs return "known or poison" results. It's not possible for look through freeze.

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


More information about the llvm-commits mailing list