llvm-6502/test
Jingyue Wu 85e632de29 Add a speculative execution pass
Summary:
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.

Patched by Bjarke Roune. 

Test Plan:
This patch adds a set of tests in test/Transforms/SpeculativeExecution/spec.ll
The pass is controlled by a flag which defaults to having the pass not run.

Reviewers: eliben, dberlin, meheff, jingyue, hfinkel

Reviewed By: jingyue, hfinkel

Subscribers: majnemer, jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D9360

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237459 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-15 17:54:48 +00:00
..
Analysis [DependenceAnalysis] Fix for PR21585: collectUpperBound triggers asserts 2015-05-15 12:17:22 +00:00
Assembler
Bindings
Bitcode Bitcode: Set LastDL after writing DebugLocs 2015-05-06 22:51:12 +00:00
BugPoint
CodeGen Mark SMIN/SMAX/UMIN/UMAX nodes as legal and add patterns for them. 2015-05-15 16:15:57 +00:00
DebugInfo [DebugInfo] Debug locations for constant SD nodes 2015-05-13 08:58:03 +00:00
ExecutionEngine
Feature
FileCheck
Instrumentation Fix the check strings in a test case committed in r212455. 2015-05-15 00:12:26 +00:00
Integer
JitListener
Linker Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LTO
MC [mips] [IAS] Fix expansion of negative 32-bit immediates for LI/DLI. 2015-05-15 09:42:11 +00:00
Object [llvm-readobj] Teach llvm-readobj to print PT_MIPS_ABIFLAGS program header 2015-05-15 15:59:22 +00:00
Other Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
SymbolRewriter
TableGen Reverting r237234, "Use std::bitset for SubtargetFeatures" 2015-05-13 10:28:46 +00:00
tools [llvm-readobj] Teach llvm-readobj to print PT_MIPS_ABIFLAGS program header 2015-05-15 15:59:22 +00:00
Transforms Add a speculative execution pass 2015-05-15 17:54:48 +00:00
Unit
Verifier Add function entry count metadata. 2015-05-13 15:13:45 +00:00
YAMLParser YAML: Implement block scalar parsing. 2015-05-13 23:10:51 +00:00
.clang-format
CMakeLists.txt Remove duplicate cmake target I added in r236792. 2015-05-08 16:59:53 +00:00
lit.cfg Add yaml-bench to the list of tools make check needs to run 2015-05-07 22:53:11 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh