summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SpeculativeExecution
Commit message (Collapse)AuthorAgeFilesLines
* Support FNeg in SpeculativeExecution passCameron McInally2019-05-141-2/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D61910 llvm-svn: 360692
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-175-0/+516
| | | | | | | | The reversion apparently deleted the test/Transforms directory. Will be re-reverting again. llvm-svn: 358552
* Temporarily Revert "Add basic loop fusion pass."Eric Christopher2019-04-175-516/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* Revert r301950: SpeculativeExecution: Stop using whitelist for costsChandler Carruth2017-05-102-105/+0
| | | | | | | | | | This pass doesn't correctly handle testing for when it is legal to hoist arbitrary instructions. The whitelist happens to make it safe, so before it is removed the pass's legality checks will need to be enhanced. Details have been added to the code review thread for the patch. llvm-svn: 302640
* SpeculativeExecution: Stop using whitelist for costsMatt Arsenault2017-05-022-0/+105
| | | | | | | Just let TTI's cost do this instead of arbitrarily restricting this. llvm-svn: 301950
* SpeculativeExecution: Allow speculating more inst typesMatt Arsenault2016-10-284-0/+318
| | | | | | | Partial step towards removing the whitelist and only using TTI's cost. llvm-svn: 285438
* [PM] Port SpeculativeExecution to the new PMMichael Kuperstein2016-08-011-0/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D23033 llvm-svn: 277393
* Move divergent-target test into CodeGen/NVPTX because it requires an NVPTX ↵Justin Lebar2016-04-151-22/+0
| | | | | | target. llvm-svn: 266403
* [Speculation] Add a SpeculativeExecution mode where the pass does nothing ↵Justin Lebar2016-04-151-0/+22
| | | | | | | | | | | | | | | | unless TTI::hasBranchDivergence() is true. Summary: This lets us add this pass to the IR pass manager unconditionally; it will simply not do anything on targets without branch divergence. Reviewers: tra Subscribers: llvm-commits, jingyue, rnk, chandlerc Differential Revision: http://reviews.llvm.org/D18625 llvm-svn: 266398
* Add a speculative execution passJingyue Wu2015-05-151-0/+195
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 llvm-svn: 237459
OpenPOWER on IntegriCloud