diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-12-09 16:23:59 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-12-09 16:23:59 +0000 |
commit | 1cf96c0c34a4398c2bc0531c649d56ca805d2e30 (patch) | |
tree | cb1e96ce41ca58ef508322cef588816521136b99 /llvm/lib/Target/WebAssembly/WebAssembly.h | |
parent | 07410ed234702081a1fa42f1bc950421147c2c6c (diff) | |
download | bcm5719-llvm-1cf96c0c34a4398c2bc0531c649d56ca805d2e30.tar.gz bcm5719-llvm-1cf96c0c34a4398c2bc0531c649d56ca805d2e30.zip |
[WebAssembly] Reintroduce ARGUMENT moving logic
Reinteroduce the code for moving ARGUMENTS back to the top of the basic block.
While the ARGUMENTS physical register prevents sinking and scheduling from
moving them, it does not appear to be sufficient to prevent SelectionDAG from
moving them down in the initial schedule. This patch introduces a patch that
moves them back to the top immediately after SelectionDAG runs.
This is still hopefully a temporary solution. http://reviews.llvm.org/D14750 is
one alternative, though the review has not been favorable, and proposed
alternatives are longer-term and have other downsides.
This fixes the main outstanding -verify-machineinstrs failures, so it adds
-verify-machineinstrs to several tests.
Differential Revision: http://reviews.llvm.org/D15377
llvm-svn: 255125
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssembly.h')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssembly.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssembly.h b/llvm/lib/Target/WebAssembly/WebAssembly.h index 6705b22a376..f8d0a1ccdc2 100644 --- a/llvm/lib/Target/WebAssembly/WebAssembly.h +++ b/llvm/lib/Target/WebAssembly/WebAssembly.h @@ -27,6 +27,7 @@ FunctionPass *createWebAssemblyOptimizeReturned(); FunctionPass *createWebAssemblyISelDag(WebAssemblyTargetMachine &TM, CodeGenOpt::Level OptLevel); +FunctionPass *createWebAssemblyArgumentMove(); FunctionPass *createWebAssemblyStoreResults(); FunctionPass *createWebAssemblyRegStackify(); |