<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137937>137937</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[ConstraintElim] `checkOrAndOpImpliedByOther` should drop `disjoint` flag
</td>
</tr>
<tr>
<th>Labels</th>
<td>
miscompilation,
llvm:optimizations
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Reproducer: https://alive2.llvm.org/ce/z/pUvC88
```
----------------------------------------
define i1 @src(i8 %b) {
entry:
%c.1 = icmp slt i8 %b, 1
%c.2 = icmp ne i8 %b, 0
%or = or disjoint i1 %c.2, %c.1
ret i1 %or
}
=>
define i1 @src(i8 %b) {
entry:
%c.2 = icmp ne i8 %b, 0
%or = or disjoint i1 %c.2, 1
ret i1 %or
}
Transformation doesn't verify!
ERROR: Target is more poisonous than source
Example:
i8 %b = #x01 (1)
Source:
i1 %c.1 = #x0 (0)
i1 %c.2 = #x1 (1)
i1 %or = #x1 (1)
Target:
i1 %c.2 = #x1 (1)
i1 %or = poison
Source value: #x1 (1)
Target value: poison
Summary:
0 correct transformations
1 incorrect transformations
0 failed-to-prove transformations
0 Alive2 errors
```
Triggered by pre-commit fuzzing for https://github.com/llvm/llvm-project/pull/135784.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVNFu4zYQ_JrVCxGDWkm2_KAHJY6BPgVI0w-gyZXMKyUKJOXG_vqCtGzfXa_FtTUMCdDMkDO72BXe634kaqB6BkQV5Ofl_AcgQrXLxByO1jXLx-xg1bl5p8lZNUtyULTsGMLkoWgB94B7YfSJcGXMaVhZ1wPuJQHuL4D76bfTS10Db2HNlz9vn37yB7xV1OmRmM4ZlNw7CVjrmgFWB8Atg80z8JbG4M7RDG9ZhOQqZ1DsmJbDxLwJ7K54YfmDhA9SvOHB4TeOdYliHVPaf7F6DMlIEkfi9a7EdnTDrItpN7v4LHZQvP7nFP_fYPL2Q2sfToy-s24QQduRKUt-BNwEdiKnuzNglAJvX9_f395jxz-E6-NBng3WEZus9na0s2fhKEbm7ewkLZJPMUyGrlEW18kmYPHJo5E6B9xeyb9ehVdu_nX3EjuS-ZV8D3ZHvz7qFvCHYMyb7H97z0-cdI1598lOwszR7V9US3nu-F0YtfMwiEdvOZPWOZKBhW-a4BOaMz3-E85ZJ7Qh9RTs0-Tsif6G1aaZZOScdf67-ftwuu_JkWKHM5scPUk7DDqwbr5c9NizzrrvJrzX4TgfVtIOgPs458srWvhCMsRJn40B3OdFtanLFfA2U02htsVWZNTkm3LNeVFgnh2bDrtimx_49lApjlita0HIpapqLDtVykw3yLHiZcF5XVWYr-q8rIjWm4q6NZYkoeQ0CG3uKyfT3s_U5MVmW2wyIw5k_LLaBu2lHSZtUnnihsMXQEwhitZOQQ_6spTuuv5ck6Id5t5DyY32wT8uCjqYtDVf7OiDE3oMr0YPUO0YrLk8kvz9zbWjept-GSajST2f38KRHKw580c7G8WUs1Mk32Y2Qp0RfTY70_zruqfkPlU-hT81-GcAAAD__wgjtJo">