<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div style=""><blockquote type="cite"><div>On Jul 17, 2014, at 8:19 PM, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">----- Original Message -----</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">From: "Philip Reames" <<a href="mailto:listmail@philipreames.com">listmail@philipreames.com</a>><br>To: "Hal Finkel" <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>>, "LLVM Dev" <<a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>><br>Cc: "Chandler Carruth" <<a href="mailto:chandlerc@gmail.com">chandlerc@gmail.com</a>>, "Andrew Trick" <<a href="mailto:atrick@apple.com">atrick@apple.com</a>>, "Richard Smith"<br><<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>>, "Nick Lewycky" <<a href="mailto:nlewycky@google.com">nlewycky@google.com</a>><br>Sent: Thursday, July 17, 2014 4:31:10 PM<br>Subject: Re: [RFC] Invariants in LLVM<br><br><br>On 07/17/2014 01:39 PM, Hal Finkel wrote:<br><blockquote type="cite">Hello everyone,<br><br>I'm starting a new thread, as a follow-up to several older ones, on<br>invariants in LLVM. Fundamentally, invariants are conditions that<br>the optimizer is allowed to assume will be valid during the<br>execution of the program. Many other compilers support a concept<br>like this, MSVC's __assume, for example. GCC has a builtin called<br>__builtin_assume_aligned which also neatly falls into this class.<br></blockquote>First of all, thank you for working on this!  I'm thrilled to see<br>progress being made here.<br><blockquote type="cite"><br>In my initial patches, I've named the associated IR-level intrinsic<br>@llvm.invariant(i1) (maybe it should be @llvm.assume, etc. --<br>please feel free to express an opinion).<br></blockquote>My bikeshed preference would be "assume".  "invariant" makes me think<br>"loop invariant" - i.e. something which needs to be proven. "assume"<br>is<br>a traditional name (in the verification world) for something which<br>can<br>be assumed true without verification and can result in invalid<br>results<br>if actually untrue.<br></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">That's two votes for 'assume' (you and Chandler from his code review); anyone else?</span></div></blockquote></div><br><div>+1</div><div><br></div><div>-Andy</div></body></html>