<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/112356>112356</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] `samesign` flag should be dropped
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation,
            llvm:ir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            dtcxzyw
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dtcxzyw
      </td>
    </tr>
</table>

<pre>
    Reproducer:
```
define i1 @src(i32 %In) {
  %c1 = icmp samesign sgt i32 %In, -1
  %c2 = icmp samesign eq i32 %In, 1
  %V = select i1 %c1, i1 %c2, i1 false
  ret i1 %V
}

define i1 @tgt(i32 %In) {
  %c2 = icmp samesign eq i32 %In, 1
  ret i1 %c2
}
```

We should check this flag in `Operator::hasPoisonGeneratingFlags`.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUk-Pmz4Q_TTDxdrIHv4kOfiQTcRPe_pVPWzPxh7ArcHUNttuP30FIdpsW6mqhGAYzfO89_xUjLYbiSSUj4Bokv7-4_UbIEJ5ydSceh_k1swab17lR5qCN7OmAPkJ-AX4CSq-PeuvodaOxKxgUPAYNODB5sgAy6cR8Mhg_3gdZEtPCwb5hVk9TCyqgRY6LHaJ3WHO7EHcQ_APEPr6HnEPeF7nIznSaeW1rF2Gthq3ulUu0g0X6Db7vMncX7bid5mpS3-R-U-c33Zr_HX5e7Ov70_EYu9nZ5juSX9hqbeRtU51zI4MKv7_REElv15ZfupV_OBt9ON_NC59O3a1U12Eiu-u52VG5uaYH1VGUuzxcDweSi6yXgoq8qaplCk5rwrdlLpFKluhidBwIzIrkWMhuChFjqIQuzY_7CsjKlUUuC8PFRScBmXdzrmXYedDl9kYZ5JCYF5WmVMNubilcbBR-2GyTiXrxyWUeAbEBQn5yYYtpkEunYdm7iIU3NmY4tvpySa3pvtpjOnsh8aOBOVlceV2D1Dxq1mbhw0xE_w0kcnm4GSf0hQX57AGrDub-rnZaT8A1iuT6-dhCv4z6QRYr4IiYL1pepH4MwAA___IO_pH">