<div dir="ltr">I imagine that the Clang "Check Compile Flow Consistency" tool (tools/clang/utils/check_cfc) would be a good fit for this sort of testing.  It's currently used to verify that adding -g does not affect codegen or that compiling via a .s file produces the same codegen as a directly emitted object, so it may not be too much of a stretch to use it to verify that two different sets of compiler binaries produce identical codegen.  Obviously you'd need a bot that was building both sets of executables first.  Unfortunately, I don't have any time to look at doing this myself but I expect it would be worthwhile thing to do if someone wanted to pick this up.<div><br></div><div>-Greg</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On 23 September 2015 at 22:48, Hal Finkel via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Sumanth,<br>
<br>
I don't know to what you're referring, but the output from Release vs. Release+Asserts should be identical. There might be differences in the IR value names, but if that is affecting the final result, that's a bug.<br>
<br>
 -Hal<br>
<div><div class="h5"><br>
----- Original Message -----<br>
> From: "Sumanth Gundapaneni via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>
> To: <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a>, <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> Sent: Wednesday, September 23, 2015 4:44:05 PM<br>
> Subject: [llvm-dev] Codegen difference between Asserts and No-Asserts mode<br>
><br>
> Hi,<br>
><br>
> What is the guarantee that the codegen is same across Release and<br>
> Release+Asserts build (except the known differences)?<br>
><br>
> I assume there is no guarantee and it is possible to drop a bug like<br>
> this. Personally I feel it is very expensive to debug and it depends<br>
> on each scenario.<br>
><br>
> Most of the bots test the Release+Asserts mode and any thoughts on<br>
> how we can catch this sort of a problem with minimal set of changes<br>
> to build infrastructure?<br>
><br>
> --Sumanth G<br>
><br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</font></span></blockquote></div><br></div></div></div>