llvm-project/llvm/test/CodeGen/WebAssembly
Adrian Prantl bceaaa9643 [IR] Remove the DIExpression field from DIGlobalVariable.
This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently, DIGlobalVariables holds a DIExpression. This is not the
best way to model this:

(1) The DIGlobalVariable should describe the source level variable,
    not how to get to its location.

(2) It makes it unsafe/hard to update the expressions when we call
    replaceExpression on the DIGLobalVariable.

(3) It makes it impossible to represent a global variable that is in
    more than one location (e.g., a variable with multiple
    DW_OP_LLVM_fragment-s).  We also moved away from attaching the
    DIExpression to DILocalVariable for the same reasons.

This reapplies r289902 with additional testcase upgrades and a change
to the Bitcode record for DIGlobalVariable, that makes upgrading the
old format unambiguous also for variables without DIExpressions.

<rdar://problem/29250149>
https://llvm.org/bugs/show_bug.cgi?id=31013
Differential Revision: https://reviews.llvm.org/D26769

llvm-svn: 290153
2016-12-20 02:09:43 +00:00
..
address-offsets.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
byval.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
call.ll [WebAssembly] Fix for 0xc call_indirect changes 2016-10-21 16:38:07 +00:00
cfg-stackify.ll [CodeGenPrep] Skip merging empty case blocks 2016-12-16 20:38:39 +00:00
cfi.ll [WebAssembly] Fix CFI index to account for padding nullptr function 2016-08-08 23:56:01 +00:00
comparisons_f32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
comparisons_f64.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
comparisons_i32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
comparisons_i64.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
conv.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
copysign-casts.ll
cpus.ll [WebAssembly] Tighten up some regexes in some tests. 2016-01-20 05:55:09 +00:00
dbgvalue.ll [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
dead-vreg.ll [WebAssembly] Rematerialize constants rather than hold them live in registers. 2016-01-19 16:59:23 +00:00
divrem-constant.ll [WebAssembly] Don't expand divisions by constants. 2016-05-18 14:29:42 +00:00
f32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
f64.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
fast-isel-noreg.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
fast-isel.ll [WebAssembly] Preliminary fast-isel support. 2016-05-10 17:39:48 +00:00
frem.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
func.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
global.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
globl.ll [WebAssembly] Emit .import_global assembler directives 2016-12-01 00:11:15 +00:00
i32-load-store-alignment.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
i32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
i64-load-store-alignment.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
i64.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
i128.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
ident.ll
immediates.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
implicit-def.ll [WebAssembly] Convert stackified IMPLICIT_DEF into constant 0. 2016-11-08 19:40:38 +00:00
indirect-import.ll [WebAssembly] Emit type signatures for declared functions 2016-06-03 18:34:36 +00:00
inline-asm.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +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] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
lit.local.cfg
load-ext.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
load-store-i1.ll [WebAssembly] Update extending load test for new i1 behavior 2016-10-20 00:10:34 +00:00
load.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
lower-em-ehsjlj-options.ll [WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302) 2016-09-01 21:05:15 +00:00
lower-em-exceptions-whitelist.ll [WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302) 2016-09-01 21:05:15 +00:00
lower-em-exceptions.ll [WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302) 2016-09-01 21:05:15 +00:00
lower-em-sjlj.ll [WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302) 2016-09-01 21:05:15 +00:00
mem-intrinsics.ll Codegen: Tail-duplicate during placement. 2016-10-11 20:36:43 +00:00
memory-addr32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
negative-base-reg.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
non-executable-stack.ll
offset-folding.ll [WebAssembly] Add tests for negative offsets with global variable addresses. 2016-01-25 15:19:39 +00:00
offset.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
phi.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
reg-stackify.ll [WebAssembly] Fix for 0xc call_indirect changes 2016-10-21 16:38:07 +00:00
return-int32.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
return-void.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
returned.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
select.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
signext-zeroext.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
simd-arith.ll [WebAssembly] Initial SIMD128 support. 2016-08-02 23:16:09 +00:00
stack-alignment.ll [WebAssembly] Emit a BasePointer when we have overly-aligned stack objects 2016-11-07 22:00:48 +00:00
store-trunc.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
store.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
switch.ll [WebAssemby] Implement block signatures. 2016-10-06 22:29:32 +00:00
unreachable.ll [WebAssembly] Preliminary fast-isel support. 2016-05-10 17:39:48 +00:00
unused-argument.ll [WebAssembly] Optimize away return instructions using fallthroughs. 2016-05-21 00:21:56 +00:00
userstack.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
varargs.ll [WebAssembly] Remove the output operand from stores. 2016-10-06 22:08:28 +00:00
vtable.ll