llvm-project/llvm/test/CodeGen/WebAssembly
Dan Gohman 0cfb5f852d [WebAssembly] Move register stackification and coloring to a late phase.
Move the register stackification and coloring passes to run very late, after
PEI, tail duplication, and most other passes. This means that all code emitted
and expanded by those passes is now exposed to these passes. This also
eliminates the need for prologue/epilogue code to be manually stackified,
which significantly simplifies the code.

This does require running LiveIntervals a second time. It's useful to think
of these late passes not as late optimization passes, but as a domain-specific
compression algorithm based on knowledge of liveness information. It's used to
compress the code after all conventional optimizations are complete, which is
why it uses LiveIntervals at a phase when actual optimization passes don't
typically need it.

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

llvm-svn: 269012
2016-05-10 04:24:02 +00:00
..
address-offsets.ll WebAssembly: fix test 2016-02-28 15:44:54 +00:00
byval.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
call.ll [WebAssembly] Change a FIXME to a TODO in a comment. 2016-01-19 16:52:50 +00:00
cfg-stackify.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
comparisons_f32.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
comparisons_f64.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
comparisons_i32.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
comparisons_i64.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
conv.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
copysign-casts.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
cpus.ll [WebAssembly] Tighten up some regexes in some tests. 2016-01-20 05:55:09 +00:00
dead-vreg.ll [WebAssembly] Rematerialize constants rather than hold them live in registers. 2016-01-19 16:59:23 +00:00
f32.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
f64.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
fast-isel.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
frem.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
func.ll [WebAssembly] Rematerialize constants rather than hold them live in registers. 2016-01-19 16:59:23 +00:00
global.ll [WebAssembly] Optimize memcpy/memmove/memcpy calls. 2016-01-26 04:01:11 +00:00
globl.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
i32-load-store-alignment.ll [WebAssembly] Limit alignment hints to natural alignment. 2016-04-21 23:59:48 +00:00
i32.ll [WebAssembly] Implement the rotate instructions. 2016-03-22 18:01:49 +00:00
i64-load-store-alignment.ll [WebAssembly] Limit alignment hints to natural alignment. 2016-04-21 23:59:48 +00:00
i64.ll [WebAssembly] Implement the rotate instructions. 2016-03-22 18:01:49 +00:00
ident.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
immediates.ll [WebAssembly] Implement support for custom NaN bit patterns. 2016-02-16 15:14:23 +00:00
inline-asm.ll [WebAssembly] Fix a test to work even when the integrated assembler is enabled. 2016-01-12 21:01:30 +00:00
irreducible-cfg.ll [WebAssembly] Account for implicit operands when computing operand indices. 2016-04-26 01:40:56 +00:00
legalize.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
lit.local.cfg
load-ext.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
load-store-i1.ll [WebAssembly] Rematerialize constants rather than hold them live in registers. 2016-01-19 16:59:23 +00:00
load.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
mem-intrinsics.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
memory-addr32.ll [WebAssembly] Rename memory_size intrinsic to current_memory 2016-05-02 17:25:22 +00:00
memory-addr64.ll [WebAssembly] Rename memory_size intrinsic to current_memory 2016-05-02 17:25:22 +00:00
non-executable-stack.ll [WebAssembly] Don't create a needless .note.GNU-stack section 2016-01-15 23:59:13 +00:00
offset-folding.ll [WebAssembly] Add tests for negative offsets with global variable addresses. 2016-01-25 15:19:39 +00:00
offset.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
phi.ll [WebAssembly] Use the default private label prefixes. 2016-01-07 18:49:53 +00:00
reg-stackify.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
return-int32.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
return-void.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
returned.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
select.ll [WebAssembly] Update the select instructions' operand orders to match the spec. 2016-02-05 17:14:59 +00:00
signext-zeroext.ll [WebAssembly] Rematerialize constants rather than hold them live in registers. 2016-01-19 16:59:23 +00:00
store-results.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
store-trunc.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
store.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00
switch.ll [WebAssembly] Update for spec change from tableswitch to br_table. 2016-03-08 03:18:12 +00:00
unreachable.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
unused-argument.ll [WebAssembly] Define WebAssembly-specific relocation codes. 2016-01-11 23:38:05 +00:00
userstack.ll [WebAssembly] Move register stackification and coloring to a late phase. 2016-05-10 04:24:02 +00:00
varargs.ll [WebAssembly] Create new registers instead of reusing old ones in RegStackify. 2016-02-16 15:17:21 +00:00
vtable.ll [WebAssembly] Add -m:e to the target triple. 2016-01-07 03:19:23 +00:00