[llvm] [KnownBits] Remove `hasConflict()` assertions (PR #94568)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 7 04:57:17 PDT 2024


================
@@ -403,8 +391,7 @@ KnownBits KnownBits::lshr(const KnownBits &LHS, const KnownBits &RHS,
   if (Exact) {
     unsigned FirstOne = LHS.countMaxTrailingZeros();
     if (FirstOne < MinShiftAmount) {
-      // Always poison. Return zero because we don't like returning conflict.
-      Known.setAllZero();
+      // Always poison.
----------------
c8ef wrote:

It appears that in the current version(
cfe2878), the testcase `llvm/test/Analysis/ScalarEvolution/pr76234.ll` is still experiencing a regression from `[0, 1)` to `full-set`. Is this the intended behavior?

```
_bk;t=1717760175285# | <stdin>:4:2: note: possible intended match here
_bk;t=1717760175285# |  --> %B9 U: full-set S: full-set
_bk;t=1717760175285# |  ^
_bk;t=1717760175285# | 
_bk;t=1717760175285# | Input file: <stdin>
_bk;t=1717760175285# | Check file: C:\ws\src\llvm\test\Analysis\ScalarEvolution\pr76234.ll
_bk;t=1717760175285# | 
_bk;t=1717760175285# | -dump-input=help explains the following input dump.
_bk;t=1717760175285# | 
_bk;t=1717760175285# | Input was:
_bk;t=1717760175285# | <<<<<<
_bk;t=1717760175285# |           1: Printing analysis 'Scalar Evolution Analysis' for function 'PR76234': 
_bk;t=1717760175285# |           2: Classifying expressions for: @PR76234 
_bk;t=1717760175285# |           3:  %B9 = shl i896 0, -264147265567832623176169892458258303259423663018060761063980354513336951278362429737208627943828593947337197496628564339441173779751342768625269489231469788454193341999502542084365758838213220526512116454105594202074014146375780869419198449383518238244769290448868999168 
_bk;t=1717760175285# | next:9'0                                                                                                                                                                                                                                                                                                       X error: no match found
_bk;t=1717760175285# |           4:  --> %B9 U: full-set S: full-set 
_bk;t=1717760175285# | next:9'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_bk;t=1717760175285# | next:9'1      ?                                possible intended match
_bk;t=1717760175285# |           5:  %B39 = ashr i896 %B9, 1 
_bk;t=1717760175285# | next:9'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
```

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


More information about the llvm-commits mailing list