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

    <tr>
        <th>Summary</th>
        <td>
            [LoopInterchange] Reject cases where ninf flag is present
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            madhur13490
      </td>
    </tr>

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

<pre>
    
When this flag is present on instructions, semantics guarantee that input/output will not +/- inf. Interchange may lead to the result being +/- inf. I think when this flag is present on the instructions, we should reject interchange and bail out.

LLVM fast-math flags: https://llvm.org/docs/LangRef.html#fast-math-flags

This can be considered as an extension to https://github.com/llvm/llvm-project/pull/148612
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkkGPnDgQhX-NuZQaYYOb5sChZ0dIK_VeRqvkbKAAJ8ZGrvJ05t9H9HQyoz5EysmWSn7vq-dniOzsEVuhn4RSqxmXFGVZNYVQSujnzCReQmw_DbI-jG-tKM5fF_TAiyWYnJnBEmwRCT1D8GA9cUwD2-BJqH-AcDWe7UAwJxONZ0TgxTBYvyUWqguJt8Rwtc6BDwxCPQnVHcD6KYd_PWMcFuNnhNW8gUMzAgfgBSEiJcfQo_Xzw6udzn-H659Ad4lH2CsCLSG5ESJ-w2GH_PA3foTeWAchcS6KsyjOl8uX_2AyxIfV8HJzIVGeYWHe9otQnVCdc69rHuIsVDeGgYTqLsbPLzjlC69OqPK3wuFd4ab9_849GA89whA82REjjmAIjAf8wejJ7muEB7fZ8pL6fAjr3fp-HLYY9p2E6rbknFCdrE5HqbKxLcembEyGray10qda12W2tL2UypRNr6ZB1ijHU4PHqtCNPsqhRl1ntlWF0kUttSy10mU-Hk9HrScti-M0DE0lqgJXY13-K4HMEiVsZXU6aZk506OjewM9XuE2vfcvtjfoPs0kqsJZYvqQYcvuVt1LCNunjgj9DC_vPzcYQtobEBG89dNjBbIUXfvXyd0I6T27fYXXVv0MAAD__0-0Fi4">