llvm-project/llvm/test/CodeGen/WebAssembly
Dan Gohman 1cf96c0c34 [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
2015-12-09 16:23:59 +00:00
..
call.ll [WebAssembly] Don't special-case call operand order. 2015-11-23 22:04:06 +00:00
cfg-stackify.ll [WebAssembly] Tighten up some testcase regular expressions. 2015-12-06 19:31:44 +00:00
comparisons_f32.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
comparisons_f64.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
comparisons_i32.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
comparisons_i64.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
conv.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
cpus.ll [WebAssembly] Tighten up some testcase regular expressions. 2015-12-06 19:31:44 +00:00
dead-vreg.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
f32.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
f64.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
fast-isel.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
frem.ll [WebAssembly] Implement direct calls to external symbols. 2015-12-05 20:41:36 +00:00
func.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
global.ll [WebAssembly] Implement direct calls to external symbols. 2015-12-05 20:41:36 +00:00
globl.ll [WebAssembly] Switch to a more traditional assembly syntax 2015-10-06 00:27:55 +00:00
i32.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
i64.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
immediates.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
import.ll [WebAssembly] Reapply r252858, with svn add for the new file. 2015-11-12 17:04:33 +00:00
inline-asm.ll [WebAssembly] Support inline asm constraints of type i16 and similar. 2015-12-05 20:03:44 +00:00
lit.local.cfg
load-ext.ll [WebAssembly] Support constant offsets on loads and stores 2015-12-05 00:26:39 +00:00
load-store-i1.ll [WebAssembly] Fix scheduling dependencies in register-stackified code 2015-12-05 00:51:40 +00:00
load.ll [WebAssembly] Support constant offsets on loads and stores 2015-12-05 00:26:39 +00:00
loop-idiom.ll WebAssembly: disable some loop-idiom recognition 2015-10-28 17:50:23 +00:00
memory-addr32.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
memory-addr64.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
offset-folding.ll [WebAssembly] Enable folding of offsets into global variable addresses. 2015-12-06 19:33:32 +00:00
phi.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
reg-stackify.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
return-int32.ll [WebAssembly] Enable register coloring and register stackifying. 2015-11-18 16:12:01 +00:00
return-void.ll [WebAssembly] Switch to a more traditional assembly syntax 2015-10-06 00:27:55 +00:00
returned.ll [WebAssembly] Don't perform the returned-argument optimization on constants. 2015-12-05 22:12:39 +00:00
select.ll [WebAssembly] Fold setne and seteq comparisons into selects. 2015-11-25 22:13:48 +00:00
signext-zeroext.ll [WebAssembly] Make several tests more strict. 2015-11-25 17:33:15 +00:00
store-results.ll [WebAssembly] Support constant offsets on loads and stores 2015-12-05 00:26:39 +00:00
store-trunc.ll [WebAssembly] Support constant offsets on loads and stores 2015-12-05 00:26:39 +00:00
store.ll [WebAssembly] Support constant offsets on loads and stores 2015-12-05 00:26:39 +00:00
switch.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
unreachable.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
unused-argument.ll [WebAssembly] Don't special-case call operand order. 2015-11-23 22:04:06 +00:00
varargs.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00