llvm-project/llvm/test/CodeGen/WebAssembly
Derek Schuff 8bb5f2927a [WebAssembly] Implement eliminateCallFramePseudo
Summary:
Implement eliminateCallFramePsuedo to handle ADJCALLSTACKUP/DOWN
pseudo-instructions. Add a test calling a vararg function which causes non-0
adjustments. This revealed an issue with RegisterCoalescer wherein it
eliminates a COPY from SP32 to a vreg but failes to update the live ranges
of EXPR_STACK, causing a machineinstr verifier failure (so this test
is commented out).

Also add a dynamic alloca test, which causes a callseq_end dag node with
a 0 (instead of undef) second argument to be generated. We currently fail to
select that, so adjust the ADJCALLSTACKUP tablegen code to handle it.

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

llvm-svn: 255844
2015-12-16 23:21:30 +00:00
..
call.ll [WebAssembly] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
cfg-stackify.ll [WebAssembly] Fix the CFG Stackifier to handle unoptimized branches 2015-12-16 19:06:41 +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 PeepholeOptimizer: Ignore dead implicit defs 2015-12-10 00:37:51 +00:00
copysign-casts.ll [WebAssembly] Tighten up several CHECK tests. 2015-12-10 14:52:34 +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] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
f64.ll [WebAssembly] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
fast-isel.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
frem.ll [WebAssembly] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
func.ll [WebAssembly] Suffix output operands with '='. 2015-11-23 21:55:57 +00:00
global.ll [WebAssembly] Implement instruction selection for constant offsets in addresses. 2015-12-15 22:01:29 +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
inline-asm.ll [WebAssembly] Use the new offset syntax for memory operands in inline asm. 2015-12-16 18:14:49 +00:00
legalize.ll [WebAssembly] Tighten up several CHECK tests. 2015-12-10 14:52:34 +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
offset.ll [WebAssembly] Implement instruction selection for constant offsets in addresses. 2015-12-15 22:01:29 +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] Add type prefixes to call instructions 2015-12-14 22:56:51 +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] Implement instruction selection for constant offsets in addresses. 2015-12-15 22:01:29 +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] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
userstack.ll [WebAssembly] Implement eliminateCallFramePseudo 2015-12-16 23:21:30 +00:00
varargs.ll [WebAssembly] Implement eliminateCallFramePseudo 2015-12-16 23:21:30 +00:00