[PATCH] Add a speculative execution pass

David Majnemer david.majnemer at gmail.com
Wed Apr 29 19:08:28 PDT 2015


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?

On Wednesday, April 29, 2015, Bjarke Hammersholt Roune <broune at google.com>
wrote:

> Hi meheff, jingyue, eliben, hfinkel, dberlin,
>
> 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%.
>
> Credit goes to Jingyue Wu for writing an earlier version of this pass.
>
> http://reviews.llvm.org/D9360
>
> Files:
>   include/llvm/InitializePasses.h
>   include/llvm/LinkAllPasses.h
>   include/llvm/Transforms/Scalar.h
>   lib/Transforms/IPO/PassManagerBuilder.cpp
>   lib/Transforms/Scalar/CMakeLists.txt
>   lib/Transforms/Scalar/Scalar.cpp
>   lib/Transforms/Scalar/SpeculativeExecution.cpp
>   test/Transforms/SpeculativeExecution/spec.ll
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150429/1cb1c85a/attachment.html>


More information about the llvm-commits mailing list