llvm-project/llvm/lib/MC
Heejin Ahn 28780e59f6 [WebAssembly] Add Wasm SjLj support
This add support for SjLj using Wasm exception handling instructions:
https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/Exceptions.md

This does not yet support the mixed use of EH and SjLj within a
function. It will be added in a follow-up CL.

This currently passes all SjLj Emscripten tests for wasm0/1/2/3/s,
except for the below:
- `test_longjmp_standalone`: Uses Node
- `test_dlfcn_longjmp`: Uses NodeRAWFS
- `test_longjmp_throw`: Mixes EH and SjLj
- `test_exceptions_longjmp1`: Mixes EH and SjLj
- `test_exceptions_longjmp2`: Mixes EH and SjLj
- `test_exceptions_longjmp3`: Mixes EH and SjLj

Reviewed By: dschuff, tlively

Differential Revision: https://reviews.llvm.org/D108960
2021-09-02 10:51:02 -07:00
..
MCDisassembler [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
MCParser [MCParser] Correctly handle CRLF line ends when consuming line comments 2021-08-17 15:52:51 +01:00
CMakeLists.txt [CSSPGO] Do not use getCanonicalFnName in pseudo probe descriptor decoding 2021-08-10 18:24:39 -07:00
ConstantPools.cpp
ELFObjectWriter.cpp [MC] Set SHF_INFO_LINK on SHT_REL/SHT_RELA sections 2021-09-02 01:00:51 -07:00
MCAsmBackend.cpp RISCV: adjust handling of relocation emission for RISCV 2021-06-17 08:20:02 -07:00
MCAsmInfo.cpp [AIX] Use AsmParser to do inline asm parsing 2021-07-02 16:12:21 +00:00
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp [AIX] Emit version string in .file directive 2021-07-12 17:03:52 +00:00
MCAsmMacro.cpp
MCAsmStreamer.cpp [AIX] Emit version string in .file directive 2021-07-12 17:03:52 +00:00
MCAssembler.cpp RISCV: adjust handling of relocation emission for RISCV 2021-06-17 08:20:02 -07:00
MCCodeEmitter.cpp
MCCodeView.cpp
MCContext.cpp [SystemZ][z/OS] Initial code to generate assembly files on z/OS 2021-07-27 11:29:15 -04:00
MCDwarf.cpp RISCV: adjust handling of relocation emission for RISCV 2021-06-17 08:20:02 -07:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp [MC][RISCV] Add RISCV MCObjectFileInfo 2021-08-27 18:23:29 +01:00
MCExpr.cpp RISCV: adjust handling of relocation emission for RISCV 2021-06-17 08:20:02 -07:00
MCFragment.cpp
MCInst.cpp [MC] Add the ability to pass MCRegisterInfo to dump_pretty. 2021-05-14 18:21:57 -07:00
MCInstPrinter.cpp
MCInstrAnalysis.cpp [ARM][llvm-objdump] Annotate PC-relative memory operands of VLDR instructions 2021-08-05 14:11:11 +07:00
MCInstrDesc.cpp
MCInstrInfo.cpp
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachOStreamer.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCMachObjectTargetWriter.cpp
MCNullStreamer.cpp
MCObjectFileInfo.cpp [MC][RISCV] Add RISCV MCObjectFileInfo 2021-08-27 18:23:29 +01:00
MCObjectStreamer.cpp [AIX] Emit version string in .file directive 2021-07-12 17:03:52 +00:00
MCObjectWriter.cpp
MCPseudoProbe.cpp [CSSPGO] Split context string to deduplicate function name used in the context. 2021-08-30 20:09:29 -07:00
MCRegisterInfo.cpp
MCSchedule.cpp
MCSection.cpp [llvm] Use llvm::lower_bound and llvm::upper_bound (NFC) 2021-01-29 23:23:36 -08:00
MCSectionCOFF.cpp
MCSectionELF.cpp [MC][ELF] Support for zero flag section groups 2021-02-16 14:23:40 -08:00
MCSectionMachO.cpp Support `#pragma clang section` directives on MachO targets 2021-02-25 09:30:10 -08:00
MCSectionWasm.cpp [WebAssembly] Add TLS data segment flag: WASM_SEG_FLAG_TLS 2021-05-12 13:31:02 -07:00
MCSectionXCOFF.cpp [XCOFF][AIX] Add Global Variables Directly to TOC for 32 bit AIX 2021-04-30 14:48:02 +00:00
MCStreamer.cpp [MC][CodeGen] Emit constant pools earlier 2021-08-03 20:55:31 -07:00
MCSubtargetInfo.cpp AMDGPU: Add target id and code object v4 support 2021-03-24 11:54:05 -04:00
MCSymbol.cpp
MCSymbolELF.cpp
MCSymbolXCOFF.cpp [XCOFF][DebugInfo] support DWARF for XCOFF for assembly output. 2021-03-04 21:07:52 -05:00
MCTargetOptions.cpp [WebAssembly] Added initial type checker to MC Assembler 2021-07-09 14:07:25 -07:00
MCTargetOptionsCommandFlags.cpp [WebAssembly] Added initial type checker to MC Assembler 2021-07-09 14:07:25 -07:00
MCValue.cpp
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp
MCWin64EH.cpp
MCWinCOFFStreamer.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp
MachObjectWriter.cpp
StringTableBuilder.cpp [ADT] Move DenseMapInfo for ArrayRef/StringRef into respective headers (NFC) 2021-06-03 18:34:36 +02:00
SubtargetFeature.cpp
WasmObjectWriter.cpp [WebAssembly] Add Wasm SjLj support 2021-09-02 10:51:02 -07:00
WinCOFFObjectWriter.cpp [COFF] Fix ARM and ARM64 REL32 relocations to be relative to the end of the relocation 2021-05-12 09:53:43 +03:00
XCOFFObjectWriter.cpp [XCOFF][NFC] add DWARF section support in XCOFF object writer 2021-07-05 03:13:29 +00:00