llvm-project/llvm/test/MC/WebAssembly
Derek Schuff ff171acf84 [WebAssembly] Track frame registers through VReg and local allocation
This change has 2 components:

Target-independent: add a method getDwarfFrameBase to TargetFrameLowering. It
describes how the Dwarf frame base will be encoded.  That can be a register (the
default), the CFA (which replaces NVPTX-specific logic in DwarfCompileUnit), or
a DW_OP_WASM_location descriptr.

WebAssembly: Allow WebAssemblyFunctionInfo::getFrameRegister to return the
correct virtual register instead of FP32/SP32 after WebAssemblyReplacePhysRegs
has run.  Make WebAssemblyExplicitLocals store the local it allocates for the
frame register. Use this local information to implement getDwarfFrameBase

The result is that the DW_AT_frame_base attribute is correctly encoded for each
subprogram, and each param and local variable has a correct DW_AT_location that
uses DW_OP_fbreg to refer to the frame base.

This is a reland of rG3a05c3969c18 with fixes for the expensive-checks
and Windows builds

Differential Revision: https://reviews.llvm.org/D71681
2020-01-17 17:23:56 -08:00
..
annotations.s
array-fill.ll
assembler-binary.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
atomics-encodings.s [WebAssembly] Add atomic.fence instruction 2019-08-28 23:13:43 +00:00
bad-fixup-expr.s [WebAssembly][MC] Simplify WasmObjectWriter::recordRelocation. NFC. 2019-08-20 00:33:50 +00:00
basic-assembly-errors.s [WebAssembly] tablegen: distinguish float/int immediate operands. 2019-07-08 16:58:37 +00:00
basic-assembly.s [WebAssembly] Allow multivalue types in block signature operands 2019-10-15 18:28:22 +00:00
blockaddress.ll Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
bss.ll
bulk-memory-encodings.s
comdat.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
compile-twice.ll
custom-code-section.ll
custom-sections.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
data-section.s [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
data-symbol-in-text-section.ll Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
debug-info.ll [WebAssembly] Track frame registers through VReg and local allocation 2020-01-17 17:23:56 -08:00
debug-localvar.ll [WebAssembly] Track frame registers through VReg and local allocation 2020-01-17 17:23:56 -08:00
dwarfdump.ll [WebAssembly] Track frame registers through VReg and local allocation 2020-01-17 17:23:56 -08:00
event-section.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
explicit-sections.ll
export-name.s [WebAssembly] Add new `export_name` clang attribute for controlling wasm export names 2019-12-11 11:54:57 -08:00
external-data.ll
external-func-address.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
file-headers.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
func-address.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
function-alias.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
function-sections.ll
global-ctor-dtor.ll
import-module.s [WebAssebmly][MC] Support .import_name/.import_field asm directives 2019-12-06 15:09:56 -08:00
libcall.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
lit.local.cfg
no-dead-strip.ll [WebAssembly] Make __attribute__((used)) not imply export. 2019-08-29 22:40:00 +00:00
null-output.s
objdump.s [WebAssembly] Rename except_ref type to exnref 2019-07-15 22:49:25 +00:00
offset.ll
reloc-code.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
reloc-data.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
reloc-pic.s [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
sections.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
simd-encodings.s [WebAssembly] Implement SIMD {i8x16,i16x8}.avgr_u instructions 2019-12-17 15:05:50 -08:00
stack-ptr.ll
tail-call-encodings.s [WebAssembly] Assembler/InstPrinter: support call_indirect type index. 2019-08-01 18:08:26 +00:00
type-index.s [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
types.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
unnamed-data.ll
visibility.ll
weak-alias.s [WebAssembly] Convert MC tests to from bitcode to asm 2019-12-17 11:30:57 -08:00
weak.s [WebAssembly] Convert MC tests to from bitcode to asm 2019-12-17 11:30:57 -08:00