It seems this pass has a good deal in common with SimplifyCFG.  How is this pass different from bumping up the cost threshold in that pass?<br><br>On Wednesday, April 29, 2015, Bjarke Hammersholt Roune <<a href="mailto:broune@google.com">broune@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi meheff, jingyue, eliben, hfinkel, dberlin,<br>
<br>
This is a pass for speculative execution of instructions for simple if-then (triangle) control flow. It's aimed at GPUs, but could perhaps be used in other contexts. Enabling this pass gives us a 1.0% geomean improvement on Google benchmark suites, with one benchmark improving 33%.<br>
<br>
Credit goes to Jingyue Wu for writing an earlier version of this pass.<br>
<br>
<a href="http://reviews.llvm.org/D9360" target="_blank">http://reviews.llvm.org/D9360</a><br>
<br>
Files:<br>
  include/llvm/InitializePasses.h<br>
  include/llvm/LinkAllPasses.h<br>
  include/llvm/Transforms/Scalar.h<br>
  lib/Transforms/IPO/PassManagerBuilder.cpp<br>
  lib/Transforms/Scalar/CMakeLists.txt<br>
  lib/Transforms/Scalar/Scalar.cpp<br>
  lib/Transforms/Scalar/SpeculativeExecution.cpp<br>
  test/Transforms/SpeculativeExecution/spec.ll<br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
</blockquote>