1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test/CodeGen/WebAssembly
Dan Gohman da9aecd4b5 [SelectionDAGBuilder] Set NoUnsignedWrap for inbounds gep and load/store offsets.
In an inbounds getelementptr, when an index produces a constant non-negative
offset to add to the base, the add can be assumed to not have unsigned overflow.

This relies on the assumption that addresses can't occupy more than half the
address space, which isn't possible in C because it wouldn't be possible to
represent the difference between the start of the object and one-past-the-end
in a ptrdiff_t.

Setting the NoUnsignedWrap flag is theoretically useful in general, and is
specifically useful to the WebAssembly backend, since it permits stronger
constant offset folding.

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

llvm-svn: 256890
2016-01-06 00:43:06 +00:00
..
call.ll [WebAssembly] Add type prefixes to call instructions 2015-12-14 22:56:51 +00:00
cfg-stackify.ll [WebAssembly] Fix handling of COPY instructions in WebAssemblyRegStackify. 2015-12-25 00:31:02 +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] Switch WebAssemblyMCAsmInfo.h from MCAsmInfo to MCAsmInfoELF. 2015-12-17 20:50:45 +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
ident.ll [WebAssembly] Switch WebAssemblyMCAsmInfo.h from MCAsmInfo to MCAsmInfoELF. 2015-12-17 20:50:45 +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] Fix legalization of shift operators on large integer types. 2015-12-16 23:25:51 +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: remove 'external' from test 2015-12-23 23:56:13 +00:00
offset.ll [SelectionDAGBuilder] Set NoUnsignedWrap for inbounds gep and load/store offsets. 2016-01-06 00:43:06 +00:00
phi.ll [WebAssembly] Reintroduce ARGUMENT moving logic 2015-12-09 16:23:59 +00:00
reg-stackify.ll [WebAssembly] Fix handling of COPY instructions in WebAssemblyRegStackify. 2015-12-25 00:31:02 +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
vtable.ll WebAssembly: add vtable test 2015-12-19 18:55:18 +00:00