<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">