<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi Philip,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I would like to try different pass sequences with opt and see how they affect program optimization, and I was thinking replicating the O3 sequence would be a start point. </p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Thanks,</p>
<p style="margin-top:0;margin-bottom:0">Han</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Philip Pfaffe <philip.pfaffe@gmail.com><br>
<b>Sent:</b> 21 October 2018 11:36:07<br>
<b>To:</b> Han Cui<br>
<b>Cc:</b> llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] Replication -O3 optimizations manually</font>
<div> </div>
</div>
<meta content="text/html; charset=utf-8">
<div>
<div dir="ltr">
<div>Hi Han,</div>
<div><br>
</div>
What is your ultimate goal here?
<div><br>
</div>
<div>Cheers,</div>
<div>Philip</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr">On Fri, Oct 19, 2018 at 9:17 PM Han Cui via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div lang="EN-GB">
<div class="x_m_-4633289030068696578WordSection1">
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">Hi,<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">I’m having a very similar question to
<a href="http://lists.llvm.org/pipermail/llvm-dev/2018-August/125416.html" target="_blank">
this thread</a>, about replicating the O3 optimization processing manually using opt.
<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">This is my setup:<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">Process A:<u></u><u></u></span></p>
<ol start="1" type="1" style="margin-top:0cm">
<li class="x_m_-4633289030068696578MsoListParagraph" style="color:black; margin-left:0cm">
<span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">clang -O1 -S -emit-llvm main.c -o main.ll<u></u><u></u></span></li><li class="x_m_-4633289030068696578MsoListParagraph" style="color:black; margin-left:0cm">
<span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">opt -O3 main.ll -o main-opt1.ll<u></u><u></u></span></li><li class="x_m_-4633289030068696578MsoListParagraph" style="color:black; margin-left:0cm">
<span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">clang -O1 main-opt1.ll -o main-opt1<u></u><u></u></span></li></ol>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">Process B:<u></u><u></u></span></p>
<ol start="1" type="1" style="margin-top:0cm">
<li class="x_m_-4633289030068696578MsoListParagraph" style="color:black; margin-left:0cm">
<span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">clang -O1 -S -emit-llvm main.c -o main.ll<u></u><u></u></span></li></ol>
<pre style="margin-left:36.0pt"><u></u><span style="color:black"><span>2.<span style="font:7.0pt "Times New Roman"">  </span></span></span><u></u><span style="font-family:"Calibri Light",sans-serif; color:black">opt [opt flags given by command ‘opt -O3 -disable-output -debug-pass=Arguments main.ll’] main.ll -o main-opt2.ll<u></u><u></u></span></pre>
<ol start="3" type="1" style="margin-top:0cm">
<li class="x_m_-4633289030068696578MsoListParagraph" style="color:black; margin-left:0cm">
<span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif">clang -O1 main-opt2.ll -o main-opt2<u></u><u></u></span></li></ol>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black">I tried this with a set of programs and I noticed the execution time of main-opt2 is often much slower than main-opt1. While ‘main.ll’ is the same, ‘main-opt1.ll’
 is different to ‘main-opt2.ll’. May I get some suggestions what I should put for opt (to replace the command in the brackets), so that the two process would have identical effects? Any help would be much appreciated.
<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black">Thanks,<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black">Han<u></u><u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif; color:black"><u></u> <u></u></span></p>
<p class="x_MsoNormal"><span style="font-size:10.0pt; font-family:"Calibri Light",sans-serif"><u></u> <u></u></span></p>
</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">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>
</blockquote>
</div>
</div>
</body>
</html>