<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt">So, when the MI scheduler is enabled, will SD scheduling be totally disabled or the SD scheduler will be automatically set to do source scheduling? <br><br>-Ghassan<br><div><span><br></span></div>  <div style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> Andrew Trick <atrick@apple.com><br> <b><span style="font-weight: bold;">To:</span></b> llvmdev@cs.uiuc.edu <br><b><span style="font-weight: bold;">Cc:</span></b> Ghassan Shobaki <ghassan_shobaki@yahoo.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, September 26, 2013 9:24 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re:
 [LLVMdev] Enabling MI Scheduler on x86 (was Experimental Evaluation of the Schedulers in LLVM 3.3)<br> </font> </div> <div class="y_msg_container"><br>
<div id="yiv936979785"><div><br><div><div>On Sep 23, 2013, at 11:36 PM, Chandler Carruth <<a rel="nofollow" ymailto="mailto:chandlerc@google.com" target="_blank" href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:</div><br class="yiv936979785Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="yiv936979785gmail_extra"><br><div class="yiv936979785gmail_quote">On Tue, Sep 24, 2013 at 1:11 AM, Andrew Trick <span dir="ltr"><<a rel="nofollow" ymailto="mailto:atrick@apple.com" target="_blank" href="mailto:atrick@apple.com" class="yiv936979785cremed">atrick@apple.com</a>></span> wrote:<br>
<blockquote class="yiv936979785gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">This week, I'll see if we can enable MI scheduling by default for x86. I'm not sure which flags you're using to test it now. But by making it default and enabling the corresponding coalescer changes, we can be confident that benchmarking efforts are improving on the same baseline.</blockquote>
</div><br>While I'm generally really excited by this, I would ask for a bit more staging of this change.</div><div class="yiv936979785gmail_extra"><br></div><div class="yiv936979785gmail_extra">Specifically, I would really like for a single, clear switch to enable exactly what you want benchmark data on *before* it becomes the default, and to give various folks time to run benchmarks and report serious regressions.</div>
<div class="yiv936979785gmail_extra"><br></div><div class="yiv936979785gmail_extra">I don't want our ability to ship LLVM from top-of-tree to be seriously impaired by this, and enabling a feature that can have dramatic performance impact without a giving folks a really simple way to try it out and a period of time to run benchmarks and collect data seems to do that. =/</div>
<div class="yiv936979785gmail_extra"><br></div><div class="yiv936979785gmail_extra">Once it is the default, it would be really good to leave in the single, simple switch for a period of time for folks to disable it if need be.</div></div>
</blockquote></div><div><br></div><div>I just added a flag: -misched-bench. You can use it to flip back and forth between your target's default SD scheduler and the machine scheduler. It's doesn't affect whether the postRA scheduler is also run.</div><div><br></div><div>-Andy</div></div>
</div><br><br></div> </div> </div>  </div></body></html>