[PATCH] Add a speculative execution pass
Bjarke Hammersholt Roune
broune at google.com
Wed Apr 29 17:43:05 PDT 2015
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 --------------
A non-text attachment was scrubbed...
Name: D9360.24670.patch
Type: text/x-patch
Size: 14929 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150430/d8b6c42a/attachment.bin>
More information about the llvm-commits
mailing list