llvm-project/llvm/lib/MC
Heejin Ahn da419bdb5e [WebAssembly] Add support for the event section
Summary:
This adds support for the 'event section' specified in the exception
handling proposal. (This was named 'exception section' first, but later
renamed to 'event section' to take possibilities of other kinds of
events into consideration. But currently we only store exception info in
this section.)

The event section is added between the global section and the export
section. This is for ease of validation per request of the V8 team.

This patch:
- Creates the event symbol type, which is a weak symbol
- Makes 'throw' instruction take the event symbol '__cpp_exception'
- Adds relocation support for events
- Adds WasmObjectWriter / WasmObjectFile (Reader) support
- Adds obj2yaml / yaml2obj support
- Adds '.eventtype' printing support

Reviewers: dschuff, sbc100, aardappel

Subscribers: jgravelle-google, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D54096

llvm-svn: 346825
2018-11-14 02:46:21 +00:00
..
MCDisassembler Remove trailing space 2018-07-30 19:41:25 +00:00
MCParser [WebAssembly] Added WasmAsmParser. 2018-11-12 20:15:01 +00:00
CMakeLists.txt Revert BTF commit series. 2018-10-12 19:41:05 +00:00
ConstantPools.cpp [MC] - ConstantPools.cpp: Style consistency, remove redundant braces. NFC. 2018-09-03 03:48:39 +00:00
ELFObjectWriter.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
LLVMBuild.txt [WebAssembly] Move toString helpers to BinaryFormat 2018-05-14 22:42:07 +00:00
MCAsmBackend.cpp [RISCV] Add symbol diff relocation support for RISC-V 2018-05-23 12:36:18 +00:00
MCAsmInfo.cpp [DEBUGINFO] Add option that allows to disable emission of flags in .loc directives. 2018-04-03 17:28:55 +00:00
MCAsmInfoCOFF.cpp Revert "[COFF] Use comdat shared constants for MinGW as well" 2018-07-26 10:48:20 +00:00
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp [WebAssembly] clang-format (NFC) 2018-09-05 01:27:38 +00:00
MCAsmMacro.cpp [Asm] Fix another layering violation in assmebly macro dumping 2018-03-06 16:51:17 +00:00
MCAsmStreamer.cpp [ARM64][Windows] MCLayer support for exception handling 2018-10-27 06:13:06 +00:00
MCAssembler.cpp [DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules. 2018-08-01 04:17:41 +00:00
MCCodeEmitter.cpp
MCCodePadder.cpp [MC] Adding code padding for performance stability - infrastructure. NFC. 2017-10-24 06:16:03 +00:00
MCCodeView.cpp [codeview] Clean up machinery for deferring .cv_loc emission 2018-08-28 23:25:59 +00:00
MCContext.cpp Revert BTF commit series. 2018-10-12 19:41:05 +00:00
MCDwarf.cpp Fix .cfi_restore with register numbers > 64 2018-11-13 10:54:49 +00:00
MCELFObjectTargetWriter.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
MCELFStreamer.cpp [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
MCExpr.cpp [WebAssembly] Add support for the event section 2018-11-14 02:46:21 +00:00
MCFragment.cpp Fix typoed cast to avoid assertion in MCFragment::dump. 2018-06-18 16:26:11 +00:00
MCInst.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCInstPrinter.cpp
MCInstrAnalysis.cpp [TableGen][SubtargetEmitter] Add the ability for processor models to describe dependency breaking instructions. 2018-09-19 15:57:45 +00:00
MCInstrDesc.cpp
MCLabel.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCLinkerOptimizationHint.cpp MC: Change object writers to use endian::Writer. NFCI. 2018-05-21 18:17:42 +00:00
MCMachOStreamer.cpp [MC] Error on a .zerofill directive in a non-virtual section 2018-07-02 17:29:43 +00:00
MCMachObjectTargetWriter.cpp
MCNullStreamer.cpp [MC] Implement EmitRawText in MCNullStreamer 2018-11-01 15:41:11 +00:00
MCObjectFileInfo.cpp [DWARFv5] Emit normal type units in .debug_info comdats. 2018-11-09 19:06:09 +00:00
MCObjectStreamer.cpp Revert BTF commit series. 2018-10-12 19:41:05 +00:00
MCObjectWriter.cpp
MCRegisterInfo.cpp [MC] Improve error message when a codeview register is unknown 2018-08-17 21:35:14 +00:00
MCSchedule.cpp [CodeGen] assume max/default throughput for unspecified instructions 2018-06-05 23:34:45 +00:00
MCSection.cpp The initial .text section generated in object files was missing the 2018-09-06 22:09:31 +00:00
MCSectionCOFF.cpp [COFF] Fix assembly output of comdat sections without an attached symbol 2018-07-23 22:15:19 +00:00
MCSectionELF.cpp [Hexagon] Handle Hexagon's SHF_HEX_GPREL section flag 2018-11-09 14:17:27 +00:00
MCSectionMachO.cpp
MCSectionWasm.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCStreamer.cpp [ARM64][Windows] MCLayer support for exception handling 2018-10-27 06:13:06 +00:00
MCSubtargetInfo.cpp [MC] fix documentation comments; NFC 2018-03-22 15:23:21 +00:00
MCSymbol.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCSymbolELF.cpp Remove redundant includes from lib/MC. 2017-12-13 21:30:54 +00:00
MCTargetOptions.cpp
MCValue.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
MCWasmObjectTargetWriter.cpp [WebAssembly] Remove unused headers in MCWasmObjectWriter 2018-05-16 22:13:18 +00:00
MCWasmStreamer.cpp [WebAssembly] Parsing missing directives to produce valid .o 2018-11-02 22:04:33 +00:00
MCWin64EH.cpp [ARM64] [Windows] Improve error reporting for unsupported SEH unwind. 2018-11-08 21:20:52 +00:00
MCWinCOFFStreamer.cpp [MC] Add support for the .rva assembler directive for COFF targets 2018-07-26 20:11:26 +00:00
MCWinEH.cpp
MachObjectWriter.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00
StringTableBuilder.cpp [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
SubtargetFeature.cpp IWYU for llvm-config.h in llvm, additions. 2018-04-30 14:59:11 +00:00
WasmObjectWriter.cpp [WebAssembly] Add support for the event section 2018-11-14 02:46:21 +00:00
WinCOFFObjectWriter.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-27 02:13:45 +00:00