<div dir="ltr"><div dir="ltr">On Mon, Aug 23, 2021 at 3:42 PM Sanjay Patel via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Ok, does this edit to the LangRef make sense for the definition of "ignore":</div><div>"optimization passes may assume that the
exception status flags will not be read and that floating-point exceptions **will**
be masked" --></div><div>"optimization passes may assume that the
exception status flags will not be read and that floating-point exceptions **may**
be masked"</div></div></blockquote><div><br></div><div>I haven't been following the technical details, but in terms of the English documentation, it makes no sense to say that someone "may assume that [X] <i><b>may</b></i> happen." Either [X] always happens, in which case optimization passes may safely assume that it happens; or [X] never happens, in which case optimization passes may safely assume that it does not happen; or else [X] sometimes happens and sometimes doesn't, in which case optimizations passes <i><b>must not assume anything</b></i> about [X].</div><div><br></div><div>So you might say: "optimization passes may assume that the exception status flags will not be read. Floating-point exceptions might or might not be masked, depending on [____]" (and then mention the relevant variable, such as "instruction set" or "optimization level" or whatever).</div><div><br></div><div>HTH,</div><div>Arthur</div></div></div>