llvm-project/llvm/lib/MC
Martin Storsjö 5b86d130e2 [AArch64] Generate and parse SEH assembly directives
This ensures that you get the same output regardless if generating
code directly to an object file or if generating assembly and
assembling that.

Add implementations of the EmitARM64WinCFI*() methods in
AArch64TargetAsmStreamer, and fill in one blank in MCAsmStreamer.

Add corresponding directive handlers in AArch64AsmParser and
COFFAsmParser.

Some SEH directive names have been picked to match the prior art
for SEH assembly directives for x86_64, e.g. the spelling of
".seh_startepilogue" matching the preexisting ".seh_endprologue".

For the directives for saving registers, the exact spelling
from the arm64 documentation is picked, e.g. ".seh_save_reg" (to follow
that naming for all the other ones, e.g. ".seh_save_fregp_x"), while
the corresponding one for x86_64 is plain ".seh_savereg" without the
second underscore.

Directives in the epilogues have the same names as in prologues,
e.g. .seh_savereg, even though the registers are restored, not
saved, at that point.

Differential Revision: https://reviews.llvm.org/D86529
2020-08-29 15:15:22 +03:00
..
MCDisassembler Make helpers static. NFC. 2020-07-09 13:48:56 +02:00
MCParser [AArch64] Generate and parse SEH assembly directives 2020-08-29 15:15:22 +03:00
CMakeLists.txt [NFC][XCOFF][AIX] Refactor get/setContainingCsect 2020-04-03 13:33:12 +00:00
ConstantPools.cpp [MCStreamer] De-capitalize EmitValue EmitIntValue{,InHex} 2020-02-14 23:08:40 -08:00
ELFObjectWriter.cpp Revert "Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets" 2020-08-07 10:56:33 -07:00
LLVMBuild.txt
MCAsmBackend.cpp
MCAsmInfo.cpp [MC] Default MCAsmInfo::UseIntegratedAssembler to true 2020-04-11 10:13:52 -07:00
MCAsmInfoCOFF.cpp [MC] Default MCAsmInfo::UseIntegratedAssembler to true 2020-04-11 10:13:52 -07:00
MCAsmInfoDarwin.cpp [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp [XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s) 2020-07-06 15:49:15 +00:00
MCAsmMacro.cpp
MCAsmStreamer.cpp [AArch64] Generate and parse SEH assembly directives 2020-08-29 15:15:22 +03:00
MCAssembler.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCCodeEmitter.cpp
MCCodeView.cpp [MC][NFC] Use camelCase style for functions in MCObjectStreamer 2020-04-20 20:09:20 -07:00
MCContext.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCDwarf.cpp [MC] Rename a misnamed function. NFC. 2020-06-18 20:18:19 +07:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp Clean up warnings after a2c8cd1812 2020-04-30 17:01:30 +02:00
MCExpr.cpp [PowerPC][PCRelative] Thread Local Storage Support for Initial Exec 2020-08-21 10:13:11 -05:00
MCFragment.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCInst.cpp
MCInstPrinter.cpp [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
MCInstrAnalysis.cpp [MC] Move MCInstrAnalysis::evaluateBranch to X86MCInstrAnalysis::evaluateBranch 2020-04-29 23:23:52 -07:00
MCInstrDesc.cpp [MC] Move deprecation infos from MCTargetDesc to MCInstrInfo 2020-03-29 21:20:40 +02:00
MCInstrInfo.cpp [MC] Move deprecation infos from MCTargetDesc to MCInstrInfo 2020-03-29 21:20:40 +02:00
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachOStreamer.cpp Clean up warnings after a2c8cd1812 2020-04-30 17:01:30 +02:00
MCMachObjectTargetWriter.cpp
MCNullStreamer.cpp [MC] De-capitalize MCStreamer::Emit{Bundle,Addrsig}* etc 2020-02-15 09:11:48 -08:00
MCObjectFileInfo.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCObjectStreamer.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCObjectWriter.cpp
MCRegisterInfo.cpp
MCSchedule.cpp
MCSection.cpp [MC][COFF][ELF] Reject instructions in IMAGE_SCN_CNT_UNINITIALIZED_DATA/SHT_NOBITS sections 2020-04-15 21:02:47 -07:00
MCSectionCOFF.cpp [MC][COFF][ELF] Reject instructions in IMAGE_SCN_CNT_UNINITIALIZED_DATA/SHT_NOBITS sections 2020-04-15 21:02:47 -07:00
MCSectionELF.cpp [MC] Set sh_link to 0 if the associated symbol is undefined 2020-08-03 13:43:48 -07:00
MCSectionMachO.cpp [MC] Replace MCSection*::getName() with MCSection::getName(). NFC 2020-04-15 18:35:27 -07:00
MCSectionWasm.cpp MCSectionWasm.h - reduce includes to forward declarations. NFC. 2020-06-27 10:03:34 +01:00
MCSectionXCOFF.cpp [XCOFF][AIX] Use TE storage mapping class when large code model is enabled 2020-08-10 19:52:10 +00:00
MCStreamer.cpp [MC] [Win64EH] Fill in FuncletOrFuncEnd if missing 2020-08-29 15:15:22 +03:00
MCSubtargetInfo.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MCSymbol.cpp
MCSymbolELF.cpp
MCSymbolXCOFF.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCTargetOptions.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCTargetOptionsCommandFlags.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCValue.cpp
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp [MC][NFC] Use camelCase style for functions in MCObjectStreamer 2020-04-20 20:09:20 -07:00
MCWin64EH.cpp [MC] [Win64EH] Fill in FuncletOrFuncEnd if missing 2020-08-29 15:15:22 +03:00
MCWinCOFFStreamer.cpp [COFF] Add cg_profile directive and .llvm.call-graph-profile section 2020-07-10 17:07:30 -07:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp [AIX] supporting the visibility attribute for aix assembly 2020-06-09 16:15:06 -04:00
MachObjectWriter.cpp [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
StringTableBuilder.cpp
SubtargetFeature.cpp
WasmObjectWriter.cpp [WebAssembly] 64-bit (function) pointer fixes. 2020-07-16 14:10:22 -07:00
WinCOFFObjectWriter.cpp [MC] [COFF] Make sure that weak external symbols are undefined symbols 2020-07-24 22:15:08 +03:00
XCOFFObjectWriter.cpp Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file." 2020-08-27 11:07:58 -04:00